/Desenvolvimento

voltar
/Desenvolvimento

Você deveria mesmo prestar mais atenção no Ionic

PorWellington Mitrut em

Vamos começar este texto sendo adultos e vamos combinar duas coisas: a primeira é que não importa a tecnologia em que ele é feito, aplicativo bom é aplicativo bom e aplicativo ruim é aplicativo ruim, seja ele feito com Javascript, C#, Swift, Java, Cobol, React , Lisp e seja lá o que for. E a segunda é: as pessoas estão pouco se f@#$% para a tecnologia que você utilizou pra fazer esse app, elas querem que ele funcione!

Isto posto, seguimos em frente.

Você deveria mesmo prestar mais atenção no Ionic. É sério! Se você é desenvolvedor de aplicativos mobile/ web, com toda certeza deve ter ouvido falar do Ionic 2 ou 3 nos últimos meses – senão sobre o Ionic, com certeza ouviu falar sobre o Angular 4, Typescript, Cordova ou então o webpack.

Garanto que também deve ter ouvido de alguém a seguinte frase: “Ionic só trava! Ionic é lento, ruim, feio e tem cara de melão”.

Pois bem, NÃO é esse tipo de pensamento sobre o Ionic que você tem que prestar atenção.

Indo além dos limites

Já faz algum tempo que as aplicações web deixaram de ser uma simples manipulação de Javascript, CSS e HTML e se tornaram bem mais complexas e elaboradas. Estamos com o advento do PWA a todo vapor e existem pessoas que até consideram que os aplicativos nativos estão condenados ao limbo. Isso é verdade.

Bem, em partes. Digamos que as tecnologias web tornaram a coisa bem mais complicadas para os apps nativos, pois cresceram tanto em performance quanto em versatilidade. Não necessariamente é o fim dos aplicativos nativos, mas digamos que temos uma nova e eficiente alternativa. Trataremos de PWA de forma detalhada em algum artigo futuramente.

O Ionic tem chamado muita atenção com um princípio básico. É o velho paradigma: “Write Once, Run everywhere”. Com o Ionic, você consegue um aplicativo para todas as plataformas com a mesma base de código.

Mas se você está dizendo que é tão bom, por que, então, existe tanto preconceito com os aplicativos feitos com tecnologias híbridas e por que você está querendo tanto que a gente preste atenção no Ionic?

Falando sobre o elefante branco na sala ou “por que você não é o Mark Zuckerberg”

Eu admito que no começo, as aplicações feitas com HTML, Cordova e afins perdiam feio em performance, design e usabilidade para aplicativos ditos nativos. Mas convenhamos, nossos smartphones também não eram essa coca-cola toda né?!

O iPhone 7, último até a data de publicação deste texto, tem 2GB de RAM e é considerado um dispositivo High-end, ou seja, top de linha, assim como o Galaxy S8 que tem absurdos 4GB de RAM! O meu primeiro PC tinha míseros 512Mb.

Tudo bem, mas o que isto quer dizer? Isto quer dizer que em questão de desempenho, aquele velho papo que “smartphone não aguenta aplicações pesadas” é balela.

Hoje, seu smartphone é uma ferramenta poderosa, e não é nenhum exagero falar que ele já é capaz de fazer até café (obrigado IoT), imagina abrir uma página web!

Mas prosseguindo, uma coisa que pode ter gerado bastante preconceito foi uma declaração feita lá em 2012 por Mark Zuckerberg sobre aplicativos web:

Bom, talvez para a estratégia do Facebook isso seja correto, embora tenhamos hoje um boom de aplicativos da própria empresa feitos com tecnologias web e até mesmo um framework disso. Talvez você não saiba, mas o seu querido Instagram é um app feito em HTML, CSS e Javascript.

Só que você tem que ter consciência que você não é o Markito e que talvez (estatisticamente falando) esse seu aplicativo não venha a ser o novo Facebook e nem sofrer os mesmos problemas de escalabilidade. É necessário se fazer algumas perguntas:

  • Você tem milhões pra investir no desenvolvimento deste app?
  • Você tem dois times de desenvolvedores experiêntes e prontos para fazer este aplicativo de forma nativa?
  • O seu dinheiro, sua vida e bilhões dependem do seu app para se comunicarem?

Se sim, faz nativo. Senão, considere alguns pontos bem legais sobre usar Ionic.

1. HTML, CSS e Javascript são fáceis de aprender

