NativeScript
NativeScript | |
---|---|
Autor | Telerik by Progress |
Desenvolvedor | Comunidade |
Plataforma | Multiplataforma |
Lançamento | 2014 (10–11 anos) |
Versão estável | 8.4.7 (23 de janeiro de 2023 | )
Sistema operacional | Linux, MacOS, Windows |
Licença | Apache License 2.0 |
Página oficial | nativescript |
Repositório | github |
O NativeScript é um framework de código aberto para desenvolver aplicativos móveis nas plataformas iOS e Android. Ele foi originalmente concebido e desenvolvido pela Progress.[1] No final de 2019[2], a responsabilidade pelo projeto NativeScript foi assumido pela nStudio, um parceiro de longa data da Progress. Em dezembro de 2020, a nStudio também supervisionou a integração do NativeScript na OpenJS Foundation como um Projeto incubado.[3] Os aplicativos NativeScript são construídos usando JavaScript ou qualquer linguagem de programação que seja transpilada para JavaScript, como TypeScript. O NativeScript Oferece suporte aos frameworks JavaScript Angular[4] e Vue.[5] Aplicações móveis desenvolvidas com o NativeScript resultam em aplicativos totalmente nativos, que utilizam as mesmas APIs como se tivessem sido desenvolvidos no Xcode ou Android Studio.[6] Além disso, os desenvolvedores de software podem reutilizar bibliotecas de terceiros do CocoaPods, Maven e npm.js em seus aplicativos móveis sem a necessidade de wrappers.[7][8][9]
Desenvolvimento
O NativeScript foi lançado publicamente pela primeira vez em março de 2015. A versão 1.0.0 foi lançada dois meses depois.[10] O framework rapidamente ganhou popularidade, atingindo 3000 estrelas no GitHub e mais de 1500 seguidores no Twitter logo após o lançamento público.[11] Nesse meio tempo, mais de 700 plugins estão disponíveis, sendo oficialmente suportados pela Progress ou provenientes da comunidade de código aberto.[12][13] O uso do Angular é uma abordagem de desenvolvimento opcional que permite que o código-fonte da aplicação seja compartilhado entre a plataforma web e a plataforma móvel.[14][15]
Estrutura
O NativeScript e todos os plugins necessários são instalados usando o gerenciador de pacotes npm. Projetos são criados, configurados e compilados via linha de comando ou uma ferramenta gráfica chamada NativeScript Sidekick.[16] Interfaces de usuário independentes de plataforma são definidas usando arquivos XML. O NativeScript utiliza as abstrações descritas nos arquivos XML para chamar os elementos de interface do usuário nativos de cada plataforma. A lógica da aplicação desenvolvida em Angular e TypeScript pode ser desenvolvida de forma independente da plataforma de destino também. Um aplicativo móvel NativeScript é construído usando o runtime e ferramentas do node.js.[17] A Progress tem como objetivo uma proporção de 90% de código comum entre as plataformas iOS e Android.[18]
Acesso direto às APIs e controles nativos da plataforma
Interfaces de usuário independentes de plataforma são definidas usando arquivos XML.[19] O NativeScript utiliza as estruturas de dados XML que representam a abstração multiplataforma para acionar código específico da plataforma que interage diretamente com os elementos nativos do sistema operacional de destino. Isso significa que uma chamada à API de botão do NativeScript fornece uma abstração de interface do usuário para o botão, que chama diretamente UIButton no iOS[20] ou com.android.widget.Button no Android.[21]
Embora o código-fonte da aplicação seja escrito em JavaScript, TypeScript, Angular ou Vue.js, o código-fonte não é compilado ou de outra forma alterado. O código-fonte, como está, é executado diretamente no dispositivo. Essa escolha arquitetônica elimina a necessidade de compilação cruzada ou transpilação.[9] Além disso, embora o código-fonte da aplicação seja escrito em linguagens comumente encontradas em um navegador (ou em uma aplicação móvel contida em WebView), as aplicações NativeScript são executadas diretamente no dispositivo nativo. Não há manipulação do DOM ou qualquer interação obrigatória com o navegador.[4]
Características notáveis
Reflexão da API nativa
Outra característica notável é o uso de reflexão para lidar com pontos de extremidade da API nativa. Em vez de exigir camadas de ligação separadas entre o NativeScript e cada API de plataforma móvel, o NativeScript utiliza reflexão para obter informações e metadados sobre as APIs de plataforma nativa. Novos recursos adicionados a qualquer API de plataforma nativa estão imediatamente disponíveis.[4]
Outra maneira pela qual a funcionalidade de reflexão é usada é ao trabalhar com bibliotecas de terceiros. Como o JavaScript (ou TypeScript/Angular) pode se comunicar diretamente com o código nativo, não há necessidade de escrever camadas de ligação em Objective-C, Swift, Java ou Kotlin.[9][22]
Integração com o Angular
Com o lançamento do NativeScript 2.0, é possível usar o Angular para criar aplicativos móveis multiplataforma.[23] Além disso, ao usar o Angular com o NativeScript, você tem a capacidade de compartilhar grandes partes de código entre seus aplicativos web e móveis.[24]
Integração com o Vue.js
O framework Vue.js é suportado no NativeScript por meio do plugin nativescript-vue.[5]
Ferramentas e serviços de suporte
- O NativeScript Sidekick é uma interface gráfica que se baseia nas capacidades fornecidas pelo NativeScript CLI. Com o Sidekick, um desenvolvedor pode aproveitar modelos de aplicativos, compilações baseadas em nuvem para iOS e Android, e publicar aplicativos nas lojas de aplicativos públicas.
- O NativeScript Playground permite que os desenvolvedores experimentem o NativeScript em um ambiente baseado na web e visualizem aplicativos em dispositivos físicos.
- O NativeScript Marketplace é uma fonte selecionada de plugins do NativeScript, modelos de aplicativos pré-construídos e aplicativos de exemplo executáveis.
- ↑ «Criando Aplicativos Nativos para Dispositivos Móveis em JavaScript com o NativeScript». InfoQ (em inglês). Consultado em 27 de agosto de 2023
- ↑ «O Próximo Capítulo para o NativeScript: nStudio | O Blog do NativeScript». blog.nativescript.org. Consultado em 27 de agosto de 2023
- ↑ rromoff (7 de dezembro de 2020). «NativeScript se junta à OpenJS Foundation como Projeto Incubado». OpenJS Foundation (em inglês). Consultado em 27 de agosto de 2023
- ↑ a b c Krill, Paul (10 de março de 2015). «JavaScript se torna nativo para aplicativos iOS, Android e Windows Phone». InfoWorld (em inglês). Consultado em 27 de agosto de 2023
- ↑ a b Randjelovic, Igor. «NativeScript-Vue - Um plugin NativeScript para construir aplicativos nativos usando Vue.js». nativescript-vue.org (em inglês). Consultado em 27 de agosto de 2023
- ↑ «O framework NativeScript facilita as dificuldades no desenvolvimento de aplicativos multiplataforma». web.archive.org. 6 de agosto de 2021. Consultado em 27 de agosto de 2023
- ↑ Krill, Paul (6 de maio de 2016). «NativeScript se integra ao AngularJS para desenvolvimento móvel». InfoWorld (em inglês). Consultado em 27 de agosto de 2023
- ↑ Cardoza, Christina (18 de março de 2016). «Projeto da Semana do SD Times no GitHub: NativeScript». SD Times (em inglês). Consultado em 27 de agosto de 2023
- ↑ a b c Ramel, By David; 03/09/2015. «Telerik's NativeScript visa centralizar o desenvolvimento de aplicativos móveis multiplataforma -». Visual Studio Magazine (em inglês). Consultado em 27 de agosto de 2023
- ↑ «NativeScript 1.0.0 Lançado». www.i-programmer.info. Consultado em 27 de agosto de 2023
- ↑ «NativeScript 1.0.0 agora está disponível | O Blog do NativeScript». blog.nativescript.org. Consultado em 27 de agosto de 2023
- ↑ «NativeScript Marketplace». market.nativescript.org. Consultado em 27 de agosto de 2023
- ↑ «nativescript - npm search». www.npmjs.com (em inglês). Consultado em 27 de agosto de 2023
- ↑ Review, C. I. O. «Progress lança o NativeScript 2.0 com capacidades de implantação multiplataforma». CIOReview (em inglês). Consultado em 27 de agosto de 2023
- ↑ «Conhecendo o Angular 2». web.archive.org. 27 de setembro de 2019. Consultado em 27 de agosto de 2023
- ↑ «NativeScript Sidekick - seu fiel companheiro para o desenvolvimento de aplicativos». web.archive.org. 7 de novembro de 2017. Consultado em 27 de agosto de 2023
- ↑ online, heise (9 de agosto de 2016). «Com JavaScript como feito em casa: NativeScript». Developer (em alemão). Consultado em 27 de agosto de 2023
- ↑ «Perguntas frequentes sobre o NativeScript». nativescript.org. Consultado em 27 de agosto de 2023
- ↑ «Introdução | NativeScript». docs.nativescript.org (em inglês). Consultado em 27 de agosto de 2023
- ↑ «NativeScript/NativeScript». GitHub (em inglês). Consultado em 27 de agosto de 2023
- ↑ «NativeScript/NativeScript». GitHub (em inglês). Consultado em 27 de agosto de 2023
- ↑ «Acessando APIs da Plataforma Nativa | NativeScript». docs.nativescript.org (em inglês). Consultado em 27 de agosto de 2023
- ↑ «NativeScript 2.0 - a melhor maneira de construir aplicativos móveis nativos multiplataforma | O Blog do NativeScript». blog.nativescript.org. Consultado em 27 de agosto de 2023
- ↑ Witalec, Sebastian (24 de agosto de 2018). «Aplicativos que funcionam de forma nativa na web e em dispositivos móveis». Medium (em inglês). Consultado em 27 de agosto de 2023