Los entusiastas de Facebook y los entusiastas del desarrollo de aplicaciones pueden por fin alegrarse: el muy publicitado proyecto de la compañía, anunciado recientemente, fue presentado ayer en la Conferencia de Desarrolladores F8 de Facebook. React Native es una desviación radical de la forma en que se realiza el desarrollo de aplicaciones móviles, UI.

Cuando este proyecto de código abierto se anunció por primera vez, recibió reacciones emocionadas de los desarrolladores. React Native es un nuevo enfoque porque permite a los desarrolladores escribir código y luego ver los resultados en solo unos segundos. Naturalmente, esto es más atractivo para algunos que tener que recompilar primero toda la aplicación, como ha sido el caso tradicionalmente, para ver los resultados de desarrollo.

A pesar de su exageración como un cambio radical en el desarrollo de aplicaciones, React Native comparte algunas similitudes con las mejores prácticas convencionales. Por ejemplo, todavía está basado en JavaScript, al igual que otras técnicas híbridas.

Sin embargo, donde este marco de creación de aplicaciones es marcadamente diferente es su eliminación de un contenedor multiplataforma. Por lo general, los desarrolladores acceden a funciones nativas en varios dispositivos. En cambio, React Native alienta a los desarrolladores a utilizar JSX, que es una variante de JavaScript de Facebook, para "conectar" widgets nativos. Luego, los desarrolladores pueden acceder a las aplicaciones de forma nativa y observar el mismo comportamiento, apariencia, rendimiento y sentirse como "verdaderas" aplicaciones nativas.

Sin embargo, si crees que React Native es un marco completo para este tipo de desarrollo de aplicaciones, piénsalo de nuevo. A Facebook le gusta lanzarnos una bola curva: a la empresa le gusta referirse a este marco como una herramienta en la que los desarrolladores pueden confiar para ver realmente las aplicaciones creadas con la arquitectura de Model View Controller. No es de extrañar, entonces, que Facebook ya esté trabajando arduamente creando herramientas complementarias como Relé y GraphQL .

Una nueva filosofía de diseño

El objetivo de React Native es que Facebook quiera que los diseñadores piensen en la creación de aplicaciones de una manera nueva y completa. React Native lo hace mediante la introducción de un marco basado realmente en la idea de "aprender una vez" y "escribir en cualquier lugar". En otras palabras, React Native puede ayudar a los desarrolladores de aplicaciones a familiarizarse con él y luego desarrollarlo de manera fácil y eficiente. aplicaciones en diferentes plataformas.

En teoría, los desarrolladores de aplicaciones pueden crear una aplicación para iOS y luego usar lo que aprendieron en ese proceso para desarrollar y construir ágilmente una aplicación de Android. En lugar de crear una aplicación y luego adaptarla a varios sistemas operativos, React Native les permite tomar su conocimiento del framework y crear aplicaciones en diferentes plataformas desde cero. Facebook cree que este enfoque hará que todo el proceso de desarrollo de la aplicación sea más simple y más efectivo. Después de todo, cuando los desarrolladores puedan aprender React Native una vez, todos estarán en la misma página cuando pasen de un sistema operativo a otro.

Antes de que los desarrolladores de Android comiencen a entusiasmarse demasiado, desafortunadamente hay una advertencia sobre esta noticia: ahora mismo, el soporte de Android aún no está disponible. React Native solo se puede usar con iOS, pero Facebook está trabajando en el soporte de Android mientras escribo; Manténganse al tanto…

Los orígenes de React Native

Si te estás preguntando sobre la historia de este marco, se remonta a La tecnología React de Facebook , que es una biblioteca de JavaScript destinada a la creación de interfaz de usuario. Lo más notable de React es que ha existido por poco menos de dos años, aunque ya es bastante popular en ese corto tiempo. Lo que distingue a esta tecnología es cómo acomoda la lógica y la presentación al mismo tiempo, lo cual es otro movimiento audaz por parte de Facebook.

La tecnología React se basa en unidades de código que se comportan como clases. Estos componentes luego absorben datos y crean HTML en base a dichos datos. Además, los componentes individuales incluso ofrecen a los desarrolladores una funcionalidad específica, lo que les permite ser utilizados en conjunto para diferentes proyectos. Esto tiene el efecto general de promover la reutilización y de racionalizar el pensamiento detrás de la lógica de programación.

Lo que dice Facebook

Es útil e instructivo leer lo que la gente de Facebook dice sobre el lanzamiento de su proyecto. El líder del proyecto React Native, Tom Occhino, escribió que el marco otorga a los diseñadores una libertad sin precedentes. Destacando el hecho de que sus componentes son funciones ininterrumpidas que reflejan lo que los desarrolladores están viendo, Occhino hizo hincapié en cómo los desarrolladores pueden omitir el paso habitual de la lectura desde la implementación básica vista renderizada antes de escribir en ella.

En el sitio web React Native, Facebook también señaló que los diseñadores tienen la capacidad de utilizar componentes fundamentales de la plataforma, como el controlador de navegación UI para iOS y la barra de pestañas UI. Como resultado, esto crea aplicaciones que presentan un aspecto uniforme y una sensación que es coherente con toda la plataforma. También eleva la barra en términos de calidad. Los diseñadores pueden estar contentos de que los componentes se incluyan sin esfuerzo en una aplicación a través de sus componentes equivalentes de React Native, como Navigator IOS y Tab Bar IOS.

La reacción inicial al nuevo marco de Facebook ha sido en general positiva, y se ayudó a que reacción positiva vinieron de personas como el desarrollador de Mozilla James Long. Por supuesto, ahora que React Native está ampliamente disponible, solo el tiempo dirá cómo se recibió realmente. En este punto, la reacción se ha dividido en dos campos: los que dan la bienvenida a esta noticia con los brazos abiertos y los que son escépticos e incluso críticos de este cambio ambicioso en el desarrollo de aplicaciones de Facebook.

La gran lección de esto es cómo React Native de Facebook está buscando cambiar significativamente la industria de desarrollo de JavaScript, para bien o para mal. Cuando tomes esta noticia con el Proyecto NativeScript de Telerik, sin duda parece que los desarrolladores de JavaScript se encuentran en algunos momentos difíciles.

Para escuchar a Facebook decirlo, y sí, somos conscientes del hecho de que tienen que tocarse la bocina al anunciar el lanzamiento de su nuevo proyecto, están muy entusiasmados con lo que esto significa para la industria del diseño. Occhino se sumó a la exageración, diciéndole al mundo cuán "entusiasmado" estaba la compañía por hacer que React Native esté disponible para todos en GitHub y lanzarlo como una herramienta de código abierto para iOS.

Luego aseguró al mundo que el soporte de Android llegará pronto (sin embargo, pronto se puede adivinar) y que Facebook planea seguir con la iniciativa React for the Web. El plan de la empresa parece haber sido el de liberar el soporte de iOS lo antes posible para recopilar la mayor cantidad de comentarios posible de los primeros usuarios de este marco, y luego tomar esa información y darle un buen uso para el soporte de Android en el futuro.

Lo que depara el futuro

Al igual que con todos los lanzamientos de diseños nuevos, a los primeros adoptantes siempre se les recuerda que lo que están obteniendo de sus manos está lejos de ser perfecto. Entonces, cuando estés experimentando con React Native, no te sorprendas si algo no se ha implementado de la manera que crees que debería o si algo funciona de forma incorrecta. En cualquier situación, Facebook lo tiene cubierto porque invita a todos los usuarios iniciales a dar la mayor retroalimentación posible desde el primer momento.