¿Qué es React?

React surge de una necesidad, la de resolver los problemas en los que se encontraba Facebook para realizar el mantenimiento del código de los anuncios dentro de su plataforma Facebook Ads Org. Con el crecimiento de la compañía, surgieron nuevas necesidades/requerimientos que se transformaron en un código no paraba de aumentar en cantidad y complejidad cada día más y más. Todo esto se traduce en invertir más dinero para cubrir sus necesidades de más ingenieros para poder realizar el mantenimiento del producto.

Logo React

Estos problemas provocaron que se buscará una solución urgente. Este escenario es ideal para la gestación de React y aquí es donde entra en juego Jordan Walke al que se él encarga el desarrollar una solución. Por tanto, el desarrollo de ReactJS se inicia en 2011, en un proyecto de Facebook liderado como no por el ingeniero de software Jordan Walke, el cuál podemos afirmar que es el padre de React. En los orígenes de la creación React, se inició con la creación de un prototipo que recibió el nombre de FaxJS.

React buscaba optimizar y otorgarle cierta rapidez a la carga de contenidos a la red social de Facebook. El objetivo principal de React es organizar los elementos sobre una interfaz dividiendo dicha interfaz de usuario (UI) en una colección/conjunto de componentes. Los componentes nos permiten dividir una aplicación web en pequeñas partes donde cada parte es independiente y aunque estás partes sean independientes las podemos trabajar juntas o unirlas para realizar una aplicación web. React, además, destaca por ser SPA (Single Page Application). Con SPA, nos referimos a aplicaciones de una sola página.

El pistoletazo oficial que simboliza el lanzamiento de esta librería, no se efectuó por parte de Facebook hasta 2013. Aquí podemos ver a Jordan Walke realizando la primera charla de presentación de React. Os adjunto el enlace de la charla completa: https://www.youtube.com/watch?v=GW0rj4sNH2w

React en la actualidad

Cuando hablamos de React, estamos hablando de una de las librerías más importantes y populares de todo JavaScript. De código abierto licencia MIT (una licencia que se caracteriza por ser bastante blanda debido a que es una licencia libre, de código abierto y sin copyleft, por todo ello, podemos afirmar que nos encontramos ante una licencia bastante blandita).

Muestra de esa importancia y para ayudarnos a aterrizar y coger un poco de contexto sobre la importancia de esta librería en el desarrollo Web/Front actual, vamos a ver una imagen que hemos obtenido de divante.com.

En la gráfica, podemos ver el total de consultas que se lanzan por mes en Stack Overflow sobre jQuery, AngularJS, Angular y ReactJS durante el transcurso de casi la última década desde 2009 hasta 2019. En este gráfico, podemos ver un cambio de tendencia a favor de dos puntales como son: ReactJS y Angular que literalmente se están comiendo a jQuery con patatas.

Tipos de React

Normalmente cuando hablamos de React, nos referimos a React.js o ReactJS, pero de dentro del mismo troncal (de React) salen tres ramas diferentes: ReactJS, React Native y React VR. ¿Sobre cuál de ella estamos trabajando?

ReactJS VS React Native VS React VR

Tres vertientes que nacen con el fin de cubrir necesidades distintas y que nos permitirán diferenciar dentro del troncal principal de React según las necesidades que cubren. Aunque las tres son hijas del mismo padre, saber situar sobre cuál de ellas estamos trabajando es importante, para ello vamos a explicar un poquito sobre las 3 versiones de React:

  • ReactJS: está destinado a la creación de interfaces de usuario para aplicaciones web.
  • React Native: está destinado a la creación aplicaciones móviles nativas con JavaScript en: Android, iOS, multiplataforma (híbridas)…
  • React VR: está biblioteca de JavaScript, está destinada al desarrollo de aplicaciones web en realidad virtual. Tales como: escenas en 3D (3 dimensiones) como también al desarrollo de interfaces de usuario interactivas mediante al uso de la realidad virtual.

Los tres Reacts tienen una sintaxis muy similar, pero aunque se parecen mucho no es idéntica. Ya que cada uno está destinado a cubrir unas necesidades distintas y por ello cada uno tiene sus peculiaridades.

Por ejemplo ReactJS usa HTML y React Native utiliza su propia sintaxis. Hay que matizar que pese a sus pequeñas peculiaridades, las tres bibliotecas de React son proyectos de código abierto desarrollados por Facebook.

Compañías que usan React

Algunas de las grandes compañías que usan React son: Facebook (como no, no podía faltar la empresa creadora de React), Instagram, Netflix, Skype, Airbnb, WhatsApp, Wix, Uber, Dropox… La lista como os podréis imaginar se podría extender mucho más.

Ventajas de React

Algunas de las ventajas de React son:

  • Veloz y reutilizable: La carga de páginas con ReactJS son más rápidas debido a que crea interfaces de usuario basándose en componentes como unidad primaria. Estos componentes se pueden escribir una sola vez, para posteriormente reutilizarlos. Esto, se realiza escribiendo componentes que posteriormente iremos reutilizando añadiéndolo dicho componente al DOM. Estos componentes podrían ser por ejemplo: un vídeo, un botón, una imagen barras de navegación, etc.
  • Respaldado por Facebook: el tener una gran compañía como Facebook detrás de esta tecnología siempre es y será un beneficio.
  • Entró en el mercado en el momento perfecto: Angular cambió de versión dejando de dar retrocompatibilidad a las versiones anteriores. Provocando un malestar en todos los desarrolladores que en muchas ocasiones se traducía en miedo a que se volviera a repetir esta situación y que decidieran buscar alternativas a Angular debido a la desafortunada decisión que tomó Angular y todo este malestar provocó que muchos programadores se cambiarán hacía React debido a que como hemos dicho en el punto anterior está respaldado por Facebook.
  • Single Page Application (SPA): el poder que nos otorga el poder trabajar sobre una única sola página. Nos da el añadido de no tener que estar recargando la página constantemente.
  • Similitudes con otros Frameworks como: Angular, Vue.JS, Meteor, etc. Por tanto, si aprendemos React, nos será “bastante sencillo” cambiar de un framework a otro ya que tendremos experiencia y tienen un comportamiento “similar”.

Bueno, ya hemos aterrizado en esta tecnología en próximas lecciones seguiremos adentrándonos un poquito más en esta librería. ¡Un saludo Reacter@s!