A lo largo de esta última temporada, hemos presenciado grandes cambios en el sector del desarrollo mobile cross-platform, y en general, en el ámbito tecnológico que utiliza lenguajes web. De todos los avances, es innegable el protagonismo de lo que hoy vamos a hablar: Ionic 2 y React Native. Víctor Oliva, Middleware Tech Lead de SlashMobility nos ayudará con el siguiente análisis de ambas tecnologías para tomar la decisión más adecuada a la hora de decantarnos por una u otra de cara a desarrollar nuestro proyecto.
empecemos por el principio
Antes de nada, vamos a hacer un recordatorio sobre qué es una aplicación nativa y qué es una aplicación híbrida. Como ya explicábamos en esta infografía, hay dos tipos de tecnologías de cara al desarrollo de aplicaciones: Cross-platform y Nativa. Por un lado, las apps híbridas (Cross-platform) se desarrollan usando HTML5, CSS y Javascript, es decir, utilizan el mismo código independientemente de la plataforma en que se ejecutan. Por otro lado, las app nativas se desarrollan en el lenguaje requerido por la plataforma de destino: Objective-C y Swift para iOS, Java para Android, etc. Así pues, Ionic 2 se desarrolla con Angular 2 y de la mano de Cordova permitiéndonos el desarrollo de aplicaciones híbridas respetando la guía de estilo de cada plataforma. Por otro lado, React Native se desarrolla principalmente con Javascript, lo que supone que la mayor parte del código puede ser compartida para diferentes plataformas, pero, el desarrollo no es 100% cross-platform, pues su base es que permite trabajar a nivel de programación funcional en la construcción de interfaces y que estos reaccionen – de ahí su nombre – a través del framework. React, perteneciente a Facebook, hace poco tiempo que fue liberado y, desde entonces, cambia de una forma importante el modo de programar las webs al considerarlas como una agrupación de componentes (pequeñas partes). En el caso de Ionic 2, el framework Angular, base de Ionic, decidió que era hora de renovarse y sacó la segunda versión, cambiando Javascript por Typescript y añadiendo también el concepto de componentes. Todo esto empieza en el 2009 con PhoneGap, que es una plataforma que permite exportar una mobile app utilizando internamente un webview para ejecutarla, y aunque en un principio no estaba demasiado optimizado, fue evolucionando hasta que salieron frameworks especializados para esta plataforma, como es el caso de Ionic. Si nos fijamos en los intereses de búsqueda encontramos algo muy curioso: mientras que en el ámbito web la gente parece tener más interés en Angular 2 que en React, en el mundo cross-platform esta situación se invierte.