Publicidade

Anuncios Google

sexta-feira, 19 de setembro de 2014

Aplicativos híbridos com o Phonegap Parte III



Third Party Frameworks

Apache Cordova PhoneGap, Sencha Touch & Xamarin Mobile são exemplos de ferramentas multiplataforma que fornecem o “embrulho” sobre as APIs. 
Isto ajuda na compatibilidade multiplataforma. Escrevemos o codigo numa linguagem e compilamos para as plataformas (?) alvo como WP, iPhone, android ou outros dispositivos suportados. 

Apache Cordova

Proporciona algumas das librarias JavaScript que podem ser invocadas, com código específico do dispositivo para as respectivas librarias JavaScript. 

Conclusão

Vimos quais e que são as vantagens da arquitetura multiplataforma e como e que a podemos implementar usando varias estratégias de desenvolvimento. 
Não existe uma metodologia que é sempre melhor, devemos utilizar aquela que serve melhor os nossos prepósitos. 
Arquitetura multiplataforma e altamente recomendável para aplicações empresariais visto que diminui o tempo necessário para chegar ao mercado pois ao utilizarmos código já existente podemos chegar aos nossos clientes alvos de plataformas diferentes de uma maneira muito mais rápida.

Linguagens de desenvolvimento



A Tabela 1 traz uma comparação das tecnologias dos principais sistemas operacionais do mercado.

Sistema Operacional
Linguagem de desenvolvimento preferencial
Tecnologia de interfaces
IDE
SO de desenvolvimento
iOS
Objective-C
Cocoa Touch
XCode
MacOS
Android
Java
Eclipse Android Studio
Windows, Linux, MacOS
Windows Phone
C#
Metro
Visual Studio
Windows





Observando a grande diferença de tecnologias, os desenvolvedores começaram a pensar em maneiras de criar aplicações que fossem compatíveis com todos os dispositivos. Foi esse descontentamento geral que fez com que os desenvolvedores buscassem novas alternativas para o desenvolvimento de aplicações móveis. Com o grande avanço da internet móvel, aplicações móveis utilizando tecnologias da web passaram a ser uma realidade nos smartphones.


Frameworks disponíveis

  • Titanium


Usa
tecnologias web como HTML, CSS, JS, Python, Ruby e PHP
Pode
construir aplicativos móveis e para desktop
Possui
built-in analytics
Pode
acessar recursos do telefone como GPS e native UI
Suporta
iPhone, iPad e Android

  • Ramp


Usa uma máquina virtual no telefone para executar aplicativos
escritos em UXML,
CSS e JS
Constrói
aplicativos móveis e para desktop
Tem
grande foco em segurança
Suporta
anúncios dentro dos aplicativos
Tem
um server-side que permite integração com sistemas internos da empresa
como intranets ou CRM
Suporta
uma vasta gama de telefones

  • J2ME Polish


Usa
o padrão J2ME para aplicativos e tem uma ferramenta que pode transportar o
aplicativo para vários outros telefones, incluindo iPhone, Blackberry e
Android usando seus componentes native UI.

  • PhoneGap


Usa
HTML e JavaScript para construir aplicativos
Oferece
acesso a recursos do telefone como GPS
Suporta
iPhone/iPad, Android, Palm, Blackberry e Symbian

  • Grapple


Usa
HTML, CSS e JavaScript para construir aplicativos
Oferece
uma série de serviços profissionais como criação de aplicativos,
hospedagem, gerenciamento etc

  • Open Plug


Usa
Flex para construir aplicativos
Suporta
iPhone/iPad, Android, Windows Mobile, Symbian, mas pode ter problemas com
o último Contrato de Licença da Apple devido ao seu uso de Flex e à sua
ligação com a Adobe)

  • Rhomobile


Usa
HTML5 e Ruby
Hospeda
o IDE (Integrated Development Environment)
Suporta
iPhone, Windows Mobile, RIM, Symbian e Android
Oferece
acesso a recursos do telefone como GPS e câmera





Aplicativo Cross-Platform


O desenvolvimento Cross-Platform, consiste em um desenvolvimento único para várias plataformas. 

Atualmente, existem várias ferramentas que permitem essa abordagem, onde a parte visual é normalmente desenvolvida em HTML 5 e CSS e que são “renderizados” em um browser embutido no SDK padrão da linguagem nativa (Objective-C do iOS, Java do Android, etc.) tornando assim possível o desenvolvimento para várias plataformas. Abaixo são listadas duas das principais ferramentas do mercado e que foram utilizadas internamente:


Adobe Air: 




Utilizando o Adobe Air é possível programar em Actionscript 3.0 em background e desenvolver a parte visual utilizando MXL (linguagem de marcação da Adobe) ou ainda utilizando HTML 5/CSS. 

Atualmente é possível criar versões para Android, iOS e Blackberry Tablet OS. Para instalar um aplicativo desenvolvido utilizando o Adobe AIR é necessário ter instalado no dispositivo o Adobe AIR Runtime. 

Entretanto, ao tentar instalar um aplicativo desenvolvido no AIR, automaticamente é solicitada a instalação do o Adobe Air Runtime.  

O SDK do Adobe Air é totalmente gratuito, porém, o Flash Builder que é uma IDE também desenvolvida para Adobe, com uma série facilidades para desenvolvimento é paga. 


A referência da linguagem (Actionscript) é bem detalhada, porém a documentação da parte visual não é tão rica.


Motorola Rhomobile

A plataforma Rhodes foi adquirida pela Motorola no início de 2012 se tornando Rhomobile. No Rhomobile é possível desenvolver em Ruby, com o framework parecido com o já famigerado Rails, já a parte visual pode ser desenvolvida em HTML5 e CSS. Ao criar um projeto novo, já está incluso um “skin” em CSS de cada plataforma.  

A própria criação do projeto já contém uma rotina que determina em qual plataforma o aplicativo está rodando.  

Também possui uma vasta camada de abstração de banco de dados, tornando esta parte do desenvolvimento simples. 

Em contrapartida, a parte da sua API que trata requisições HTTP e Threads ainda é muito instável, além disso, a documentação e o suporte no Brasil deixam a desejar, principalmente nas questões de licenciamento do produto.


Outras ferramentas disponíveis no mercado:


  • PhoneGap
  • Appcelerator Titanium SDK
  • MoSync
Aplicativos desenvolvidos em ferramentas cross-platform, geralmente diminuem consideravelmente o custo de um projeto, principalmente quando várias plataformas são envolvidas. 

Porém pelo fato de ser genérico, o acesso a recursos nativos se torna mais trabalhoso e frequentemente problemático. 

A parte visual também se transforma em um problema, pois em algumas ferramentas se comporta de maneira substancialmente diferente nos vários dispositivos suportados. 

Sendo assim, frequentemente é utilizado no desenvolvimento de aplicativos simples que não necessitam tanto de recursos nativos.



Sench Touch -> CLIQUE AQUI PARA CONHECER O SITE


Proporciona valiosos HTLM5 framework e api wrappers nativos. “Codificamos” uma vez e compilamos para uma diferente plataforma mobile fazendo dela uma aplicação multiplataformas. 

A grande promessa para as aplicações moveis é o HTML 5 que gerou uma polemica entre os developers do Facebook e Sench touch, o HTML 5 promete ser a solução para rodarmos aplicações nos dispositivos moveis, porém o pessoal do face não conseguir criar uma aplicativo bom e disse que o HTML5 ainda não estava instável que gerou um certo desconforto e incomodo no pessoal do Sancho touch que desenvolveu o Fastbook totalemnte em html 5 que provou ser mais rapido que o aplicativo desenvolvido pela própria equipe do facebook. Atualmente o próprio Firefox OS Mobile é totalmente desenvolvido com HTML5, Java e PHP.



Site Móvel (Web Mobile)

Com a popularização do HTML 5 e a sua adoção pelos navegadores dos dispositivos móveis, abriu-se uma nova frente para o desenvolvimento: 
os sites móveis.

O acesso aos recursos do dispositivo como câmera, GPS, acelerômetro etc., é possível, embora complicado em alguns momentos.

Um site móvel não depende de uma loja de aplicativos e a sua respectiva política de avaliação. 
Isso permite entregas rápidas, onde existe uma ágil implementação de novos recursos e correções de erros. O fato de não necessitar de instalação por parte do usuário também pode ser contado como um fator positivo. Em um site móvel não se deve simular o visual e comportamento de um aplicativo nativo. Usuários sabem distinguir entre uma ótima experiência em um aplicativo nativo e uma ótima experiência um site móvel. Para obter essa ótima experiência, a atenção deve ser focada em construir um site que tenha uma ótima usabilidade em telas de toque e/ou pequenas.
O custo de construir um site móvel é mais baixo do que construir aplicativos nativos para cada plataforma. É mais comum a existência de profissionais que conheçam a tecnologia envolvida. 
Entretanto, os sites móveis, obviamente tem um requisito principal, acesso à internet. 
Embora isto seja um requisito básico, nos Estados Unidos e na Europa, no Brasil a rede móvel ainda não é tão comum nos smartphones e tablets. Por isso, um site móvel torna-se mais interessante quando o aplicativo necessite essencialmente de acesso a web.



Links Fontes:
http://www.devmedia.com.br/aplicacoes-moveis-nativas-ou-web/30392  
http://www.teclogica.com.br/blog/desenvolvimento-para-dispositivos-moveis-nativo-
x-cross-platform/  
http://www.cpgls.ucg.br/7mostra/Artigos/AGRARIAS%20EXATAS%20E%20DA%
20TERRA/Desenvolvimento%20em%20Smartphones%20-%20Aplicativos%20Nativos%20e%20Web.pdf  
http://developer.nokia.com/community/wiki/Arquitetura_de_aplica%C3%A7%C3%B5es
_multiplataforma_para_dispositivos_m%C3%B3veis http://www-03.ibm.com/software/products/pt/category/mobile-application-development http://www.cin.ufpe.br/~tg/2003-1/vaab.PDF  
http://www.devmedia.com.br/turbinando-aplicacoes-com-rest-e-backbone-js/29692  
http://pt.wikipedia.org/wiki/Linguagem_server-side http://tecnologia.terra.com.br/
internet/quotnosso-maior-erro-foi-apostar-em-html5quot-diz-zuckerberg,4b98201fd70ea310VgnCLD200000bbcceb0aRCRD.html  
http://www.midiatismo.com.br/midias-sociais/mark-zuckerberg-fala-sobre-erros-acertos-e-rumores-no-techcrunch-disrupt-sf-2012 http://pt.stackoverflow.com/questions/1630/afinal-phonegap-apache-cordova-realmente-compila-as-aplica%C3%A7%C3%B5es-em-puro-c%C3%B3digo  
http://pt.wikipedia.org/wiki/GitHub


Nenhum comentário:

Postar um comentário