Como criar um aplicativo sem saber programação nativa (Java, Swift ou Objective C)

Como criar um aplicativo pra Android e iOS sem saber Java, Swift ou ObjectiveC

Introdução

Existem diversas maneiras de desenvolver aplicações sem utilizar linguagens nativas. Nesse artigo vou citar especificamente o Apache Cordova e o framework Ionic 2 que roda sobre ele.


Top Empresas - App Híbrido


Princípio

Alguns anos atrás, a única forma de desenvolver aplicativos era utilizando as linguagens, bibliotecas e padrões nativos de cada plataforma. Desenvolvedores Android geralmente utilizam Java, e desenvolvedores iOS utilizam Swift (anteriormente utilizavam Objective C, até a Apple lançar o Swift no mercado, que traz diversas melhorias como facilidade de programação funcional, aumento de performance, diminuição na curva de aprendizado e assim por diante).

Em meados de 2008, surgiu o Phonegap. Basicamente, ele permitia que o desenvolvedor tivesse acesso à uma WebView, onde iria desenvolver todo o visual e lógica da aplicação utilizando HTML, CSS e JAVASCRIPT. O legal era que o Phonegap compilava uma aplicação nativa com a WebView, o que permite acesso aos recursos nativos do aparelho por intermédio de plugins, como Câmera, Vibração, Acelerômetros, Giroscópios, etc. 

Além disso, um dos maiores ganhos é o fato de ser possível escrever o código apenas uma vez, e compilar para diversas plataformas como Android, Windows, iOS e outros com poucas ou até mesmo nenhuma alteração.

Logo em seguida, em 2009, a Apple liberou o desenvolvimento de aplicações com Phonegap. Desenvolvedores Web, que geralmente possuem bastante conhecimento de HTML, CSS e JAVASCRIPT começaram a utilizar essa tecnologia para desenvolvimento de aplicações, que são denominadas "Aplicações Híbridas", por serem um misto de tecnologia Web e tecnologia nativa.

O projeto fez grande sucesso e em 2011 foi comprado pela adobe, e liberado sob a licença Apache, como o nome de Apache Cordova. O nome PhoneGap foi reservado pela Adobe para o seu serviço de build na nuvem, que permite compilar para o iOS, por exemplo, sem a necessidade de um Mac.


É mais lento? Perco performance? Compensa?

Após o surgimento das aplicações híbridas, surgiram diversos movimentos de crítica em relação à performance, pelo fato de não ser nativo, etc. No princípio as diferenças de performance eram notáveis, principalmente pelos Smartphones da época serem mais primitivos.

Hoje, oito anos depois, muita coisa melhorou: tanto a tecnologia do Apache Cordova, que é exaustivamente melhorada e atualizada, quanto os aparelhos que rodam aplicações híbridas de maneira que as diferenças tornam-se imperceptíveis.

É claro que existem áreas como Games, 3D, etc em que a preferência recai sobre o nativo. Cada caso deve ser analisado. Fato é que apesar de trazer diversos benefícios, é uma tecnologia que deve ser muito bem aplicada, assim como qualquer outra, pra trazer ótimos resultados.

Ou seja, não abandone o nativo. Analise. É uma aplicação crítica, que demanda performance ferrenha, animações incríveis, etc? Vá de nativo. É uma aplicação mais simples, com lista de dados baixados do servidor, perfis, etc? O Híbrido resolve com certeza. Algumas aplicações híbridas famosas: Instagram, Twitter. A primeira versão do Uber eu lembro que era híbrido também, mas não sei informar se as novas versões ainda são.


Ionic 2

O Ionic foi lançado em 2013, e rapidamente tornou-se um dos frameworks mais utilizados no mundo do desenvolvimento híbrido. Ele compila o aplicativo utilizando o Cordova, mas poupa o tempo do desenvolvedor trazendo diversas funcionalidades prontas, plugins e desenvolvimento sólido.

A primeira versão do Ionic utilizava o AngularJS 1, um Framework Javascript muito utilizado por desenvolvedores Web, que facilita muito o desenvolvimento SPA (aplicações de página única). O único problema do AngularJS 1 é que possui alguns problemas de performance que prejudicam o desenvolvimento para aparelhos menos potentes.

Recentemente (2016) foi lançado o AngularJS 2, e o Ionic 2 foi idealizado utilizando essa nova versão do framework, trazendo vantagens de performance, programação com TypeScript, compatibilidade com as últimas versões do JavaScript, visual com as últimas técnicas de design, e passou a suportar 3 plataformas: Android, Windows e iOS.


Como isso funciona?

É bem simples. Você vai programar o seu aplicativo usando os recursos do Ionic, que utiliza tecnologias web: HTML, CSS e JavaScript (AngularJS). Se precisar de algum recurso nativo, como a câmera, é só utilizar um plugin (existem os oficiais do Ionic e muitos outros de desenvolvedores independentes).

No final, o Ionic vai utilizar o Apache Cordova para compilar para cada uma das plataformas específicas.


Tiago, você já desenvolveu aplicações híbridas?

Sim, já desenvolvi, vou deixar aqui dois exemplos:

Dia na História
Top Empresas

Como podem ver são aplicações com recursos interessantes como: Localização GPS, Mapas, Login de Usuário, etc.


Quero saber mais sobre isso. Posso falar contigo?


Cooom certezaa!! Me add no skype: tiagosilvapereira1 e no email tiagosilvapereira3@gmail.com e vamos bater altos papos sobre programação. 

Bom é isso aí pessoal. Mais uma carta na manga. Sabe aquele restaurante que te pediu um App de cardápio? Que tal criar ele muito mais rápido, pra várias plataformas e ganhar uma grana legal? É pra se pensar né?

Abraços!!

Links das Tecnologias
Ionic Framework
Ionic 2
Apache Cordova


EmoticonEmoticon