El autor del material, cuya traducción publicamos hoy, ofrece reflexionar sobre el futuro del desarrollo web. A medida que las tendencias de popularidad de la tecnología comienzan a cambiar hacia la biblioteca React, es fácil percibir la importancia de la cuestión de cuán relevante, después de un tiempo, resultará ser el marco angular. Está claro que al final solo una tecnología obtendrá el primer lugar, y esto hace que los desarrolladores web, especialmente aquellos que recién están comenzando su camino, se pregunten qué elegir.

Desde que Facebook cambió la licencia React de BSD a MIT, esta biblioteca parece haber florecido en todos los rincones del mercado global de desarrollo web. Sin embargo, los empresarios y las startups generalmente tampoco entienden esto de inmediato, React no es un sistema integral para el desarrollo front-end. Esta es solo una biblioteca, uno de los muchos bloques de construcción, entre los que ayudan a convertir rápidamente una pequeña aplicación en un proyecto más grande, en un sistema basado en componentes que están aislados unos de otros.
Reacción de confrontación y angular
Facebook se usa a menudo como un excelente ejemplo del éxito de React. Pero esta biblioteca es solo una gota en el océano de la gran cantidad de tecnología que utiliza este gigante técnico. Después de todo, es solo una biblioteca de JavaScript para desarrollar interfaces.
Angular, por otro lado, es una colección de bibliotecas que, trabajando juntas, forman un todo único.
Hay algunas tareas que pueden resolverse cualitativamente por medio de Angular, que se descuidan completamente en React, mientras que algo más en React es más eficiente. Los desarrolladores siempre estarán inclinados al hecho de que conocen bien y, como resultado, ni siquiera intentarán mirar otros paradigmas que puedan adaptarse mejor a su situación. O tal vez este tipo de pensamiento a menudo es característico de los desarrolladores principiantes y de nivel medio.
A pesar de la creciente popularidad de React, no se debe olvidar que Angular goza de un apoyo serio de una empresa que no es inferior en tamaño a Facebook, o incluso lo supera. Se trata de Google. Al mismo tiempo, se han desarrollado ecosistemas igualmente potentes en torno a metodologías de desarrollo front-end promovidas por Angular y React, en las que hay eventos serios, así como importantes especialistas que abogan por esta o aquella tecnología. Es cierto que hay otra tecnología que está creciendo en términos de popularidad, ubicada, a juzgar por lo que ofrece al desarrollador, entre Angular y React. Este es el marco Vue.
Vue
Datos de Google Trends. Línea Roja - Angular, Azul - Reaccionar, Amarillo - VueEl marco Vue es un recién llegado a la "clase" de herramientas de desarrollo front-end, su popularidad está creciendo gradualmente, por lo tanto, hablando de React y Angular, no debemos olvidarlo. Aunque la comunidad alrededor de Vue es mucho más pequeña que las comunidades Angular y React, la creciente popularidad de Vue puede explicarse por el hecho de que es una herramienta liviana, no tan compleja como Angular, pero que ofrece al programador más funciones de las que ofrece la funcionalidad básica de React.
El creador de Vue está muy familiarizado con el marco AngularJS. Los principios en los que se basa son mucho más fuertes que en el caso de Angular moderno, que recuerdan los principios subyacentes a React.
Los desafíos de la adopción de tecnología y los hábitos de los programadores.
Sin lugar a dudas, es fácil descubrir React, solo crea una aplicación completamente funcional basada en esta biblioteca, que, sin ningún problema, se puede convertir en una aplicación móvil nativa. Esta biblioteca es popular entre los desarrolladores principiantes.
Es más difícil dominar Angular antes de poder crear algo sobre la base de este marco, tendrá que lidiar con algunas cosas adicionales. Este marco toma prestados conceptos e ideología de Java, una tecnología que se utiliza principalmente para el desarrollo de backend y desempeña un papel fundamental en la infraestructura de software de Google. En Facebook, por otro lado, PHP es ampliamente utilizado, lo que, como resultado, ha llevado a una fuerte influencia en los principios adoptados en este lenguaje por React.
Puede pasar fácilmente todo el día comparando React y Angular, pero lo más importante de esta comparación es que ambos sistemas se distinguen por comunidades poderosas y pueden atraer programadores con experiencia en ciertas tecnologías. Cabe señalar que las startups están más inclinadas hacia React, ya que se esfuerzan por garantizar que las herramientas que utilizan brinden el nivel más bajo posible de carga adicional para los desarrolladores. Su supervivencia depende de qué tan rápido puedan ingresar al mercado, qué tan bien pueden satisfacer la demanda y cuán exactamente pueden encajar en las tendencias.
Pero muchas startups pierden una cosa importante: cuanto más bajas son las barreras de entrada, menor es la calidad. A medida que aparecen más y más programadores autodidactas que dependen de los recursos de la comunidad en torno a React, ciertas cosas, como los paradigmas de programación y la limpieza del código, se desvanecen en el fondo. Esto no quiere decir que todo sea mucho mejor en el entorno Angular, pero en el caso de Angular, el programador debe trabajar dentro del marco bastante rígido prescrito por este marco. React no tiene ese marco.
Vue tiene su propio espacio de vida pequeño, este marco pretende ser la respuesta a la pregunta de cuál es mejor, angular o reaccionar, para aquellos que no quieren iniciar las barricadas de una de las partes en conflicto, comenzando el camino de un desarrollador web.
¿Qué usa netflix?
Resulta que Netflix, entre muchas otras tecnologías y herramientas de infraestructura, usa React. Si imagina un dispositivo de aplicación, por así decirlo, a vista de pájaro, resulta que las tecnologías front-end representan solo una pequeña parte de lo que se usa en el proyecto.
PayPal, por otro lado, usa Angular, produce secuencias de
ng
caracteres, que se encuentran aquí y allá en el código HTML generado por los recursos de la compañía.
HTML de PayPalNetflix y PayPal son grandes compañías que ocupan ciertos nichos de mercado. Ambos no tienen relación alguna con Angular o React, en el sentido en que Google y Facebook están asociados con ellos. Pero cada una de estas compañías, eligiendo, respectivamente, React o Angular, resuelve con la ayuda de una u otra tecnología la tarea de desarrollar las interfaces de sus aplicaciones.
Aquí podemos decir que el código heredado, o cualquier otra cosa, influyó en la elección de las tecnologías por parte de estas empresas. Pero ambas compañías tienen recursos suficientes para contratar tantos programadores como sea necesario para trabajar en su código utilizando las tecnologías seleccionadas.
Por cierto, es interesante notar que GitLab, desde 2016, usa
Vue .
La herramienta no es lo principal. Lo principal es resolver problemas
Existe la sensación de que en los acalorados debates sobre qué tecnología es mejor que la otra, se olvidan de un tema muy importante, que es exactamente lo que mejor puede resolver un determinado problema, para ayudar a lograr un determinado objetivo.
Si el objetivo es la velocidad de desarrollo con un presupuesto pequeño, entonces probablemente sea mejor mirar hacia React. Si necesita algo más ambicioso, holístico y bien adaptado para compartir, un conjunto de herramientas que permita, debido a la necesidad de un estudio bastante serio de este conjunto de herramientas por parte de los desarrolladores, crear soluciones más confiables, entonces debe elegir Angular. Pero, ¿qué pasa si necesitas sacar lo mejor de los mundos de React and Angular? Los defensores de Vue definitivamente verán en esta situación un buen ejemplo de su marco favorito.
La popularidad de Angular no cae con el tiempo. Más bien, podemos hablar sobre cambiar el foco de atención. Mientras React está "devorando" un "pedazo de pastel" más grande que el ecosistema de desarrollo Angular, Angular, a pesar del crecimiento de React, todavía no piensa en perder terreno.
Información sobre los resultados de búsqueda de Google Trends durante 5 años. Línea Roja - Angular, Azul - ReaccionarAdemás, vale la pena señalar que Angular, se puede decir, prácticamente ha reconstruido su comunidad después de que este marco ha evolucionado de AngularJS a lo que existe hoy en día. Aunque este marco tenía muchos seguidores, todos ellos, después del lanzamiento de Angular 2, tuvieron que volver a aprender.
Si analizamos la situación con esto en mente, resulta que Angular, en la forma en que se conoce hoy en día, es tres años más joven que React. La versión original de Angular, debido a sus diferencias con Angular 2+, puede, de hecho, ser ignorada.
Resumen
Si usted es un desarrollador novato que está tratando de encontrar una respuesta a una pregunta sobre lo que necesita aprender, se recomienda no pensar demasiado en ello. Después de todo, al final, todo se reduce a JavaScript ordinario, por lo que puede ser mejor aprender primero las tecnologías básicas y luego tratar con todo tipo de "cosas interesantes".
Independientemente de la tecnología que elija, estará tratando con ideas que se aplican a otras tecnologías que hacen que sea más fácil tratar con ellas. Lo más importante es estudiar realmente bien su primer marco y aprender a hacer algo con él que vaya más allá de la notoria aplicación ToDo.
Esfuércese por convertirse en un desarrollador que conozca bien los paradigmas de programación, no intente apegarse demasiado a una cosa. Entre otras cosas, estudie la arquitectura de las aplicaciones, el diseño y el desarrollo de componentes, comprenda las características del comportamiento de los flujos de datos en las aplicaciones y las tecnologías maestras para administrar el estado de las aplicaciones.
La capacidad de utilizar libremente, independientemente de la plataforma específica, el conocimiento y las habilidades de este tipo: esto es lo que distingue a los programadores novatos y los programadores de nivel medio de los especialistas de clase alta.
Estimados lectores! ¿Qué consideraciones sigue al elegir las herramientas de desarrollo front-end para sus proyectos?
