| Name: | Description: | Size: | Format: | |
|---|---|---|---|---|
| 4.21 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
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.
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.
Description
Keywords
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