Nem que seja um pouquinho, nem que seja o mínimo, a maioria dos devs começou brincando com HTML e CSS e mesmo que você me diga “ah, eu não sei HTML”, não é ciência de foguetes aprender um pouco. Além do mais, o Ionic oferece uma documentação mais do que completa.

2. Novamente, você possivelmente não será o novo Facebook

É uma verdade que tem que ser dita, as pessoas gostam de sonhar que vão ser o novo disruptivo, quebrador de paradigmas, magnânimo e proparoxítono empreendedor que criou o “Uber para Xyz”, mas é difícil que isso aconteça, e mesmo que aconteça, você tem que considerar algumas estatísticas dos aplicativos nativos atualmente:

  • 60% das aplicações na Google Playstore nunca foram baixadas;
  • O usuário médio baixa menos de 3 aplicativos por mês. Metade dos usuários de smartphones baixam zero aplicativos por mês;
  • Os usuários de celular gastam a maior parte de seu tempo em aplicativos, mas 94% da receita de aplicativos vem de 1% dos editores e os usuários gastam 80% de seu tempo usando apenas 5 aplicativos (aqueles 5 que você sabe quais são);
  • 80% dos usuários que baixam um aplicativo não se tornam usuários ativos.

3. Esteja preparado para ter seu PWA

Os Progressive Web Apps estão, aos poucos, se tornando mais parte do nosso dia-a-dia. Cada vez mais você recebe aquela solicitação de adicionar o ícone à tela inicial, isso diminui bastante a fricção que um app nativo possui. Novamente, esses aplicativos estão bem performáticos, tem cara de aplicativo e não ocupam tanto espaço quanto os instalados em seu celular.

E sim, tem gente já trocando os aplicativos nativos pelo PWA

E imagine, você vai estar no celular do seu cliente sem ter que passar pela sabatina que algumas stores colocam. O Ionic já está preparado para os PWAs.

4. Tecnologias web amadureceram

Hoje é possível ter acesso aos mais diversos recursos desde hardware como Câmera, GPS, armazenamento até os mais diversos recursos que só os apps ‘nativos’ tinham. Uma outra vantagem é o Ionic Native que é um conjunto de wrappers para Ionic que usam as tais APIs nativas e dão ainda mais poder para o seu app.

5. Velocidade alta, custo baixo

Um aplicativo nativo demanda primariamente duas coisas: uma equipe que saiba desenvolver na linguagem nativa e dinheiro para manter esta equipe.

Imagine que para cada plataforma você vai ter que gastar o mesmo tanto para fazer o mesmo aplicativo com os mesmos recursos em CADA uma.

Eu garanto que você ou o seu chefe querem estar em todas as lojas possíveis e no maior número de dispositivos possível. Só que garanto que vocês também querem estar lá o quanto antes e com o menor custo. Pois bem, com o Ionic é possível se chegar lá em um tempo bem menor, com apenas uma equipe e com o custo consideravelmente reduzido.

6. Comunidade

Seja no Twitter, ou no Github, o Ionic me impressiona quando se trata de comunidade. Basta você acompanhar o Github do projeto e ver o tanto de stars, pull-requests, issues abertas e acompanhar o changelog do projeto. Isso é garantia de manutenibilidade, suporte e evolução da plataforma. E olha que eu nem vou falar de Angular 4 por hoje.

Ok, mas existe algum aplicativo grande feito em Ionic?

Já falei umas dez vezes aqui que você não é o Facebook e, possívelmente, quase que 100% de certeza, você não enfrente os mesmos problemas de escalabilidade e mesmo que tenha e se torne um grande projeto absurdo com milhões de usuários, há grandes chances de que se bem feito, você permaneça utilizando o Ionic como ferramenta padrão para seus aplicativos. Quer uma prova? Abaixo elenquei alguns aplicativos que usam Ionic, talvez você até conheça, use alguns e não sabe:

  • Untappd – Drink Socially: o que dizer desta rede social de cervejas artesanais que conheço e considero pacas? O Untappd talvez seja o melhor caso. É uma rede social em que você compartilha notas, opiniões, fotos, adiciona amigos, encontra pubs, cervejarias e ainda pode pedir um carro para ir para casa depois de uma noite de degustação. É extremamente bem feito e funcional;
  • Joule: Sous Vide by ChefSteps: o Joule é um assistente de cozinha para quem quer dar uma de master chef, extremamente bonito e fácil de usar;
  • Pacifica – Daily tools for managing stress, anxiety and depression: o Pacifica é um aplicativo de meditação e voltado para ideia de mindfulness, uma espécie de assistente para suas meditações diárias;
  • Sworkit: ainda na onda de assistentes, o Sworkit é perfeito para você que gosta de academias e de fazer tracking dos seus exercícios.

