Oi pessoal, voltamos para nosso segundo papo e agora vou falar um pouco o que é o Apache Cordova ( https://cordova.apache.org/), como ele funciona e como utilizá-lo.
Basicamente o Cordova é um conjunto de APIs (bibliotecas de software) que permitem acessar as funções do dispositivo (tablet ou celular), tais como a câmera, o acelerômetro e outros, a partir de um código desenvolvido em Javascript.
Ok, então quer dizer que os dispositivos respondem a comando JS ? Não diretamente. Para conseguir esta mágica o Cordova precisa dos plugins, que são os verdadeiros responsáveis pela iteração entre javascript e funções do aparelho. O Cordova, na verdade faz a orquestração de todos o funcionamento dos plugins. Os plugins são bibliotecas, desenvolvidas para cada uma das plataformas a que ele se destina, com uma interface javascript que permite acessar as funções disponíveis nestas bibliotecas. Então se eu precisar acessar o GPS do aparelho, primeiramente faço a instalação do plugin para GPS no meu projeto. Neste plugin virá um conjunto de classes java que permitem a manipulação do GPS para android, virá um conjunto de classes Objetive-C ou Swift para manipulação do GPS do iOS, virá um conjunto de classes em C# para acesso ao GPS do Windows Phone e assim sucessivamente para outras plataformas de dispositivo. Além disso, vem também um conjunto de scripts (Javascript) que podemos chamar de interfaces que permitirão acessar a estas classes nativas de cada plataforma. Algo comum de acontecer é a funcionalidade do dispositivo possuir alguma característica ou ação que você não conseguirá manipular, pelo fato do plugin não disponibilizar acesso a esta item. Mas no geral os plugins mais usados são bem completos como veremos mais a frente em outro post quando estivermos falando sobre como utilizá-los.
E onde roda o aplicativo desenvolvido com Córdova? Roda no browser! Isso mesmo no broswer. Na verdade, roda no motor do browser, ou seja, no renderizador de páginas e interpretador de javascript, que no caso do Chrome e iOS chama-se Webkit. Este motor está disponível para que os aplicativos utilizem e exibam conteúdo html através de uma componente nativo das plataformas que em geral é conhecido por WebView. O webview é uma área onde pode-se carregar um conteúdo html remoto ou local (armazenado no aparelho) e rodar programas em javascript através das telas html.
Uma observação importante que precisa ser feita é que aplicativos híbridos, como são conhecidos os apps desenvolvidos com Cordova, não são sites que ficam armazenados num servidor e são carregados para o celular a cada acesso, ou seja, todos conteúdo do app está no aparelho, dentro do programa que foi instalado. É pelo fato de estar junto ao código do app que os plugins do Cordova conseguem acessar as funcionalidades do seu aparelho, pois por questões que segurança, sites não podem acessar funções da máquina (computador ou celular) diretamente.
Portanto construir aplicativos híbridos é basicamente desenvolver programas utilizando apenas html, css e Javascript, pois toda a arquitetura do Cordova e linguagem de construção dos seus plugins é transparente para o programador.
E como acontece ? Bem, toda a plataforma tem uma estrutura de projeto definida para criação de um aplicativo com sua linguagem nativa. O cordova conhece essa estrutura para diversas plataformas, então quando criamos um projeto mobile com cordova ele é independente de plataforma, mas quando eu precisar instalar o programa em um aparelho precisarei criar o projeto para aquela plataforma do aparelho. Exemplo, depois de ter criado o projeto quero testar no android, então peço que o cordova crie um projeto android. Ele cria com todos os arquivos, classes e configurações necessárias e carrega todos meu código javascript, telas html e outros componentes que criei para dentro do projeto android, além de suas bibliotecas e plugins e com isso o projeto Android está completo e posso gerar o aplicativo. Se não ficou muito claro, don't worry! Faremos passo a passo todo esse processo num próximo post.
Para gerar o projeto de uma determinada plataforma o cordova precisa da SDK desta plataforma, portanto para desenvolver apps híbridos para iOS ainda será necessário um computador mac, pois a SDK do iOS você só consegue instalar no mac (regra), assim como para desenvolver para Windows Phone você precisará ter uma maquina com o SO Windows. Agora deve ficar mais claro porque cresce tanto o número de apps para Android, uma vez que o SDK do Android está disponível para Windows, Linux e Mac.
O Cordova roda sobre o nodejs (npm), portanto também está disponível para Windows, Linux e Mac. As plataformas mobile em que podemos gerar apps com Cordova atualmente são Android, iOS, Windows, BlackBerry, Ubuntu, Firefox, LG WebOS e FireOS. Em versões anteriores o Cordova já esteve disponível também para Palm WebOS, Bada, e Symbian.
Importante ainda falar sobre o Cordova é que, ele e o Phonegap são o mesmo projeto. A Nitobi, empresa que criou o Phonegap (primeiro nome dado) antes de ser comprada pela Adobe abriu o código e doou à Apache Software Fundation. A Adobe decidiu dar suporte ao código aberto do Phonegap e solicitou à Apache que alterasse o nome do seu projeto por razões legais, então a Apache alterou o nome para Cordova.
Hoje ficamos por aqui e no próximo post vamos passar rapidamente por outras ferramentas que, assim como o Cordova, permitem desenvolver aplicativos para várias plataformas.




Nenhum comentário:
Postar um comentário