NativeScript es un framework de código abierto para desarrollar aplicaciones en iOSAndroid. Fue ideado y desarrollado por Progress.[1]​ Las aplicaciones NativeScript se construyen utilizando lenguajes de programación independientes del dispositivo y sistema operativo como JavaScript o TypeScript. NativeScript soporta directamente el desarrollo con Angular y soporta también Vue mediante un complemento desarrollado por la comunidad.[2][3]​ Las aplicaciones móviles creadas con NativeScript son aplicaciones plenamente nativas, utilizando las mismas APIs que las desarrollados en Xcode o Android Studio.[4]​ Además, los desarrolladores pueden reutilizar bibliotecas de terceros como Cocoapods, Android Arsenal, Maven, y npm.js en sus aplicaciones móviles.[5][6][7]

NativeScript
Información general
Tipo de programa software de código abierto
Autor Telerik (Progress).
Desarrollador Progress y la comunidad
Lanzamiento inicial 2014
Licencia Licencia Apache
Información técnica
Programado en JavaScript y TypeScript
Plataformas admitidas Multiplataforma
Versiones
Última versión estable 8.7.2 (info) ( 23 de abril de 2024 (1 mes y 28 días))
Enlaces

Desarrollo

editar

NativeScript fue lanzado al público por primera vez en marzo de 2015. La versión 1.0.0 apareció dos meses después.[8]​ El framework rápidamente ganó popularidad llegando a 3000 estrellas en github y más de 1500 seguidores en Twitter poco después del lanzamiento público.[9]​ Junto a esto, hay más de 600 complementos disponibles, que son oficialmente desarrollados por Progress o provienen de la comunidad de código abierto.[10][11]​ El uso de Angular es un enfoque de desarrollo opcional que permite que el código fuente de la aplicación se comparta entre la plataforma web y la plataforma móvil.[12][13]

Estructura

editar

NativeScript y todos los complementos necesarios se instalan utilizando el gestor de paquetes npm. Los proyectos se crean, configuran y compilan a través de la línea de comandos o una herramienta gráfica llamada NativeScript Sidekick.[14]​ Las interfaces de usuario independientes de la plataforma se definen utilizando archivos XML. NativeScript luego usa las abstracciones descritas en los archivos XML para llamar a los elementos de interfaz nativos de cada plataforma. La lógica de la aplicación desarrollada en Angular y TypeScript también se puede desarrollar independientemente de la plataforma objetivo. Una aplicación móvil NativeScript se crea utilizando node.js.[15]​ Progress apunta a una proporción del 90% de código común entre las plataformas iOS y Android. [16]

Acceso directo a las APIs y controles de la plataforma nativa

editar

Las interfaces de usuario independientes de la plataforma se definen utilizando archivos XML.[17]​ NativeScript utiliza las estructuras de datos XML que representan la abstracción multiplataforma para activar el código específico de la plataforma que interactúa directamente con los elementos nativos del sistema operativo objetivo. Esto significa que una llamada a un elemento del API de NativeScript  proporciona una abstracción de la interfaz de usuario para el elemento, que llama directamente a su similar en iOS o Android.

Dado que el código fuente de la aplicación está escrito en JavaScript, TypeScript o Angular, el código fuente no se compila sino se ejecuta directamente en el dispositivo. Esta elección arquitectónica elimina la necesidad de compilación cruzada o transpilación. Además, mientras el código fuente de la aplicación está escrito en lenguajes generalmente encontrados en un navegador (o en una aplicación web móvil contenida) las aplicaciones NativeScript se ejecutan directamente en el dispositivo nativo. No hay manipulación de DOM o interacción obligatoria con el navegador

Características notables

editar

Reflexión de API Nativa (Acceso de Día 0)

editar

Otra característica notable es el uso de la reflexión para manejar endpoints de API nativos. En lugar de requerir capas de enlace separadas entre NativeScript y cada API de la 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 la plataforma nativa están disponibles de inmediato.

Otra mecanismo de reflexión se usa en las bibliotecas de terceros. Javascript (o TypeScript / Angular) puede llamar directamente a un código nativo, sin necesidad de escribir capas obligatorias en Objetive-C, Swift, Java o Kotlin.[18]

Integración con Angular

editar

Con el lanzamiento de NativeScript 2.0, es posible utilizar Angular para construir aplicaciones móviles multiplataforma.[19]

Integración con Vue

editar

El framework Vue es soportado en NativeScript gracias a los esfuerzos de la comunidad para desarrollar un plugin que permite su compatibilidad.

Referencias

editar
  1. https://www.infoq.com/news/2015/03/nativescript
  2. http://www.infoworld.com/article/2893706/mobile-development/javascript-native-ios-android-and-windows-phone-apps.html
  3. «{N}-Vue». nativescript-vue.org. Consultado el 31 de octubre de 2017. 
  4. http://searchcloudapplications.techtarget.com/podcast/NativeScript-framework-eases-cross-platform-app-development-woes
  5. http://www.infoworld.com/article/3066900/javascript/nativescript-warms-up-to-angularjs-for-mobile-dev.html
  6. http://sdtimes.com/sd-times-github-project-of-the-week-nativescript/
  7. https://visualstudiomagazine.com/articles/2015/03/09/telerik-nativescript-beta-mobile.aspx
  8. http://www.i-programmer.info/news/167-javascript/8561-nativescript-100-released.html
  9. https://www.nativescript.org/blog/nativescript-1.0.0-is-now-available
  10. http://nativescript.rocks/all.php
  11. https://www.npmjs.com/search?q=nativescript
  12. http://www.cioreview.com/news/progress-releases-nativescript-20-with-crossplatform-deployment-capabilities-nid-14646-cid-19.html
  13. http://www.htmlgoodies.com/beyond/javascript/getting-to-know-angular-2.html
  14. «NativeScript Sidekick - your faithful companion for app development». NativeScript.org (en inglés). Consultado el 31 de octubre de 2017. 
  15. http://www.heise.de/developer/artikel/Mit-JavaScript-wie-hausgemacht-NativeScript-3282619.html
  16. http://www.telerik.com/platform/nativescript/faq
  17. «Copia archivada». Archivado desde el original el 21 de noviembre de 2016. Consultado el 16 de diciembre de 2017. 
  18. «Copia archivada». Archivado desde el original el 24 de noviembre de 2016. Consultado el 16 de diciembre de 2017. 
  19. https://www.nativescript.org/blog/nativescript-2.0---the-best-way-to-build-cross-platform-native-mobile-apps

Enlaces externos

editar