Enfim…

Espero mesmo que eu tenha feito ao menos você considerar brincar um pouco com Ionic. Ele tem evoluído cada dia mais e se preparado para as novas tendências. Além de fácil de aprender, é moderno e segue as melhores práticas de desenvolvimento da atualidade.

Não menos importante, o Ionic também está se tornando relevante para aplicações desktop, com um grid muito bom, split pane e integrações com Elektron e afins.

Acompanhe sempre o blog oficial para as novidades além das contas de Twitter oficiais.

The Official Ionic Blog

Tente, Ionic vale a pena!

De 0 a 10, o quanto você recomendaria este artigo para um amigo?

 

Deixe um comentário! 13

11 comentários

Comentários

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Comentando como Anônimo

  1. Obrigado por isso:

    “…as pessoas estão pouco se f@#$% para a tecnologia que você utilizou pra fazer esse app, elas querem que ele funcione!”

  2. Concordo com tudo que disse, aplicativo bom é bom, pro usuário isso é o que importa. Ionic é um framework que já está bem maduro, mas eu acho que a pessoa deve se aprofundar ainda mais em Html, Css e JavaScript se ele quer construir bons apps. Parabéns 🎉

  3. Belo artigo. Mas por que usar Ionic quando se tem React Native? Ionic usa AngularJS, que teve sua importância mas o tempo já foi, React é o que temos de melhor no mercado.

    1. Olha, é uma alternativa. O post mesmo foi uma desmitificação do quanto falam que o Ionic é ruim, eu trabalho com ambas e acho que podem viver em harmonia, não acho que ‘já foi’ o tempo do Angular, muito pelo contrário.

      Quer usar RN? Sussa, é uma alternativa, agora, o Ionic se apresenta bem, ele vai além dessa história que app híbrido é porcaria. Evoluiu, existe espaço para todos :D

  4. Aí você olha os primeiros comentários dos usuários na Google play:
    “Sadly, the app is horrible. Slow, after scanning it gets stuck at landscape view…”
    “How much space do I need to update this dang app?..”
    “To say it’s usability sucked would incorrectly imply it was at all useable. It really had to take a lot of effort to make something with such potential and turn it into this complete crap.”

    “Still cluttered but my Galaxy S7 keeps showing it as chewing battery in the background..”

  5. artigo totalmente fora da realidade em que se encaixa qualquer “aplicativo” que roda numa webview que ocupa a tela inteira, posso dizer isso com propriedade porque já fiz muitos aplicativos em ionic, é verdade que aplicações feitas em html não são tão lentas hoje mas existem bugs específicos de plataforma que exigem buscas exaustivas na internet e implementações de bibliotecas de mais de mil linhas, e que poderiam ser facilmente contornados se você simplesmente olhasse a documentação da plataforma e mudasse uma simples configuração no código nativo. não tem jeito, nunca vai existir um aplicativo em html que traga experiência nativa, e com o advento do react native não existe mais razão p trabalhar com ionic, já que traz consigo a possibilidade de aplicar sua experiência web. e ainda é possível trazer o seu projeto do RN para rodar na web, o skype também está trabalhando no react xp, que fornece uma api verdadeiramente cross-platform. portanto se querem realmente inovar, com performance, portabilidade e reusabilidade de código, usem react.

    1. Amigo, você disse: “já desenvolvi muito com ionic”, mas claramente não conheceu bem a versão 3. O ionic 3 foi desenvolvido em parceria com a equipe do Angular4, é um framework totalmente novo, o desempenho nem se compara ao das versões anteriores. Lembrando que Angular é mantido pela Google, tem 7 anos de mercado e é fato mais do que consumado que hoje ele já é uma tecnologia madura, que veio para ficar. Caso o ionic 3 não fosse uma promessa, a Google jamais teria disponibilizado a equipe do Angular para desenvolver o projeto a 4 mãos. Portanto, para os que tiveram uma experiência negativa com ionic, não se deixem enganar, o ionic 3 é outra coisa, completamente diferente dos anteriores, extremamente mais veloz, feito a 4 mãos com a equipe do Angular4(Google) e com foco total em desempenho mobile. Experimentem, pois eu estou experimentando e vim contar as boas novas. Ta mais do que aprovado.

leia mais
Este projeto é mantido pelas empresas:
Este projeto é apoiado pelas empresas: