Xamarin vs Ionic vs React Native vs NativeScript: desenvolvimento multiplataforma - Codificar
Desenvolvimento de Aplicativos, Linguagens de Programação
fevereiro 25, 2019 - by Raphael Canguçu
Benefícios do desenvolvimento móvel multiplataforma
Antes de analisarmos mais de perto as diferenças entre as estruturas React, Xamarin, Ionic e NativeScript, vamos discutir brevemente o valor principal do desenvolvimento de plataforma cruzada. De acordo com a pesquisa Markets And Markets, a popularidade do mercado de aplicativos multiplataforma está crescendo rapidamente e estima-se que aumente de US $ 25,19 bilhões em 2015 para US $ 80,45 bilhões em 2020. O desenvolvimento multiplataforma é uma abordagem que permite que uma única base de código seja desenvolvida para várias plataformas ou ambientes de software. Portanto, as principais vantagens do desenvolvimento multiplataforma são: Custo-beneficio. Permite investir apenas uma vez e em uma única equipe. Apenas uma tecnologia. Os desenvolvedores podem usar uma única pilha de tecnologia para uma ampla variedade de tarefas de engenharia. Código reutilizável. Até 90 por cento da base de código pode ser reutilizada de uma plataforma para outra, em vez de projetar a mesma funcionalidade em outro idioma. Facilidade de manutenção. É mais fácil manter e implantar alterações porque não há necessidade de manter os aplicativos em cada plataforma separadamente. Se você já decidiu desenvolver um aplicativo multiplataforma, o próximo desafio é decidir qual ferramenta escolher. Cada estrutura tem seus prós e contras. Consideraremos os critérios básicos de seleção dos frameworks Xamarin, React Native, Ionic e NativeScript para ajudar você a tomar a decisão certa.
O Xamarin é uma estrutura suportada pela Microsoft para desenvolvimento de aplicativos móveis multiplataforma que usa C # e bibliotecas nativas agrupadas na camada .NET. Você pode encontrar informações mais detalhadas sobre o Xamarin em nosso artigo O Bem e o Mau do Desenvolvimento Móvel da Xamarin.
O React Native é a estrutura que permite criar aplicativos móveis próximos ao nativo (não "aplicativos HTML5" ou "aplicativos híbridos") usando JavaScript e React.JS.
O Ionic é o framework que visa desenvolver aplicativos híbridos usando HTML5 e Angular.
O NativeScript é a estrutura que permite aos desenvolvedores usar o JavaScript ou seu superconjunto TypeScript para criar aplicativos móveis de plataforma cruzada que se comunicam diretamente com APIs nativas móveis. Ele pode ser usado independentemente, mas também pode ser integrado com o Angular ou o Vue.JS para compartilhar a maior parte da base de código com aplicativos da web.
O conjunto de linguagens
Xamarin: С # no núcleo do ambiente .NET
O Xamarin usa o C #, uma linguagem estaticamente tipada e o .NET framework para todas as plataformas móveis. Qualquer coisa que possa ser conseguida com Objective-C, Swift ou Java, um desenvolvedor pode fazer em C # usando o Xamarin. Os desenvolvedores devem vincular bibliotecas nativas de código aberto disponíveis para iOS e Android com Xamarin, e há uma variedade de bibliotecas .NET disponíveis. Muitos dos projetos de código-fonte aberto e interno podem ser reutilizados nos projetos Xamarin.iOS ou Xamarin.Android graças à combinação de frameworks C # e .NET.
React Native: engenharia com JavaScript e React.JS
O React Native usa JavaScript, atualmente, uma das linguagens de programação dinâmicas de alto nível mais populares. O número de desenvolvedores que usam JavaScript em seu trabalho é de 69,8%, de acordo com a última pesquisa sobre estouro de pilha. Isso significa que encontrar um desenvolvedor para seu aplicativo será bastante fácil. O React Native combina os benefícios do JavaScript e React.JS, um framework web, e é apoiado pelo Facebook. O lado forte do React Native é que ele permite escrever módulos nas linguagens Objective-C, Swift ou Java quando os desenvolvedores precisam deles. Usando módulos e bibliotecas nativas nos aplicativos React Native, você pode lidar com operações pesadas computacionalmente, como edição de imagem e processamento de vídeo, ou algumas operações não convencionais que não estão incluídas nas APIs de estrutura. Isso significa que sua equipe também deve conhecer pelo menos o básico de cada plataforma subjacente para construir esses módulos e conectá-los ao código JavaScript.
Ionic: desenvolvendo com um superconjunto de JavaScript – TypeScript
A estrutura iônica utiliza tecnologias da web, como HTML5, CSS e JavaScript, para gravar e executar aplicativos, e requer que o wrapper do Cordova acesse controladores de plataformas nativas. O núcleo iônico é escrito com Sass e foi originalmente baseado em um framework JavaScript popular – o AngularJS. A principal linguagem de programação iônica é o TypeScript, que geralmente é um superconjunto de JavaScript que é compilado para o JavaScript simples. O TypeScript aumenta a qualidade do código porque ajuda a identificar e eliminar erros durante a digitação do código. O uso do TypeScript é opcional e o aplicativo pode ser escrito em JavaScript simples.
NativeScript: TypeScript e JavaScript
Semelhante ao Ionic, o NativeScript permite escrever lógica de negócios com JavaScript e seu superconjunto TypeScript, enquanto a interface do usuário é feita com estilos XML e CSS. Mas, ao contrário de Cordova, o NativeScript não usa um wrapper baseado em WebView. Ele aproveita o tempo de execução do NativeScript com acesso nativo à API. Vamos discutir como isso é feito abaixo. A Telerik, a empresa por trás do NativeScript mais tarde adquirida pela Progress Software, também recomenda ter conhecimento básico das bibliotecas e estruturas nativas do Android e iOS, já que é possível reutilizar pacotes do npm, CocoaPods e Gradle. Também faz sentido usar os engenheiros do NativeScript for Angular e Vue.JS, pois esses frameworks podem ser perfeitamente integrados ao NativeScript para converter aplicativos da Web existentes (gravados com Angular ou Vue.JS) em dispositivos móveis. Obviamente, você precisa fazer pelo menos alguns ajustes na interface do usuário para fazer a transição do HTML para o XML e, ainda mais, para ajustar os aplicativos aos detalhes da interação móvel para Android e iOS.
Execução de código e desempenho
Xamarin.Forms e Xamarin.Android/iOS – duas abordagens para criar aplicativos
Geralmente, o desempenho do Xamarin é considerado próximo ao nativo. Mas Xamarin sugere duas abordagens para construir aplicativos móveis:
Xamarin.Android e Xamarin.iOS
Xamarin.Android e Xamarin.iOS. Os aplicativos Xamarin.Android / iOS se comportam como nativos porque seus recursos de plataforma cruzada estão focados principalmente no compartilhamento de lógica de negócios em vez de na base de código. Eles usam controles nativos da interface do usuário e aproveitam a aceleração de hardware específica da plataforma. Ele ajuda a alcançar o desempenho próximo ao nativo que não pode ser feito com soluções que interpretam o código em tempo de execução. Xamarin compila C # em código de máquina, mas mais sobre isso abaixo. Xamarin.Forms. Ao contrário do Xamarin.Android/iOS, o Xamarin.Forms está focado no amplo compartilhamento de código com menos comportamentos específicos da plataforma. Noventa e seis por cento do código-fonte podem ser reutilizados com o Xamarin.Forms. De acordo com as medições em nossa pesquisa de desempenho Xamarin, isso reduz significativamente o desempenho do código em muitas operações, em comparação com o Xamarin.Native e o desenvolvimento nativo puro. Quanto à compilação de código, o C # é compilado em linguagens nativas de baixo nível de diferentes maneiras em cada plataforma através do tempo de execução Mono. AOT para iOS. Compilação Ahead of Time (AOT) é usada para iOS. AOT significa que a compilação do código-fonte no código nativo acontece antes do lançamento do aplicativo. JIT para Android. A compilação Just-in-time (JIT) é comumente usada para Android. JIT significa que o código é compilado em nativo durante a execução. A compilação JIT não é aplicada para iOS. Mas tanto o AOT quanto o JIT podem ser usados ​​no Android.
React Native: renderizando para as APIs nativas
O desempenho do React Native está próximo do nativo porque renderiza componentes de código diretamente para as APIs nativas usando a máquina virtual JavaScriptCore para iOS e Android. Embora o JavaScriptCore esteja incluído no iOS por padrão, o React deve instalar a VM no Android, o que aumenta um pouco o tamanho do aplicativo para Android. O React também permite o uso de módulos iOS e Android nativos escritos em Objective-C e Java. Eles não podem ser reutilizados nas duas plataformas e seu objetivo principal é alcançar tarefas que não estão incluídas nas APIs JavaScript de plataforma cruzada. Eles também podem ser úteis para obter um desempenho mais alto em operações complicadas, como edição de imagem ou reprodução de vídeo. Para conectar-se a módulos nativos, você precisa criar as chamadas APIs de ponte, tanto para Android quanto para iOS. Como mencionamos, isso requer o entendimento de plataformas nativas para aproveitar totalmente o framework. O restante da base de código pode ser compartilhado entre plataformas. Geralmente, os aplicativos React Native podem compartilhar de 80 a 90% do código JS. O uso de bibliotecas nativas também otimiza o desempenho do aplicativo. React Native usa a compilação JIT para Android, mas não fornece AOT para iOS. No caso do iOS, ele não compila, mas interpreta o código JavaScript. Nota rápida: A diferença entre compilação e interpretação é que a compilação transforma o código fonte na linguagem de nível inferior, enquanto a interpretação executa diretamente uma instrução em uma linguagem de programação traduzindo-a em qualquer lugar. Interpretação leva mais tempo na execução geral, mas menos tempo para analisar o código-fonte. Contrastando com isso, um compilador precisa de mais tempo para analisar o código-fonte, mas o tempo de execução geral é menor.
Ionic: usando tecnologias da web para renderizar
O desempenho do Ionic não é tão próximo do nativo quanto o Xamarin ou o React Native, pois usa tecnologias da Web para renderizar um aplicativo. Essa abordagem reduz muito a velocidade. Além disso, o iônico não usa componentes nativos e tenta recriar o comportamento nativo usando tecnologias da web. Para conectar o aplicativo a APIs nativas, o Ionic usa o wrapper nativo Cordova e adapta o comportamento do aplicativo à plataforma subjacente. O lado forte do Ionic é um processo de teste muito rápido. Pode ser executado instantaneamente em um navegador. A estrutura também vem com muitos componentes pré-fabricados e pré-estilizados que simplificam o ciclo de desenvolvimento. Para executar o código, o Ionic usa a compilação JIT para Android e o WKWebView, um navegador de plataforma, como o padrão para iOS. Como mencionamos, geralmente é impossível executar a compilação JIT no iOS, mas há uma exceção. O WKWebView no iOS suporta o JIT. Como resultado, o objeto WKWebView é usado para incorporar conteúdo da web no aplicativo. O WKWebView fornece a conversão JIT do código JS para o código da máquina, melhorando o desempenho da renderização. No entanto, o Ionic não pode alcançar resultados de desempenho comparáveis ​​ao React Native e Xamarin em aplicativos complexos e ricos.
NativeScript: conexão de APIs nativas com máquinas virtuais JavaScript
O NativeScript, semelhante ao React Native, apresenta resultados de desempenho próximos a aplicativos nativos, devido à conexão direta com APIs nativas com uma pequena diferença. Reagir Nativo requer que você crie APIs de ponte. O NativeScript injeta diretamente APIs do iOS e Android em máquinas virtuais JavaScript. Isso simplifica o desenvolvimento e permite o acesso direto a APIs nativas sem escrever pontes e empregar a experiência com Android, iOS e JavaScript simultaneamente. Outra diferença é que o NativeScript usa JavaScriptCore apenas para iOS e executa o Android via máquina virtual V8. Como você provavelmente se lembra, o React Native usa JavaScriptCore para ambos. Quanto à reutilização de código, você pode compartilhar sua base de código em aplicativos da Web baseados em iOS, Android e Angular. Atualmente, os engenheiros do NativeScript buscam 90 por cento de compartilhamento de código em iOS e Android. O NativeScript usa a compilação JIT para Android e interpreta o código para iOS.
Xamarin: aparência nativa com Xamarin.Android/iOS e mapeamento automatizado de interface do usuário em Xamarin.Forms
Xamarin permite que você crie a interface do usuário de duas maneiras: usando Xamarin.Android/iOS ou Xamarin.Forms. Xamarin.Android/iOS. A primeira abordagem envolve o trabalho da interface do usuário nativa específica da plataforma: os engenheiros podem criar uma interface do usuário com controles e layouts nativos da interface do usuário. Essa abordagem consome muito tempo, mas essa divisão garante aparência e comportamento nativos para um aplicativo para dispositivos móveis. Xamarin.Forms. A segunda maneira é usar o Xamarin.Forms que mapeia automaticamente cada página e seus controles para elementos de interface específicos da plataforma no tempo de execução. Com o Xamarin.Forms, você pode tornar o processo de desenvolvimento muito mais rápido e economizar muitos recursos ao custo da aparência e comportamento nativos. No entanto, o Xamarin.Forms pode ser uma boa solução para projetos internos e corporativos, em que a parte da interface do usuário não é tão importante quanto em aplicativos públicos.
React Native: interação com controladores iOS / Android nativos e o uso de bibliotecas ReactJS
Os módulos do React Native interagem com os controladores nativos do iOS e do Android, o que permite que a experiência do usuário seja próxima aos aplicativos nativos. Ele também usa a biblioteca ReactJS com extensos componentes da interface do usuário, que podem otimizar o desenvolvimento da interface do usuário. Como resultado, o React Native tem muitos componentes de interface de usuário prontos para uso, como botões, módulos e controles deslizantes, que fazem o desenvolvedor trabalhar mais rápido.
Ionic: use o Cordova para recriar o comportamento nativo
A Ionic UI não usa componentes nativos e processa tudo em HTML e CSS. Em seguida, aplica-se o Cordova para recriar o comportamento móvel nativo. Componentes angulares que vêm com o framework também ajudam o Ionic a se parecer com o nativo. Atualmente, o Ionic vem com novos elementos de interface do usuário e layouts de estilo nativo que não existiam na Web, e estavam disponíveis apenas com SDKs nativos no iOS e no Android.
NativeScript: escreva uma vez, execute em todos os lugares
Enquanto o NativeScript permite que você ajuste a interface do usuário a todas as plataformas de forma independente, parece que a equipe por trás do framework defende o compartilhamento de código entre plataformas. Essa mentalidade arrasta o NativeScript para mais perto das abordagens de interface do usuário praticadas pelos desenvolvedores Ionic e Xamarin.Forms: compartilhando o máximo possível e negligenciando uma aparência nativa. Como um lembrete rápido, tanto o React Native quanto o Xamarin Android / iOS incentivam a criação de interface de usuário separadamente. Por outro lado, o acesso à API da plataforma oferece resultados de desempenho equivalentes a outros aplicativos nativos interplataformas. Do ponto de vista técnico, a interface do usuário é armazenada em arquivos XML com estilo CSS, enquanto a lógica de negócios fica em arquivos JavaScript ou TypeScript. Atualmente, o TypeScript é fornecido com um conjunto decente de plugins e modelos.
Codificando, construindo e depurando
Xamarin: aproveitando o ecossistema do Visual Studio
Como o Xamarin é um produto orientado pela Microsoft, você precisa do Visual Studio para desenvolver, criar e depurar aplicativos. O Visual Studio é um IDE popular e robusto para usar se você trabalha com qualquer projeto relacionado ao C # e ao .NET. O Visual Studio contém um ambiente de edição de código, um simulador para testar o aplicativo que você desenvolve e você pode usar o VS App Center para testar seus aplicativos em vários dispositivos em uma nuvem. Mas tudo ótimo vem com um preço. Primeiro, não é possível concluir a criação de aplicativos binários para iOS usando uma máquina Windows somente se você criar localmente. Você precisa de um Mac ou precisa fazer builds em nuvem por meio do App Center. Isso não é culpa da Microsoft. A Apple limitou a criação de aplicativos iOS para máquinas macOS. Portanto, esse problema é relevante para todas as estruturas descritas aqui, a menos que haja opções de nuvem.
Ionic: IDEs comuns e depuração de navegador
Geralmente, você pode escolher qualquer IDE ou editor de código que suporte JavaScript ES6 e TypeScript. O próprio Ionic sugere o uso do Visual Studio Code, uma distribuição gratuita da Microsoft e muito menos poderosa que o VS IDE. Por exemplo, você deve executar alguns truques para depurar diretamente do Visual Studio Code. Outras opções que você pode considerar ao trabalhar com o Ionic são o Atom gratuito, o WebStorm IDE (poderoso e – você adivinhou – pago), o IDE do ALM gratuito e o freemium Angular IDE. Mas a maneira mais comum de depuração é diretamente do navegador Chrome! Para depurar ainda mais os dispositivos e criar aplicativos, você precisará do Java JDK, do Android Studio e de ferramentas atualizadas do Android SDK para Android. Para iOS, você precisará do Xcode em uma máquina Mac, um dispositivo iOS e um ID da Apple, a menos que tenha uma conta paga do desenvolvedor da Apple.
React Native: construções e depuração padrão
O React Native é bastante semelhante ao Ionic em termos de codificação e processo de construção. Você também pode usar o Visual Studio Code, o WebStorm, o ALM, o Atom e configurar o mesmo ambiente e ferramentas para depurar em um dispositivo e implantá-lo em lojas de aplicativos. O React Native recomenda usar um simulador do iOS e um emulador do Android para depurar durante a codificação.
NativeScript: aplicativos complementares para depuração no dispositivo e construções de nuvem com o Sidekick
O NativeScript não será novidade em termos de IDEs. Os desenvolvedores também recomendam manter o código do Visual Studio ou qualquer IDE que você goste, incluindo o já mencionado Atom, WebStorm, Sublime Text, etc. O VS Code permite a depuração a partir daí, já que o NativeScript fornece sua própria extensão que você instala a partir do próprio editor de código. Semelhante ao Xamarin, você pode concluir as compilações para iOS sem possuir uma máquina Mac usando o Sidekick de serviço em nuvem do NativeScript. Além disso, nos seus dispositivos, você pode instalar aplicativos complementares que permitem que você inicie seus aplicativos em desenvolvimento antes das compilações finais.
Reconhecimento da comunidade e ecossistema
As estatísticas do Github mostram que a estrutura mais marcada entre estas quatro é Reagir Nativa com 69,3 mil estrelas, Iônica está em segundo lugar com 35,5 mil, NativeScript é o terceiro com 15 mil, e Xamarin ocupa o último lugar com apenas 5 mil para todos os três repositórios (ou seja, Xamarin.Forms, Xamarin.iOS e Xamarin.Android).
De acordo com a mais recente visão geral do Stack Overflow sobre as estruturas mais populares, o React é também o mais usado entre os instrumentos de plataforma cruzada, obtendo 28,3% das respostas. O Xamarin é usado por 7,4% dos engenheiros. Embora o Ionic não tenha chegado a esta lista, ele usa o Cordova em seu núcleo. Vale a pena mencionar que a Microsoft investe muito esforço na educação e crescimento da comunidade Xamarin. Os desenvolvedores que trabalham no ecossistema da Microsoft podem começar a trabalhar facilmente com a tecnologia devido ao suporte ativo da Microsoft. E também há a Universidade Xamarin para recém-chegados. É um portal de e-learning que inclui aulas do nível iniciante ao avançado. Slack, Pinterest e Siemens usam o Xamarin. Confira mais casos de uso da Xamarin em nosso artigo dedicado.
A comunidade de desenvolvedores React Native está crescendo rapidamente e já possui muitos engenheiros experientes. Isso facilita o início de um projeto do React: 1) um desenvolvedor pode facilmente obter respostas para perguntas comuns, 2) a comunidade grande já criou várias bibliotecas de terceiros. As estatísticas do React Native no repositório do GitHub são impressionantes e é o 13º repositório mais com estrela do GitHub. De acordo com a visão geral da tecnologia Stack Overflow, o React Native framework não é apenas a ferramenta multiplataforma mais usada, mas também a segunda mais amada entre os desenvolvedores em geral. Facebook, Instagram e Airbnb usam o React Native.
O sucesso de cada plataforma depende de sua comunidade. A comunidade iônica cresce continuamente e, de acordo com a Ionic Developer Survey 2017, cerca de 80% dos engenheiros se consideram experientes. Existe um Fórum Ionic Q & A especial, onde os desenvolvedores podem fazer perguntas e receber respostas ou conselhos. O Ionic oferece seu canal Slack com uma comunidade do Slack, onde os desenvolvedores podem colaborar com outros engenheiros iônicos em todo o mundo. O Ionic tem mais perguntas sobre o StackOverflow que o Xamarin e o NativeScript, mas menos do que o React Native. O ecossistema iônico também está crescendo e ganha novos parceiros entre empresas profissionais de serviços de TI, como Webjunto, Spatial Vision e keensoft. CAT, Diesel e Target usam Ionic.
O NativeScript tem suporte decente à comunidade. Você pode verificar suas contas do GitHub e do StackOverflow. Há também o canal Comunidade Slack NativeScript. Para encontrar plugins, modelos e amostras, visite o mercado NativeScript, onde cerca de 400 autores contribuem com seus trabalhos. As empresas Puma, SAP e outras usaram o NativeScript para seus projetos móveis multiplataforma.
Xamarin se tornou um produto de código aberto sob a licença do MIT. Embora seja gratuito para trabalhar, você ainda deve instalar o IDE do Visual Studio, que é proprietário e distribuído por assinatura. Está disponível gratuitamente para projetos não empresariais com até cinco usuários. Mas certos recursos estão bloqueados por trás das licenças Professional e Enterprise. O preço da assinatura do Visual Studio começa em US $ 539 por usuário por ano e sobe para US $ 6.000 no primeiro ano para um único usuário da versão Enterprise. É muito, mas você também recebe muito em troca, incluindo vários serviços na nuvem, ações de mobilidade empresarial e muito mais.
O React Native é um projeto completamente aberto. Você pode usá-lo e suas bibliotecas gratuitamente.
O Ionic também é uma estrutura de código aberto na inscrição e durante o desenvolvimento. Mas há uma plataforma complementar chamada Ionic Pro, que vem em três pacotes: Desenvolvedor, Equipe e Negócios. O custo da assinatura varia de US $ 29 a US $ 199 por mês e oferece recursos adicionais, como mais dias de rastreamento de histórico de erros e ferramentas de colaboração que permitem gerenciar o trabalho iônico em equipes maiores.
O NativeScript é de código aberto e pode ser usado gratuitamente. No entanto, se você optar por serviços em nuvem do Sidekick, poderá adquirir até 400 construções de nuvem por US $ 19 por usuário por mês ou pagar US $ 249 por construções ilimitadas de nuvem por usuário por mês (faturadas anualmente). Há também uma versão Enterprise do Sidekick com preços negociados individualmente.
React Native. O React Native é uma estrutura universal graças à sua distribuição de código aberto e linguagem JavaScript. Se você acabou de iniciar uma iniciativa de desenvolvimento móvel sem experiência prévia em dispositivos móveis, recomendamos que você considere essa estrutura primeiro. Será muito mais fácil contratar uma equipe de desenvolvedores do React Native. Embora a reutilização de código seja possível com o React Native (até 90% da base de código compartilhada em alguns aplicativos), a ideia por trás da estrutura é usar a tecnologia única e ajustar o código-fonte aos detalhes específicos da plataforma final. Xamarin. Xamarin é uma boa escolha se você já tem a equipe do .NET, usou os produtos da Microsoft, a solução de nuvem ou o Visual Studio para as outras tarefas. Essa também será uma boa opção se você precisar de alto desempenho, confiabilidade e suporte. Por outro lado, o Xamarin.Forms permite que você desenvolva aplicativos empresariais nos quais a interface do usuário não é tão importante quanto a funcionalidade, mas o desenvolvimento simplificado com o compartilhamento de código é essencial. Ionic. O Ionic é o framework mais favorável ao orçamento entre os três descritos. Graças à natureza da Web, você nem precisa de uma equipe dedicada de dispositivos móveis. Recomendamos usá-lo para desenvolver aplicativos com tráfego moderado em mente, soluções corporativas ou aplicativos temporários simples para eventos ou tarefas específicos. No entanto, isso não significa que você não pode usar o Ionic para aplicativos públicos em grande escala. O Ionic Pro oferece uma boa oportunidade para a engenharia de infraestruturas avançadas de aplicativos e, à medida que o framework se desenvolve continuamente, é provável que ele se torne ainda melhor no futuro. NativeScript. O NativeScript é uma ótima opção para desempenho próximo ao nativo devido à sua renderização nativa. Em alguns casos, a estrutura fornece um desenvolvimento mais simplificado do que o Xamarin e o React Native. No entanto, com o objetivo de compartilhar aplicativos em toda a Web, iOS e Android com o mínimo de alterações na interface do usuário, você provavelmente terá que sacrificar a aparência nativa do aplicativo. Talvez, o principal caso de uso do NativeScript seja a transição de aplicativos da Web criados com Angular ou Vue.JS para dispositivos móveis. ]]>