¿Son realmente necesarios los frameworks JavaScript de front-end como Angular para el desarrollo web?

No hay ninguna razón para aprender un marco. Bueno, debo calificar eso diciendo que no hay razón para aprender un marco por razones técnicas. De hecho, los aplaudo por centrarse en el desarrollo de Vanilla JS. Ahí es donde radica la verdadera habilidad. Ahí es donde se crea el valor real.

Dicho esto, estoy muy feliz de haber aprendido marcos. No los necesitaba , per se, pero encontré un gran valor en ellos. Aprender un marco puede ser una gran ayuda para su carrera, ya que muchas grandes empresas aprovechan los marcos, y esto ha sido cierto para mí.

Además, un marco no es más que una aplicación preescrita. Sería lo mismo que comenzar un trabajo en una empresa y aprender la aplicación que el equipo había desarrollado. Solo que, en este caso, la aplicación se está difundiendo a lo largo y ancho.

Como tal, a medida que comienza a aprender la aplicación, comenzará a aprender las filosofías subyacentes que influyeron en sus decisiones de arquitectura y diseño. Aprenderá a diseñar mejor sus propias aplicaciones al asimilar su aplicación. Ese es un valor significativo. Esto puede ser especialmente valioso si eres como muchos desarrolladores de JS y ves el DOM como el núcleo de una página web. Esa perspectiva está cambiando, y aprender un marco orientado a JS como React o Angular puede brindarle una gran visión del futuro del desarrollo de aplicaciones web.

Ahora, sobre su desconfianza en Google y Facebook.

Creo que tener una desconfianza saludable hacia dos corporaciones desalmadas es la elección correcta. Como dije anteriormente, si está buscando trabajo, aproveche su competencia y conozca sus marcos para participar del mercado laboral que crean.

Para sus propios proyectos, o para proyectos que está liderando, existen dos grandes marcos que son FOSS y que también están siendo desarrollados principalmente por independientes y la comunidad: Ember y Vue.

Ember es un marco antiguo y tiene una gran cantidad de implementaciones. El número de trabajos es mucho menor que Angular o React, pero obtendrá trabajos. Vue es muy nuevo. Su popularidad ha surgido principalmente en los últimos 12 a 18 meses. Casi todo su desarrollo está siendo realizado por su creador, Evan You. No eres más independiente que un tipo en un apartamento.

Me quedo con Angular porque las oportunidades de trabajo son muy importantes para mí. Recomendaría aprender al menos uno de los principales marcos, porque hablando desde la experiencia personal y el crecimiento de habilidades que he logrado en los últimos seis meses, crecerá como desarrollador si aprende, aprende profundamente, un marco.

Lo veo mucho de los desarrolladores web. Y los temores son equivocados para ser brutalmente honestos. Un marco de trabajo no le impide construir solo con su propio JavaScript, pero lo que proporcionan es una forma de arrancar rápidamente un conjunto común de herramientas para usar para construir una aplicación. Esto se vuelve mucho más importante cuando tienes proyectos que involucran a más de un desarrollador o pueden ser mantenidos por otros desarrolladores en el futuro. En perspectiva, cada proyecto en el que he trabajado se entregó a otro desarrollador o me lo entregó a mí. Y preferí enormemente aquellos construidos en un marco bien conocido y bien documentado porque entonces la única parte “difícil” real con la que debemos lidiar es el caso de uso comercial. El resto del código, e incluso la estructura del proyecto, está definido por el marco utilizado y son unas horas de lectura en lugar de semanas de adivinar qué parte hace qué.

Estos marcos también son fantásticos para ayudar a mantener grandes conjuntos de códigos organizados. Si está creando un sitio con solo un par de páginas con poca o ninguna porción dinámica que requiera acceso a una fuente de datos, es posible que no lo necesite. Pero cualquier aplicación de cualquier tamaño real puede beneficiarse de una aplicación bien estructurada y construida de manera consistente, que tenga formas bien estructuradas de manejar datos y vistas … que es lo que proporcionan estos marcos.

También recuerde, la mayoría de los marcos, incluidos Angular y React, son de código abierto. Lo que eso significa es que el éxito no está críticamente vinculado a la corporación. Tampoco pueden colarse en códigos traviesos que hacen cosas peligrosas como “llamar a casa” y pueden ser auditados (y a menudo lo son) de forma independiente ya que cualquiera puede entrar en el código y echar un vistazo.

