Document details

A Framework for Creating Applications for Different Mobile Operating Systems

Author(s): Tavares, Pedro Jorge Madeira

Date: 2014

Persistent ID: http://hdl.handle.net/10400.6/6076

Origin: uBibliorum

Subject(s): Aplicações Móveis; Aplicações Móveis Nativas e Não Nativas; Ferramentas Multi-Plataforma; Programação Móvel; Segurança Em Plataformas Baseadas Na Web; Sistemas Para Desenvolvimento de Aplicações Móveis Multi-Plataforma; Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática


Description

The recent growth of the market share of smartphones has been bringing new companies into the mobile applications market. For these companies, these software pieces should typically have smaller life and development cycles in order to improve the productivity of the workers and react to market changes and to the clients expectations. To reduce the effort required for development and improve cost efficiency, it is thus important to develop mobile applications that are able to run on several platforms simultaneously with same code base, while assuring that the expectations of the final user are fulfilled. Because of this, many companies have been focusing some effort on searching or developing uncomplicated new means for rapidly conceiving and delivering mobile applications. This dissertation discusses a research work about systems for developing cross-platform web and mobile applications, which was the first main objective of this masters. Within this context, several existing tools were analysed, and their advantages, disadvantages and importance in the construction of mobile applications were described. These applications may be classified as native, non-native and hybrid. These classes were also subject to analysis. This initial study enabled understanding which was the most popular tool in the industry of software development for mobile devices. According to some reports on the area, PhoneGap is the one offering the most notorious panoply of functionalities and the Cross-Platform Tool (CPT) feeding most of the Cross- Platform to Mobile Development (CPMD) systems. CPMDs, which are web based platforms that elaborate on CPTs to provide communication between an application and the native Application Programming Interface (API) of a given mobile Operating System (OS), were then studied. In order to understand their way of functioning and benefits, an analysis to several similar systems was performed. The second main objective of this masters programme was to implement a CPMD. Starting from what was learned in the initial phase of the work, a requirement analysis for the conception of such systems was performed and, subsequently, the software engineering was elaborated. Some code optimizations of the code were produced during the development of the CPMD, in which several state-of-the-art security mechanisms were also implemented to assure availability, confidentiality and integrity. Since this system delivers native and non native mobile application, a comparative study between both types of applications was also performed, which enabled to better understand the trade-offs and differences in terms of performance, execution times and memory. This study embodies another contribution of this work. Apart from the dissertation, the completely functional prototype of a CPMD integrated with a CPT comprises the most visible outcome of this masters. Finally, concluding the work described herein, a survey was elaborated and delivered to a group of persons, who were asked to use the developed prototype. The idea was to assess if mobile applications and platforms like CPMDs were already seen as important business tools nowadays and also if the applications delivered by the prototype meet the respondents expectations. The improvement of some implementation, design and usability details was pointed out a possible future line of work.

O recente crescimento da quota de mercado de smartphones tem impulsionado a entrada de novas empresas no mercado das aplicações móveis. Essas empresas entendem, tipicamente, que estas peças de software devem ter ciclos de desenvolvimento e de vida mais curtos, a fim de melhorar a produtividade do trabalhador, e reagir às mudanças do mercado e necessidades dos clientes. Assim, é importante desenvolver aplicações móveis que executem em múltiplas plataformas simultaneamente com a mesma base de código, diminuindo o esforço, reduzindo os custos e obedecendo, sempre, às expectativas do utilizador final. Por estes motivos, muitas empresas têm concentrado algum esforço na procura ou desenvolvimento de novos meios para a rápida e descomplicada conceção de aplicações móveis. Nesta dissertação é relatado um trabalho de pesquisa sobre sistemas para desenvolvimento de aplicações móveis e web multi-plataforma, que concretiza o primeiro objetivo deste mestrado. Neste contexto, foram analisadas várias ferramentas existentes, descrevendo-se as suas vantagens, desvantagens e a sua importância na construção de aplicações móveis. Estas aplicações podem ser classificadas em diferentes tipos, nomeadamente em nativas, híbridas e não nativas. Estas classes são igualmente objeto de estudo. Este estudo permitiu compreender qual a ferramenta mais popular na indústria de desenvolvimento de software para dispositivos móveis. Segundo algumas pesquisas produzidas na área, a PhoneGap é a ferramenta que oferece a mais notável gama de funcionalidades e a Ferramenta Multi-Plataforma (da designação inglesa Cross- Platform Tool (CPT)) que provê sustento à grande maioria dos sistemas para Desenvolvimento Móvel Multi-Plataforma (da designação inglesa Cross-Platforms to Mobile Development (CPMDs)). Estudaram-se, de seguida, este tipo de sistemas (CPMDs), que são plataformas baseadas na web, e que usam as CPTs como base para viabilizar uma comunicação entre a aplicação final não nativa e a Interface de Programação de Aplicações (do inglês Application Programming Interface (API)) nativa do sistema operativo móvel. De forma a compreender o seu funcionamento e os benefícios do seu uso, foi feita uma análise a um conjunto de sistemas semelhantes. O segundo objetivo principal deste programa de mestrado compreendia a implementação de uma CPMD. Com base no conhecimento adquirido na fase inicial, foi efetuado o levantamento de requisitos para a sua conceção e elaborada a engenharia de software. Durante o desenvolvimento da CPMD foram produzidas algumas otimizações de código e implementados, também, alguns mecanismos de segurança modernos de forma a fornecer garantias de disponibilidade, confidencialidade e integridade. Como este sistema entrega aplicações móveis nativas e não nativas, foi elaborado um estudo comparativo entre os dois tipos de aplicações, que permitiu compreender quais as suas diferenças tanto a nível de performance, como de tempos de execução e memória. Este estudo concretiza outras das contribuições. Para além da dissertação, o resultado mais visível do trabalho realizado é um protótipo completamente funcional de uma Finalmente, e para concluir o trabalho aqui descrito, foi produzido e distribuído um questionário a um grupo de pessoas, a quem foi pedido que usassem o protótipo desenvolvido. A motivação para a sua concretização foi compreender se as aplicações móveis, bem como as CPMDs, começam já a ser reconhecidas como ferramentas de negócio importantes nos dias de hoje e também se as aplicações entregues pelo protótipo desenvolvido vão de encontro às necessidades dos inquiridos. O retoque de alguns detalhes de implementação, design e até na usabilidade do sistema, seria o foco central de uma próxima fase de desenvolvimento.

Document Type Master thesis
Language English
Advisor(s) Inácio, Pedro Ricardo Morais
Contributor(s) uBibliorum
facebook logo  linkedin logo  twitter logo 
mendeley logo

Related documents

No related documents