A visão geral das estruturas JavaScript: Qual escolher para o seu projeto?

Há dez anos, as empresas que desejassem criar projetos de plataforma cruzada teriam que cooperar com diferentes equipes de desenvolvimento e especialistas. No entanto, 2009 mudou o jogo, porque os desenvolvedores de Nitobi (posteriormente comprados pela Apache) apresentaram o Cordova - uma nova estrutura capaz de converter aplicativos da Web em sistemas móveis. Ao vincular as APIs dos dispositivos por meio de plugins, os desenvolvedores podem acessar smartphones e tablets. O Cordova é uma tecnologia baseada em JavaScript compatível com várias plataformas.

Neste guia, revisaremos mais três sistemas baseados em JS, examinaremos seus recursos exclusivos e compará-los.

Aplicativos para celular: tipos e recursos


Mas vamos começar com algumas coisas básicas. Para os desenvolvedores, não há segredo de que os aplicativos podem ser nativos ou híbridos. Queremos cobrir brevemente o que esses termos significam e como eles diferem.

Aplicativos nativos são aqueles criados usando um idioma nativo para uma única plataforma específica (por exemplo, Kotlin - para Android; Objective C - para iOS). O desenvolvimento de produtos de software nativos é caro, pois você precisa projetar um aplicativo totalmente novo para cada plataforma separadamente. Ao mesmo tempo, esses aplicativos podem ajudar certos sistemas a realizar todo o seu potencial.

O segundo tipo são aplicativos híbridos. Como regra, eles são baseados em idiomas uniformes e são compatíveis com diferentes sistemas operacionais. Eles são mais baratos de construir, pois você pode utilizar um conjunto de ferramentas universais para todos os sistemas. No entanto, os usuários geralmente interagem com aplicativos híbridos via WebView ou navegadores. Portanto, eles são mais lentos e também não podem fornecer a mesma experiência do usuário que os aplicativos nativos, porque não possuem recursos específicos da plataforma.

Como os produtos híbridos geralmente contam com estruturas JS, vamos verificá-los e descobrir como eles podem ajudar durante o desenvolvimento.

Onic


Foi lançado em 2013 e projetado para projetar aplicativos usando tecnologia simples como JS, HTML5 e CSS. Os produtos criados com o Ionic funcionam com plataformas móveis, desktop e online.

Observe que esta ferramenta está focada na interface do usuário em vez de soluções de back-end. Para desenvolver produtos com o Ionic, você ainda precisa de ferramentas adicionais, como o Cordova, para agrupar o código. Por enquanto, o conjunto está integrado ao Angular, enquanto as extensões para Vue e React estão em desenvolvimento.

Os programas da Ionic são executados em navegadores de baixo nível e utilizam os recursos do dispositivo, como GPS ou câmera. Como exemplo de aplicativos iônicos, gostaríamos de destacar o produto oficial do MarketWatch e a versão turca do aplicativo do McDonald's.

Nativecript


A próxima estrutura de código-fonte aberto baseada em JS foi lançada um pouco mais tarde que o Ionic. Os autores criaram o NativeScript em 2014 com o objetivo de criar aplicativos nativos por meio de JavaScript ou outra linguagem uniforme como o TypeScript. Também funciona com Angular e Vue. Os produtos finais são iguais aos criados por meio de estruturas nativas. Além disso, os desenvolvedores podem utilizar bibliotecas de terceiros sem ferramentas de quebra de código.

Para transformar elementos JS em elementos compreensíveis pelas APIs dos dispositivos, o NativeScript usa pontes - tempos de execução para interações entre interfaces e o código. Tecnicamente, é possível graças às JS Virtual Machines (por exemplo, V8 para Android e JavaScriptCore para iOS). Entre os produtos criados com essa estrutura, você deve verificar os aplicativos PUMA e Strudel.

Reagir nativo


Foi lançado em 2013, mas foi de código aberto em 2015. O React Native é uma ferramenta bem conhecida para o lançamento de aplicativos nativos, de acordo com os usuários do GitHub. Obviamente, o sistema é baseado na biblioteca React, que se concentra no design de interfaces de usuário, mas o React Native também possui muitos widgets que ajudam os desenvolvedores a oferecer experiência nativa.

Basicamente, o sistema transforma seu código em um conjunto de visualizações nativas para plataformas. Digamos, ele converte os módulos de texto iniciais no UIView para iOS e no TextView para Android. Portanto, podemos obter o layout próximo ao nativo em vez de iniciar aplicativos nas visualizações do navegador.

O React Native é amplamente popular e até os desenvolvedores do Facebook o utilizam (por exemplo, para criar novos recursos como o Wellness Check). Além disso, grandes empresas como Bloomberg, Tesla e Vogue usam essa ferramenta.

Tabela de comparação


É hora de comparar os três sistemas descritos para revelar qual é o mais adequado.

1. Usabilidade e desempenho


Em primeiro lugar, você deve encontrar a estrutura que atenda perfeitamente às suas necessidades. Isso implica que a escolha dependerá amplamente do setor em que você deseja entrar. Assim:

  • O Ionic é maravilhoso para aplicativos da Web progressivos e tem a melhor reutilização. Simplificando, representa a idéia Write Once, Run Everywhere.
  • O NativeScript lida com aplicativos mais complicados, com foco no UX / UI, por isso é maravilhoso para criar aplicativos móveis e outros produtos.
  • O React Native tem o melhor desempenho e é perfeito para aplicativos dependentes da velocidade. Tem reutilização pior e segue a idéia Aprenda uma vez, escreva em todos os lugares.

2. Widgets


Preste atenção a este ponto se você deseja implementar várias extensões:

  • Iônico. Muitos aplicativos e widgets, incluindo o Google Maps.
  • NativeScript Suporta inúmeras extensões - existem quase 1000 delas.
  • Reagir nativo. Não possui um mercado separado, mas funciona bem com aplicativos de terceiros.

3. Popularidade


Sem dúvida, o React Native é o vencedor quando se trata de popularidade. Possui mais de 1700 colaboradores, enquanto Ionic e NativeScript apresentam 272 e 119, respectivamente. A comunidade de desenvolvedores prefere usar o React Native para várias tarefas, independentemente de sua pouca reutilização.

4. Dificuldade


Aqui, tudo depende do seu conhecimento técnico. O Ionic será simples para quase todos, pois oferece uma abordagem mais compreensível da codificação. Além disso, existem muitos guias para ler sobre essa estrutura. NativeScript e React Native são bastante semelhantes. Se você conhece JavaScript, será mais fácil começar com essas ferramentas.

Qual estrutura escolher?


Em suma, você deve descrever seus requisitos exatos para selecionar a melhor ferramenta. Embora essas estruturas estejam focadas na criação de aplicativos para smartphone / tablet, elas têm abordagens e especificações diferentes. Por exemplo, o Ionic é simples e flexível, mas não pode lidar com projetos com requisitos gráficos avançados. O React possui recursos realmente altos, mas obriga a projetar uma nova interface para cada plataforma. Por fim, o NativeScript é relativamente rápido, mas os aplicativos exigem muito espaço no seu dispositivo. Escolha sabiamente!

Source: https://habr.com/ru/post/pt440992/


All Articles