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:
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.
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.
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