Artigo

65 visualizações

Publicada em

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
65
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Artigo

  1. 1. GUSTAVO MOLINA FIGUEIREDO - RA: 1177773 Especialização em Plataforma de Desenvolvimento Web UTILIZAÇÃO DO FRAMEWORK TITANIUM MOBILE PARA DESENVOLVIMENTO DE CROSS – PLATFORM MOBILE APPS Orientador: Prof. Ms. Marcos Henrique de Paula Centro Universitário Claretiano SÃO PAULO 2015
  2. 2. UTILIZAÇÃO DO FRAMEWORK TITANIUM MOBILE PARA DESENVOLVIMENTO DE CROSS – PLATFORM MOBILE APPS Resumo: A popularização dos cross-platform mobile apps (também chamados de aplicativos multiplataforma) nos últimos cinco anos desencadeou uma revolução no mercado de telefonia móvel. Este artigo teve como objetivo conceituar os cross- platform mobile apps e apresentar o Titanium Mobile, um framework Java Script responsável por criar este tipo de aplicativo. No decorrer deste artigo foram expostas as principais plataformas móveis, as estratégias para o desenvolvimento de aplicações móveis e o conceito de frameworks, enfatizando o Titanium Mobile. Para demonstrar a eficiência e os pontos positivos do Framework, um Hello World multiplataforma foi desenvolvido. Palavras-chave: Framework; Titanium Mobile; Cross – Platform; Mobile Apps.
  3. 3.  INTRODUÇÃO Atualmente, os celulares são mais uma necessidade do que um luxo visto que “desde sua criação, os aparelhos celulares passaram por um processo de evolução constante.” (KESSIN, 2008, p.2). Avanços na última década, nas tecnologias de comunicação sem fio, e a popularização de dispositivos móveis têm proporcionado novos cenários. Além de fazer chamadas, há muitas outras características que estão ganhando popularidade tais como câmera, Bluetooth e GPS. Atualmente há melhor qualidade dos sinais das operadoras (2G, 3G, 4G) e nota – se a miniaturização dos aparelhos. Sem dúvida, os aparelhos celulares possuem um papel fundamental na vida de muitos, pois, tem – se observado o crescimento do uso de dispositivos móveis em todo o mundo. A Figura 1 mostra a evolução dos smartphones. Figura 1: Evolução dos Smartphones Fonte: Adaptado de Prezotto (2014) Existem diversos fabricantes de aparelhos celulares sendo Apple, Blackberry, Motorola, LG, Nokia e Samsung os principais. Os fabricantes utilizam um SO (Sistema Operacional) em seus aparelhos e às vezes os desenvolvem, como é o caso do iOS da Apple.
  4. 4. Cada SO possui características únicas, como diferentes linguagens de programação, ferramentas de desenvolvimento, bibliotecas nativas e frameworks. Os sistemas operacionais, mais utilizados são o Android, iOS, Windows Phone, BlackBerry OS e Symbian. A arquitetura básica e o suporte a linguagem de programação de cada sistema operacional é diferente. Os aplicativos desenvolvidos para um determinado sistema operacional não são compatíveis com outros So's, logo os desenvolvedores tem que reconstruir a aplicação, o que gera um alto custo de produção e demanda muito tempo. “Ferramentas de cross-platform mobile apps estão ganhando popularidade em todo o mundo devido à sua característica para compilar o código-fonte do aplicativo para múltiplos sistemas operacionais suportados” (CASTLEDINE et. al 2011, p.100). Este trabalho tem como objetivo apresentar o Titanium Mobile, um framework Java Script utilizado para criação de cross-platform mobile apps. Serão expostos os pontos positivos e negativos deste tipo de aplicativo. Um exemplo será apresentado para demonstrar a eficiência deste framework “que está entre os mais utilizados pelas empresas de desenvolvimento de software” (VISION MOBILE, 2012). Durante o desenvolvimento, o estudo foi dividido nos objetivos específicos abaixo:  Conceituar os cross – platform mobile apps.  Identificar as principais plataformas mobile.  Citar as estratégias de desenvolvimento de aplicações móveis.  Conceituar os frameworks.  Desenvolver um cross – platform mobile app. Para atingir estes objetivos primeiramente foi feita uma pesquisa bibliográfica visando explorar pesquisas já existentes sobre o tema. Na sequência foi feito um estudo sobre as estratégias de desenvolvimento de aplicações móveis utilizando o framework Titanium. Na etapa final é desenvolvido um Hello World multiplataforma para mostrar a eficiência do framework.
  5. 5. 2. PLATAFORMAS DE DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS Segundo Prezotto (2014), com a crescente evolução das tecnologias, os dispositivos inteligentes estão cada vez mais presentes no dia a dia das pessoas. Diversos tipos de aparelhos foram criados desde o surgimento da telefonia móvel e com isso verifica – se uma utilização bastante diversificada dos dispositivos móveis. Os usuários passaram a ler e-mails, realizar transações bancárias, acessar redes sociais e diversas outras aplicações em seus smartphones e tablets. As plataformas mobile são um conjunto de tecnologias que envolvem sistemas operacionais, linguagens de programação e ferramentas de desenvolvimento. Conforme Café 2012: Desenvolver aplicações mobile não é tarefa fácil devido às várias plataformas móveis existentes. Para facilitar o desenvolvimento dessas aplicações existem frameworks de cross – platform mobile apps, também conhecidos como frameworks de desenvolvimento multiplataforma, que permitem que se escreva um único código que funcione em mais de uma plataforma móvel, o que torna o desenvolvimento mais rápido e fácil. Cada plataforma possui características próprias que as tornam mais atrativas para os consumidores e desenvolvedores. Conforme Lecheta 2013: Os consumidores geralmente procuram aparelhos fáceis de usar, com diversas funcionalidades e um ótimo custo-benefício. Os desenvolvedores procuram plataformas com uma grande quantidade de dispositivos ativos no mercado, boa documentação e suporte técnico, de fácil aprendizado, baixo custo de desenvolvimento, ambiente de desenvolvimento familiar, entre outras coisas. Android, iOS, BlackBerry, Windows Phone e Symbian são as plataformas que possuem maior parcela no mercado mundial, tanto que são apontadas pelo International Data Corporation (IDC) como plataformas dominantes. A Figura 2 mostra parcela do mercado que cada plataforma possui no primeiro semestre de 2015.
  6. 6. Figura 2: Sistemas Operacionais e suas respectivas parcelas no mercado global. Fonte: Disponível em: <http://www.idc.com/getdoc. jsp?containerId=prUS24108913>. Acesso em 15 set. 2015. 2.1 Estratégias para o desenvolvimento de aplicações móveis Segundo Prezotto (2014), ao desenvolver um aplicativo móvel, podemos utilizar uma das três seguintes estratégias: Desenvolvimento Nativo, o qual utiliza ferramentas e linguagem fornecidas pela empresa responsável pela plataforma; Desenvolvimento Web, que utiliza de linguagem HTML5, CSS e Java Script; e Desenvolvimento Híbrido, o qual se utiliza uma linguagem de script que será interpretada por uma camada intermediária pré-instalada no sistema ou embutida na própria aplicação, sendo esta responsável por interagir com o Sistema. A figura 3 ilustra as vantagens e desvantagens de cada estratégia.
  7. 7. Figura 3: Vantagens e Desvantagens das estratégias de desenvolvimento. Fonte: Disponível em:<www.developer.nokia.com/community/wiki/Cross_Platform_Mobile_Architecture>. Acesso em 28 set. 2015. 2.2 Frameworks No desenvolvimento mobile, torna – se fundamental um bom entendimento dos princípios dos frameworks, principais componentes das soluções multiplataforma, para o desenvolvimento de cross-platform mobile apps. No presente trabalho foi utilizado o framework Titanium Mobile. “Um framework é um conjunto de classes cooperativas que constroem um projeto reutilizável para uma determinada categoria de software” (Gamma, Helm, Johnson, & Vlissides, 2000, p.41.). De acordo com Fayad e Schmidt (1997), um framework é uma aplicação semi – completa, reusável, que pode ser especializada para produzir aplicações customizadas. Um framework orientado a objeto, como é o caso do Titanium Mobile, provê uma solução para uma família de problemas semelhantes por meio de um conjunto de classes e interfaces, logo os frameworks devem ser extensíveis, eficientes e de uso seguro. Ao desenvolver aplicações móveis nativas, a diversidade dos So's e a necessidade de desenvolvedores com conhecimentos distintos, são algumas das diversas dificuldades a serem enfrentadas. No contexto de cross-platform mobile apps, os
  8. 8. frameworks nos permitem criar um código único, multiplataforma, que pode ser pode ser executado em diferentes So's, ou seja, em diferentes plataformas móveis. De acordo com Prezotto (2014), os principais frameworks para cross – platform mobile apps são: PhoneGap, Sencha Touch, Mono e Titaniun Mobile. Há mais de cem frameworks diferentes para o desenvolvimento de cross-platform mobile apps, entretanto, o gráfico da Figura 4 (resultado do estudo research2guidance realizado em 2013) mostra como a maioria dos frameworks ainda é desconhecida pela comunidade dos desenvolvedores de aplicativo. As principais características dos frameworks, levando – se em consideração os mais utilizados, são mostradas na Tabela 1. Figura 4: Nível de conhecimento dos frameworks multiplataforma. Fonte: Adaptado do research2guidance (2013) Tabela 1. Principais características dos Frameworks Multiplataforma Móvel. Framework SO Móvel Alvo Grátis Linguagem PhoneGap iOS, Android, Windows Phone, BlackBerry, Symbian SIM HTML 5 , Java Script Apache Flex iOS, Android SIM Action Script, HTML 5, C++ Sencha Touch iOS, Android, Windows Phone, BlackBerry SIM HTML 5 , Java Script
  9. 9. Titanium Mobile iOS , Android, BlackBerry SIM HTML 5 , Java Script JQueryMobile iOS, Android, Windows Phone, BlackBerry, Symbian SIM HTML 5 , Java Script 3. TITANIUM MOBILE Titanium Mobile (Shackles, 2012) é um framework open source extensível e de desenvolvimento aberto que permite desenvolver aplicações verdadeiramente nativas em diferentes dispositivos móveis com uma única base de código. Atualmente na versão 3.2.2, e utilizando – se de Java Script para desenvolvimento de cross – platform mobile apps, o Titanium Mobile segue o conceito Write Once, Run Anywhere (WORA) visto que cerca de 80% do código escrito pode ser reaproveitado entre as plataformas. O Titanium Studio é o Ambiente Integrado de Desenvolvimento (em inglês Integrated Development Environment, ou simplesmente IDE) do Titanium Mobile. De acordo com Lecheta (2013), o Titanium Mobile possui APIs (Application Programming Interfaces, ou em português, Interface de Programação de Aplicativos) independentes para cada plataforma. “O Titanium Mobile possui sua própria loja virtual, a Appcelerator Marketplace, nela é possível encontrar diversos módulos que estendem as funcionalidades do framework” (Café, 2012). O processo de compilação e conversão de aplicativos (ilustrado na Figura 5) ocorre da seguinte forma: o aplicativo, desenvolvido utilizando as diversas APIs e módulos oferecidos pelo Titanium, é construído com HTML5, CSS3 e Java Script e posteriormente é compilado pelo Java Script runtime. Após a compilação, a conversão é realizada pelo Titanium Bridge (API em Java Script) que realiza a conversão entre o Java Script e as linguagens nativas de cada plataforma.
  10. 10. Figura 5: Processo de compilação e conversão dos aplicativos feitos com o Titanium Mobile. Fonte: Disponível em: < http://www.appcelerator.com/platform/titanium-platform>. Acesso em 30 set. 2015. A arquitetura do framework Appcelerator Titanium é apresentada na Figura 6. Figura 6: Ilustração da arquitetura do framework Appcelerator Titanium. Fonte: Titanium Mobile (2015) A Tabela 2 mostra as APIs disponíveis no Titanium Mobile para cada SO suportado:
  11. 11. Tabela 2. Acesso aos recursos nativos do aparelho celular pelo framework Appcelerator Titanium. Adaptado de (HARTMANN et al. 2011) 4. RESULTADOS E DISCUSSÃO 4.1 Resultados Para se demonstrar a eficiência do framework Titanium Mobile, para o desenvolvimento de cross-platform mobile apps, foi desenvolvido um Hello Word multiplataforma que funciona tanto em iOS quanto em Android. O Hello World teve como base o código nativo do iOS, desenvolvido em Objective-C e Swift, e o código nativo do Android. Abaixo tem- se os códigos do Hello World, de autoria própria, de cada plataforma. As figuras 7 e 8 ilustram os resultados obtidos. // Objective -C UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert" message:@"Hello World" delegate: nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; [alert show];
  12. 12. //Swift let alertView = UIAlertController(title: "Alert", message: "Hello World", preferredStyle: UIAlertControllerStyle.Alert) alertView.addAction(UIAlertAction(title: "OK", style UIAlertActionStyle.Default, handler: nil)) presentViewController(alertView, animated: true, completion: nil) Figura 7: Print screen do Hello World em iOS. Fonte: Autoria própria. //Java/Android AlertDialog.Builder alertDialog = new AlertDialog.Builder(this).create(); alertDialog.setMessage("HelloWorld"); alertDialog.setButton("OK", new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int id) {}}); alertDialog.show();; Figura 8: Print screen do Hello World em iOS. Fonte: Autoria própria.
  13. 13. Com a utilização do Titanium Mobile, com apenas o comando alert (''Hello World''); foi gerado o Hello World multiplataforma. A figura 9 ilustra o resultado. Figura 9: Print screen do Hello World multiplataforma. Fonte: Autoria própria. 4.2 Discussão Devido aos constantes avanços na área da telefonia móvel, está cada vez mais difícil acompanhar esta evolução. Existem diversas plataformas móveis, cada uma com suas próprias características, que as tornam únicas. A cada dia cresce o número de aplicativos nas lojas online. Com a concorrência cada vez mais acirrada entre as empresas desenvolvedoras de aplicativos móveis, a utilização do framework Titanium Mobile para o desenvolvimento de cross-platform mobile apps é uma ótima estratégia, pois, reduz o tempo gasto (dos desenvolvedores) com o aprendizado de diversas linguagens de
  14. 14. programação e o conhecimento adquirido é facilmente transferido. O Titanium Mobile apresenta um código base único que reduz duplicação de esforço. A maior vantagem desse framework é que ele não limita o desenvolvimento a uma única plataforma, ou seja, os desenvolvedores codificam a aplicação uma única vez e diversas plataformas diferentes são atingidas, com isso há uma produtividade maior para os desenvolvedores ou equipes que desenvolvem cross-platform mobile apps. 5. CONCLUSÃO Atualmente existem ferramentas diversas para o desenvolvimento de cross- platform mobile apps e com isso há uma clara preocupação das empresas com redução da complexidade, custo e tempo. O uso do framework Titanium Mobile permite a redução de custo, tempo e complexidade, entretanto, com limitações no tempo de resposta do aplicativo e total acesso aos recursos do aparelho. Embora ainda necessite de algumas melhorias, o Titanium Mobile é uma das ferramentas mais utilizadas para o desenvolvimento de aplicativos multiplataforma, pois, é flexível e é cada vez mais aperfeiçoado e difundido. O mercado dos cross-platform mobile apps cresceu significativamente nos últimos cinco anos e a tendência é continuar evoluindo até alcançar a qualidade dos aplicativos nativos visto que aplicativos multiplataforma oferecem ganhos e são desenvolvidos uma única vez, rodando em diferentes plataformas. 6. REFERÊNCIAS APPCELERATOR. Titanium Mobile Aplication Development | Appcelerator Inc. Appcelerator.com, 30 set 2015. Disponível em: <htt://www.appcelerator.com/platform/titanium-platform/>. Acesso em: 30 set. 2015 CAFÉ, Adriel Almeida. Desenvolvimento de Cross-Platform Mobile Apps Utilizando o Titanium Mobile. (2012). Monografia (Graduação) - Curso de Sistemas de Informação, Faculdade Zacarias de Góes (fazag), Valença – BA, 2012. CASTLEDINE, E.; EFTOS, M.; WHEELER, M. Build Mobile Websites and Apps for Smart Devices. Collingwood: Site Point, 2011. FAYAD, E. M. e SCHMIDT, D. C. (1997) “Object-Oriented Application Frameworks”, In: Communications of the ACM, Editora Guest, p. 32-38.
  15. 15. GAMMA, E. et al. Padrão de Projeto – Soluções Reutilizáveis de Software Orientado a Objetos. Tradução de Luiz A. Meirelles Salgado. Porto Alegre: Bookman, 2000. p. 41-43. HARTMANN, G., et al. Cross-platform mobile development. The Paddocks: Tech. Rep, 2011. IDC. Android and iOS Combine for 92.3% of All Smartphone Operating System Shipments in the First Quarter While Windows Phone Leapfrogs BlackBerry, According to IDC, 16 Maio 2013. Disponível em: <http://www.idc.com/getdoc. jsp?containerId=prUS24108913>. Acesso em: 15 set. 2015. KESSIN, Z. Programming HTML5 Applications. Sebastopol: O’Reilly, 2008. LECHETA, R. R. Aprenda a Criar Aplicações para Dispositivos Móveis com Android SDK, 3ª edição, 2013. NOKIA. Cross Platform Mobile Architecture. Nokia Developers, 2013. Disponível em: <http://developer.nokia.com/community/wiki/Cross_Platform_Mobile_Architecture>. Acesso em: 28 set 2015. PREZOTTO, E. D. Estudo de Frameworks Multiplataforma para Desenvolvimento de Aplicações Mobile Híbridas. (2014). Trabalho de Conclusão de Curso, Universidade Federal de Santa Maria (ufsm), Santa Maria – RS, 2014. © RESEARCH2GUIDANCE. Global Cross Platform Tool Benchmarking 2013.© research2guidance. Berlin. 2013. SHACKLES, G. Mobile Development with C#. Sebastopol: O’Reilly, 2012. SOUZA, Édipo Da Silva. Uma Análise Comparativa de Ferramentas de Desenvolvimento Multiplataforma para Dispositivos Móveis. (2014). Monografia (Graduação) – Curso de Sistemas e Mídias Digitais, Universidade Federal do Ceará (ufc), Fortaleza – CE, 2014. TITANIUM MOBILE. Página Oficial do Framework, 2015. Disponível em: <http://www.appcelerator.com/titanium/>. Acesso em 25 out 2015. VISION MOBILE. Cross-Platform Developer Tools 2012. London, 2012.

×