Cliente Side Web
Arquitetura de aplicações web no client-side
Aplicações web no client-side podem ser:
Isoladas (dispensando o server-side), possuindo apenas o front-end.
Exemplo: uma aplicação JavaScript que mostra a hora local nas principais capitais mundiais;
Isoladas (dispensando o server-side), mas possuindo tanto front-end quanto back-end.
Exemplo: uma aplicação JavaScript de controle de tarefas que armazene os dados no local storage do navegador;
| Eduardo Erlo TchêLinux 2014 |
O client-side comunica-se com o server-side através de requisições HTTP, cujo formato da resposta é HTML, sendo assim diretamente processada pelo navegador.
Exemplo: uma tradicional aplicação Struts de controle de entregas;
· Integradas com o server-side, mas agora executando tanto o front-end quanto uma parte do back-end no client-side, que se comunica com outro back-end no server-side.
As aplicações inteligentes no client-side abordadas neste artigo seguem o quarto cenário apresentado, utilizando o estilo arquitetural REST e o formato de dados JSON.
Aplicações Híbridas
Na grande maioria dos casos, aplicações híbridas trazem a resposta para os desenvolvedores que desejam desenvolver para muitas plataformas, sem grande perda de desempenho.
Essa abordagem permite ao desenvolvedor criar um núcleo do programa de forma nativa, o que permite que haja um controle sobre as funcionalidades (e pode permitir acesso à dispositivos do smartphone) da aplicação, e, dentro da aplicação, uma parte multiplataforma.
Isso faz com que, em suma, a experiência do usuário que está utilizando a aplicação em um iOS seja a mesma que um em um Windows Phone, por exemplo, o que é muito importante em grande parte das aplicações.
Essa abordagem híbrida vem ganhando muito destaque nos últimos tempos, pois permite que o desenvolvedor aprenda apenas o básico sobre cada uma das plataformas, uma vez que a parte principal da aplicação será desenvolvida utilizando tecnologias web.
Porém, novamente, há um porém: a conexão à internet. No caso do iOS, por exemplo, o controle WebView não suporta off-line caching, que serviria para salvar o estado da aplicação e utilizá-la, de alguma forma, sem conexão à internet.

Para finalizar esse artigo, é preciso lembrar de uma palavra chave, que foi discutida ao longo do texto: planejamento.
Toda aplicação móvel precisa criar algum tipo de experiência com o usuário para ser interessante e utilizável.
É por isso que as grandes empresas costumam realizar todos os tipos de pesquisas de campo antes de começar o desenvolvimento de qualquer produto.
Por isso, é preciso sempre pensar no que é melhor para o usuário, antes de pensar no que é melhor para o desenvolvedor.
Uma aplicação pode ser muito mais simples de ser desenvolvida usando tecnologias web. Porém, se aquele não for o melhor caminho para ela, invariavelmente ela não será um sucesso de vendas.
Aqui, vale um dica importante: coloque em uma planilha tudo que há de mais importante em uma aplicação móvel: interface e experiência do usuário, interoperabilidade, segurança, cosmética, funcionalidade, desenvolvimento, independência de plataforma, acesso a redes sociais, entre outros.
Tudo o que você conseguir pensar que possa ser importante para a aplicação. Uma vez feito isso, dê uma nota para cada um dos tipos de desenvolvimento: nativo, web e híbrido. A partir desse estudo, é possível ter uma boa ideia do que esperar antes de começar a desenvolver realmente a aplicação.
As “shells” permitem acesso a características especificas das plataformas “mobile” tais como GPS, camera, ou a aparência fornecida pelo UI da plataforma, etc

O diagrama acima mostra a comparação entre os vários tipos de estratégias de desenvolvimento de aplicações e indica a sua aptidão multi-plataforma, crescente da esquerda para a direita.
“Hybrid Apps” combina as vantagens de desenvolvimento de ambos os tipos de aplicações, “Web” e “Native”, e é a melhor escolha para criar aplicações multiplataforma.
Abaixo estão a vantagens de usar tecnologia hibrida de desenvolvimento de aplicações:
Hybrid Apps
No caso destas aplicações, a maior parte das mesmas são desenvolvidas usando padrões de Web e envolvidas numa “Shell” nativa.As “shells” permitem acesso a características especificas das plataformas “mobile” tais como GPS, camera, ou a aparência fornecida pelo UI da plataforma, etc
O diagrama acima mostra a comparação entre os vários tipos de estratégias de desenvolvimento de aplicações e indica a sua aptidão multi-plataforma, crescente da esquerda para a direita.
“Hybrid Apps” combina as vantagens de desenvolvimento de ambos os tipos de aplicações, “Web” e “Native”, e é a melhor escolha para criar aplicações multiplataforma.
Abaixo estão a vantagens de usar tecnologia hibrida de desenvolvimento de aplicações:
- Multiplataforma & Partilha de código - “Code” apenas uma vez e usamo-lo para fazer o “deploy” em várias plataformas de dispositivios móveis. Usa o mesmo código de interface “UI” HTLM / third party library code para múltiplos dispositivos.
- Chamadas nativas usando a “Native Shell”
- O modo offline permite ter acesso à aplicações mesmo que a internet não se encontre disponível.
- Permite que um grande número de utilizadores possa obter a aplicação devido ao seu carácter multiplataforma.
- Pode-se aproveitar o dispositivo móvel para processamento, o que não é possível com aplicações web.
- Distribuição através da AppStore transmite uma sensação nativa relativamente aos updates (?).
- Pode-se oferecer notificações relativamente a uma determinada aplicação e seus respectivos updates.
Numa arquitetura multiplataforma usando métodos híbridos, a aplicação é desenvolvida usando tecnologias Web tais como HTML5, Javascript e CSS mas que correm dentro da “Shell” nativa da plataforma Mobile.
As aplicações hibridas usam um tipo de web control/ web app template para apresentar o Web UI de maneira a que seja possível “codifica-lo” em tecnologias Web. Graças à sofisticação cada vez maior de ferramentas multiplataforma, o desempenho e melhorado drasticamente, e tanto o aspecto como a sensação que temos ao utilizar a aplicação é quase tao bom como ao UI nativo.
Hybrid Server App
Podemos criar uma aplicação Web Mobile, hospeda-la num servidor e simplesmente chamar o url na shell nativa.
Nesta abordagem o processamento será todo feito no servidor.
Podemos melhorar o desempenho fazer um “local caching”, apesar de não ser o ideal para aplicações cujo desempenho é crítico.
Mudanças no Deploying serão fáceis pois basta mudar o código e por no servidor. Para criar uma aplicação Hybrid WP8
usando esta abordagem:
Adicionamos um controle WebBrowser para a página da aplicação e direciona-lo para a aplicação Web hospedada no servidor.
Com isto a nossa aplicação multiplataformas fica instantaneamente pronta.
Links Fontes:
http://www.devmedia.com.br/aplicacoes-moveis-nativas-ou-web/30392
http://www.teclogica.com.br/blog/desenvolvimento-para-dispositivos-moveis-nativo-
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%
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
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/
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
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