El desarrollo de aplicaciones móviles es hoy en día uno de los sectores de la informática más pujantes y, por ello, está mucho más expuesto a cambios disruptivos en su entorno. Dentro de este entorno tan competitivo, hace aparición Nativescript. Nativescript es una nueva tecnología open-source de Telerik para poder desarrollar aplicaciones nativas para Android e iOS utilizando como lenguaje de programación Javascript, o también el nuevo primo-hermano de Microsoft, Typescript. Esta característica nativa es la que hace que el framework referencia para desarrollar apps en Javascript, Ionic, pueda verse reemplazado por Nativescript con el tiempo.

Qué ofrece y como de nativo es Nativescript

Te habrá sorprendido que Nativescript permita desarrollar aplicaciones móviles usando tecnologías nativas desde Javascript. Esta tecnología utiliza los componentes visuales nativos de la plataforma móvil sobre la que se ejecuta, ofreciendo una fluidez superior, a parte de ofrecer la invocación desde código Javascript de métodos y objetos nativos de la plataforma. Además de Javascript, se apoya en XML para la definición del interfaz y un subconjunto de CSS para personalización.

Esto nos ofrece poder utilizar las bonanzas de la plataforma utilizando Javascript como el glue-code que se encarga de juntar las piezas y dejar el procesamiento pesado y la interfaz a las APIs nativas del dispositivo. Para ello, Nativescript utiliza el motor V8, en el cual nos permite incluso ejecutar código nativo utilizando objetos predefinidos. Para una explicación detallada inmejorable, consultar este post donde se explica muy bien este mecanismo de bridge entre el motor V8 y la plataforma sobre la que se ejecuta Nativescript (sólo disponible en inglés). También puedes ver el siguiente video que explica de manera sencilla como funciona este bridge entre Javascript y las APIs nativas del dispositivo.

Comunidad y plugins

La comunidad de Nativescript está creciendo día a día. Disponen de canal de Slack, repositorio de Github y están trabajando en internacionalizar más el proyecto.

Por otro lado, ya se dispone de muchos plugins para poder utilizar componentes nativos de manera fluida dentro de Nativescript, además de tener una garantía extra en el Marketplace de plugins verificados de Telerik. Algunos ejemplos sonados son, un plugin para Admob, Sqlite, Social Share o Firebase. Y recuerda, siempre puedes utilizar el bridge nativo Javascript si quieres invocar métodos de la plataforma destino.

Además, si eres de los que le tienen alergia a la terminal, Telerik está desarrollando una extensión para Visual Studio Code que puedes descargar e instalar desde el siguiente enlace. Ofrece lanzar la aplicación desde el propio IDE sin tener que ir ejecutando los comandos de manera manual.

¿Está la fruta madura?

Nativescript es una tecnología nueva y, como tal, tiene aún ciertos puntos a mejorar. El flujo de desarrollo no acaba de ser el ideal. En caso de cometer algún error en el marcado, puede llegar a ser complicado darse cuenta de en qué vista tenemos el error.

A parte de esto, un punto muy interesante es el de la comunidad. Como ocurre en estos casos, Ionic tiene una comunidad con más años tras de sí y sigue siendo el framework Javascript más utilizado para el desarrollo de apps móviles.

Lo nativo contra lo estándar

La situación actual de Ionic es complicada. El equipo de Ionic está trabajando en la versión 2 que dará soporte al nuevo framework Angular.js 2. Hay bastante hype con el lanzamiento de este nuevo framework, y era de vital importancia que Ionic incorporara esta segunda versión, pero han perdido competitividad con alternativas que utilizan la vista nativa del dispositivo como puede ser el mismo Nativescript o alternativas como React Native de Facebook.

En esta situación podemos llegar a ver cómo soluciones que ofrecen una experiencia de usuario más fluida pueden ir ganando terreno, mientras que Ionic podría llegar el mismo a incorporarlas dentro de su framework o ver si los desarrolladores no valoran tanto esta mejora en experiencia UI. En el futuro próximo, veremos si Nativescript se convierte en referencia, Ionic Framework se mantiene u otras soluciones ganan protagonismo.