Y por último. Me parece que un marco creado por múltiples desarrolladores y, a menudo, con la ayuda de una comunidad, a menudo será de una calidad mucho mejor que la que uno podría esperar hacer solo. Entonces, ¿por qué debería reinventar la rueda y hacerlo mal? Luego, haga que otro desarrollador se haga cargo y tenga que esforzarse por aprender su marco personalizado (o ningún marco en absoluto, solo un montón de scripts) cuando pueda obtener un montón de beneficios sin inconvenientes reales.

La pregunta es: ¿por qué no confías en Facebook o Google? ¿No confías en ellos para mantener la biblioteca / marco? ¿O cree que pueden inyectar código malicioso en ellos para apoderarse de sus sitios (lo que sería ilegal y sometería a dos de las empresas públicas más grandes del mundo a cargos por delitos graves y, lo que es peor, arruinará lo único que los hace rentables: su reputación – que ambos han trabajado más de una década para construir)? El primero ha demostrado ser bastante infundado con el tiempo. Ambos han mantenido sus respectivos trabajos. Google, de hecho, se ha comprometido a mantener la versión ANTIGUA de Angular durante varios años (el compromiso fue hasta que el uso cayó por debajo de un cierto porcentaje, que era del cincuenta por ciento o menos, aunque no recuerdo el número de mi cabeza) , y durante un mínimo de cinco años), incluidos los parches nuevos, ahora que la nueva versión está disponible. Además, ambos están en un punto de madurez ahora, especialmente AngularJS (la versión anterior) que, ¿a quién le importa? Realmente no hay mucho que sea crítico para soportar o modificar de forma regular.

Déjame decirte claramente por qué comencé a aprender React a JavaScript Framework.

Básicamente, después de aprender Vanilla JavaScript y hacer sitios web, quería elegir un marco ya que todas las demás personas sobre las que leo están usándolos. Simple. Ahora tenía que elegir entre los diversos marcos disponibles. Vue.js entonces estaba empezando a salir a la luz, de lo contrario me hubiera ido con eso.

Entre Angular y React, simplemente seguí adelante con React simplemente porque la misma arquitectura me permitió crear aplicaciones móviles usando React Native. Eso es. Esa fue la única razón por la que aprendí React. En aquel entonces no tenía conocimiento de por qué usar un marco.

Ahora, después de 2 años, creo fácilmente aplicaciones de escritorio y móviles de la nada usando React-Redux.

Ahora estoy trabajando en un marco basado en React y React Native para crear aplicaciones móviles y aplicaciones web con la misma base de código para que el desarrollo sea más rápido y mejor para depurar.

Si no está interesado en el desarrollo de aplicaciones móviles, diría que puede continuar fácilmente sin ningún marco. Su aplicación web será mucho más rápida y ligera y sin una curva de aprendizaje involucrada.

Depende del producto / proyecto. Para construir una aplicación web como youtube, probablemente serían necesarios múltiples marcos simplemente para organizar una base de código de aplicación web tan compleja.

Creo que la respuesta se encuentra en una pregunta más amplia: ¿cómo son útiles los marcos JS front-end? Si investiga qué son y cómo se utilizan, comprenderá su papel y su importancia en las aplicaciones web complejas.

Por ejemplo, si tiene la tarea de crear un sitio web estático que nunca cambie, y su único propósito es mostrar contenido que no cambia (como una valla publicitaria), entonces un marco JS es innecesario y excesivo. Sin embargo, si se le asignó la tarea de crear una aplicación web donde los usuarios puedan interactuar, crear, eliminar y compartir contenido con un amplio conjunto de características integradas, los marcos JS lo ayudarán a resolver los desafíos relacionados con la infraestructura y las características que pueden presentarse al hacerlo. En segundo lugar, ¿por qué reinventar la rueda? Lo más probable es que las características y desafíos de su aplicación web ya hayan sido resueltos por otros desarrolladores. Podrías pasar semanas desarrollando tu propia solución cuando solo puedo instalar un paquete y tener una solución integral, probada y probada en cuestión de una hora. Hay muchos tipos diferentes de marcos JS. Algunos resuelven un problema particular, mientras que otros son marcos de aplicación “completos” más generalizados y más amplios. Un ejemplo de un marco de fecha que se usa ampliamente es moment.js, y un ejemplo de un marco de aplicación sería React o Angular.

