NativeScript es un marco de código abierto para desarrollar aplicaciones móviles en las plataformas Apple iOS y Android . Originalmente fue concebido y desarrollado por Progress. [3] A finales de 2019 [4] la responsabilidad del proyecto NativeScript fue asumida por nStudio , socio de Progress desde hace mucho tiempo . En diciembre de 2020, nStudio también supervisó la incorporación de NativeScript a OpenJS Foundation como un proyecto de incubación. [5] Las aplicaciones NativeScript se crean con JavaScript o con cualquier lenguaje de programación que se transpile a JavaScript, como TypeScript.. NativeScript es compatible con los marcos de JavaScript Angular [6] y Vue . [7] Las aplicaciones móviles creadas con NativeScript dan como resultado aplicaciones totalmente nativas, que utilizan las mismas API que si se hubieran desarrollado en Xcode o Android Studio . [8] Además, los desarrolladores de software pueden reutilizar bibliotecas de terceros de CocoaPods , Maven y npm.js en sus aplicaciones móviles sin necesidad de envoltorios. [9] [10] [11]
Autor (es) original (es) | Telerik por progreso. [1] |
---|---|
Desarrollador (es) | Progreso y comunidad |
Versión inicial | 2014 |
Lanzamiento estable | 7.0.13 / 28 de octubre de 2020 [2] |
Repositorio | |
Escrito en | JavaScript , TypeScript |
Plataforma | Multiplataforma |
Licencia | Licencia Apache 2.0 |
Sitio web | www |
Desarrollo
NativeScript se lanzó al público por primera vez en marzo de 2015. La versión 1.0.0 le siguió dos meses después. [12] El framework ganó popularidad rápidamente alcanzando 3000 github-stars y más de 1500 seguidores en Twitter poco después del lanzamiento público. [13] Mientras tanto, hay más de 700 complementos disponibles, que son oficialmente compatibles con Progress o provienen de la comunidad de código abierto. [14] [15] El uso de Angular es un enfoque de desarrollo opcional que permite compartir el código fuente de la aplicación entre la plataforma web y la plataforma móvil. [16] [17]
Estructura
NativeScript y todos los complementos necesarios se instalan mediante el administrador de paquetes npm . Los proyectos se crean, configuran y compilan a través de la línea de comandos o una herramienta GUI llamada NativeScript Sidekick. [18] Las interfaces de usuario independientes de la plataforma se definen mediante archivos XML . NativeScript luego usa las abstracciones descritas en los archivos XML para llamar a los elementos nativos de la interfaz de usuario de cada plataforma. La lógica de la aplicación desarrollada en Angular y TypeScript también se puede desarrollar independientemente de la plataforma de destino. Una aplicación móvil NativeScript se crea utilizando el tiempo de ejecución y las herramientas de node.js. [19] Progress apunta a una proporción del 90% de código común entre las plataformas iOS y Android. [1]
Acceso directo a controles y API de plataforma nativa
Las interfaces de usuario independientes de la plataforma se definen mediante archivos XML . [20] NativeScript utiliza las estructuras de datos XML que representan la abstracción multiplataforma para activar código específico de la plataforma que interactúa directamente con los elementos nativos del sistema operativo de destino. Esto significa que una llamada a la API Button de NativeScript proporciona una abstracción de la interfaz de usuario para Button, que llama directamente a UIButton en iOS [21] o com.android.widget.Button en Android. [22]
Si bien el código fuente de la aplicación está escrito en JavaScript, TypeScript, Angular o Vue.js, el código fuente no se compila ni se modifica. El código fuente tal cual se ejecuta directamente en el dispositivo. Esta elección arquitectónica elimina la necesidad de compilar o transpilar. [11] Además, mientras que el código fuente de la aplicación está escrito en lenguajes que se encuentran comúnmente en un navegador (o en una aplicación móvil contenida en WebView), las aplicaciones NativeScript se ejecutan directamente en el dispositivo nativo. No hay manipulación del DOM ni interacción obligatoria del navegador. [6]
Características notables
Reflexión de API nativa
Otra característica notable es el uso de la reflexión para manejar los puntos finales de la API nativa. En lugar de requerir capas de enlace separadas entre NativeScript y cada API de plataforma móvil, NativeScript utiliza la reflexión para obtener información y metadatos sobre las API de la plataforma nativa. Las nuevas funciones agregadas a cualquier API de plataforma nativa están disponibles de inmediato. [6]
Otra forma en que se utiliza la función de reflexión es trabajando con bibliotecas de terceros. Como JavaScript (o TypeScript / Angular) puede comunicarse directamente con el código nativo, no es necesario escribir capas de enlace en Objective-C, Swift, Java o Kotlin. [11] [23]
Integración angular
Con el lanzamiento de NativeScript 2.0, es posible utilizar Angular para crear aplicaciones móviles multiplataforma. [24] Además, cuando usas Angular con NativeScript, tienes la capacidad de compartir grandes fragmentos de código entre tu web y aplicaciones móviles. [25]
Integración con Vue.js
El marco Vue.js es compatible con NativeScript a través del complemento nativescript-vue. [7]
Herramientas y servicios de apoyo
- NativeScript Sidekick es una interfaz gráfica de usuario que se basa en las capacidades proporcionadas por la CLI de NativeScript. Con Sidekick, un desarrollador puede aprovechar las plantillas de aplicaciones, las compilaciones basadas en la nube para iOS y Android y publicar aplicaciones en las tiendas de aplicaciones públicas.
- NativeScript Playground permite a los desarrolladores experimentar con NativeScript en un entorno basado en web y obtener una vista previa de las aplicaciones en dispositivos físicos.
- NativeScript Marketplace es una fuente seleccionada de complementos de NativeScript, plantillas de aplicaciones prediseñadas y aplicaciones de muestra ejecutables.
Referencias
- ^ a b "Preguntas frecuentes sobre NativeScript" . NativeScript.org .
- ^ "Lanzamientos · NativeScript / NativeScript" . GitHub .
- ^ "Creación de aplicaciones nativas móviles en JavaScript con NativeScript" . InfoQ .
- ^ Saripella, Surya. "El próximo capítulo de NativeScript: nStudio" . NativeScript.
- ^ Romoff, Rachel. "NativeScript se une a OpenJS Foundation como proyecto de incubación" . Los proyectos de la Fundación Linux . Fundación OpenJS . Consultado el 4 de marzo de 2021 .
- ^ a b c Krill, Paul (10 de marzo de 2015). "JavaScript es nativo para aplicaciones de iOS, Android y Windows Phone" . InfoWorld .
- ^ a b "{N} -Vue" . nativescript-vue.org . Consultado el 31 de octubre de 2017 .
- ^ http://searchcloudapplications.techtarget.com/podcast/NativeScript-framework-eases-cross-platform-app-development-woes
- ^ Krill, Paul (6 de mayo de 2016). "NativeScript se calienta con AngularJS para desarrollo móvil" . InfoWorld .
- ^ "Proyecto de la semana SD Times GitHub: NativeScript" . 18 de marzo de 2016.
- ^ a b c "NativeScript de Telerik tiene como objetivo centralizar el desarrollo móvil multiplataforma -" . Revista Visual Studio .
- ^ "NativeScript 1.0.0 lanzado" . www.i-programmer.info .
- ^ "NativeScript 1.0.0 ya está disponible" . NativeScript.org .
- ^ "Mercado de NativeScript" . market.nativescript.org .
- ^ "nativescript - búsqueda npm" . www.npmjs.com .
- ^ Revisión, CIO "Progress Releases NativeScript 2.0 con capacidades de implementación multiplataforma" . CIOReview .
- ^ "Conociendo Angular 2" . mobile.htmlgoodies.com .
- ^ "NativeScript Sidekick - su fiel compañero para el desarrollo de aplicaciones" . NativeScript.org . Consultado el 31 de octubre de 2017 .
- ^ Hanna, Tam. "Mit JavaScript wie hausgemacht: NativeScript" . Desarrollador .
- ^ "Conceptos básicos: documentos de NativeScript" . docs.nativescript.org .
- ^ https://github.com/NativeScript/NativeScript/blob/master/tns-core-modules/ui/button/button.ios.ts
- ^ https://github.com/NativeScript/NativeScript/blob/master/tns-core-modules/ui/button/button.android.ts
- ^ "Acceso a las API nativas a través de JavaScript - NativeScript Docs" . docs.nativescript.org .
- ^ "NativeScript 2.0: la mejor manera de crear aplicaciones móviles nativas multiplataforma" . NativeScript.org .
- ^ https://blog.angular.io/apps-that-work-natively-on-the-web-and-mobile-9b26852495e7
enlaces externos
- Página web oficial