Depende de lo que quieras decir con “necesario”.

  1. Si tiene las habilidades de programación y la inteligencia extremadamente alta para escribir por su cuenta todas las funcionalidades que ofrecen los principales frameworks (o incluso comprender de qué se trata esa funcionalidad), entonces los frameworks no serían “necesarios” para proyectos desarrollados solo por usted mismo y no requiere el reemplazo de (o adiciones) a su experiencia, lo que significa que no hay nuevos desarrolladores.
  2. Lo más importante que obtuve al estudiar Angular es simplemente estar expuesto a lo que el equipo de Google / Angular piensa sobre el diseño de aplicaciones y los estándares arquitectónicos. Si puedes entender, realmente entender, qué ofrece Angular (o el ecosistema React) a los desarrolladores, y luego decides que prefieres lanzar el tuyo, más poder para ti. Pero la ignorancia es muy peligrosa hoy en día.

Bueno, lo menos que puede y debe hacer es aprender el marco y ver qué pueden hacer.

Por supuesto, no son adecuados para todos los proyectos y sí, siempre existe el riesgo de abandonar el marco, pero no necesariamente tiene que ser un problema. Incluso si lo abandonan, no significa que su proyecto dejará de funcionar o que no podrá entregar actualizaciones.

Aparte de eso, ¿qué significa que dependería de Facebook o Google? Puede que no confíes en ellos, pero ¿cómo pueden lastimarte? No te gustará el marco, dejarás de usarlo, ¿dónde está el problema?

Depende de cómo se defina “necesario”. Sí, son solo JavaScript en su núcleo, y cualquier cosa que puedan hacer, también podría hacerlo, con el tiempo suficiente. Pero el tiempo es el problema: esos marcos han tenido miles de horas dedicadas a su desarrollo, por lo que estás duplicando el esfuerzo si sigues tu propia ruta y terminas con algo similar.

Dicho esto, hay un beneficio en reinventar estas ruedas, ya que aprenderá mucho sobre JavaScript y el desarrollo de aplicaciones en el proceso. Llegarás a apreciar cuál era la necesidad en primer lugar que requería el desarrollo de marcos.

Finalmente, sugeriría mirar algunos marcos de ‘nivel inferior’ como Vue o Backbone: son más fáciles de comenzar porque no hacen tanto y / o son menos obstinados. Apenas he tocado a Vue, pero he visto muchas cosas buenas al respecto. Me gusta Backbone como iniciador porque no estás obligado a una situación de todo o nada, solo puedes usar las partes que consideres útiles. Además, la fuente está muy bien documentada y es fácil de seguir.

No tiene que usar ninguno, pero honestamente, pueden ser excelentes herramientas. Actualmente utiliza Knockout para algunos enlaces frontales: ahorra tiempo y hace que el código sea mucho más legible. En este caso, estoy reemplazando un código mucho más complejo. Es la herramienta adecuada para el trabajo.

Depende de sus requisitos de diseño, usará angular js en su sitio web para hacerlo más eficiente y seguro, y si desea un sitio normal, entonces no necesita usarlo.

Hay mucho que puedes hacer sin ellos. Ayudan con algunas cosas, y si estás haciendo esas cosas, estarías perdiendo el tiempo tratando de rehacer lo que han hecho para ti. Ya no depende más de las organizaciones, ya que sí depende de Microsoft porque usa Windows (o Apple si usa una Mac). No les tengas miedo, pueden ser muy útiles. Pero tampoco pienses que no puedes hacer un sitio web sin ellos.

No.

Ellos no están. Puedes hacer lo que quieras mientras funcione.

Dicho esto, ¿por qué reinventar la rueda? Lo que hay ahora funciona notablemente bien para lo que es y no depende de Facebook o Google para su existencia continua. Todo el código fuente es gratuito y está disponible, puede cambiarlo para que funcione para usted.

Pero no tienes que usarlo.

Aquí es donde son necesarios:

  • Si se une a un proyecto que utiliza estos marcos. No tendría sentido rehacerlos desde cero si hay una base de código existente y es más fácil ponerse al día si está familiarizado con ellos. Si esto sucede, no es difícil ponerse al día, pero al mismo tiempo, si está buscando un nuevo trabajo, saber más cosas siempre es mejor de lo que se sabe menos.
  • Si desea trabajar más rápido utilizando marcos que ya existen y funcionan bien en lugar de trabajar más duro y hacerlo todo desde cero. Si tiene sus propias bibliotecas que reutiliza todo el tiempo, también está bien.

Pero no. No es necesario. A veces es útil, particularmente reaccionar. Pero no es necesario.

No, no es necesario, son herramientas que son para hacerte la vida más fácil.

Su propósito es preescribir funciones de uso común para que no tenga que …