¿Qué opinas de todos los marcos de JavaScript? ¿Es una forma de ‘hacer trampa’ cuando no estás usando JavaScript nativo?

Si aprovechar un marco como una capa de abstracción sobre JavaScript vainilla fuera “trampa”, probablemente también consideraría la siguiente “trampa”:

  • Usar calculadoras en lugar de realizar cálculos matemáticos a mano al determinar la cantidad de peso que podría soportar un puente de cercanías.
  • Conducir o ir en bicicleta al trabajo cuando en su lugar podría caminar.
  • Vierte vino para tus amigos cuando podrías en cambio entregarles uvas y enseñarles los conceptos básicos de la fermentación.
  • Aprovechando los condones cuando podría aprovechar la estrategia de “retirarse”, o “mejor”, abstenerse por completo de las relaciones sexuales.

Los lenguajes de computadora en sí mismos existen como formas de abstraernos del lenguaje de máquina, y hemos hecho muchas abstracciones para llegar al punto en que JavaScript era útil. Pretender que JavaScript es el pináculo de la abstracción sería tirar muchos avances que hemos hecho como programadores en aras de la pureza, algo que la lógica debería indicar no es propicio para continuar progresando en nuestro propio campo.

Debe comprender qué marcos están haciendo por usted y determinar si es lo suficientemente ventajoso como para que el marco lo haga. Pero nunca debe sentir que aprovechar una abstracción es “hacer trampa”. Estamos donde estamos hoy poniéndonos sobre los hombros de gigantes, específicamente, aquellos que sacrificaron su tiempo para que podamos trabajar hacia un futuro mejor.

Los frameworks de JavaScript fueron una solución a un problema que muchos desarrolladores enfrentaban. Proporcionó una forma de organizar nuestro código para grandes aplicaciones web.

jQuery fue muy útil para la manipulación de DOM entre navegadores y llamadas AJAX, nos permitió crear aplicaciones web más grandes y complejas, pero al mismo tiempo estábamos terminando con un montón de código anidado que era muy difícil de administrar.

Fue entonces cuando los marcos como Backbone acudieron al rescate, para hacer que las aplicaciones web fueran más modulares y estructuradas. Desde entonces se han creado muchos frameworks de JavaScript, pero ninguno de ellos ha sido diseñado para que dejemos de usar o no aprender JavaScript nativo. Por el contrario, el verdadero propósito de los marcos de JavaScript es que nos centremos en problemas reales y menos en trivialidades.

Entonces no, no es una forma de “trampa” si usa un marco de JavaScript. Sin embargo, si solo aprende un marco de JavaScript y omite el aprendizaje de JavaScript, entonces no durará mucho en el negocio. Los marcos de JavaScript no están aquí para quedarse, al menos como lo están ahora.

Usar un marco para cualquier idioma no es “hacer trampa”. Normalmente lo hace más productivo, agrega más potencia a un idioma y lo hace más eficiente para que no tenga que seguir escribiendo código repetitivo.

Los marcos a menudo resuelven un problema bien conocido o una restricción de productividad y hacen que su vida sea más fácil, y si el uso de ellos es una trampa, ¡todos son un tramposo!

Sin embargo, una cosa que sugeriría es que para usar los marcos de manera efectiva, debe ser capaz de evaluarlos. Un framework no es un lenguaje, usará muchos de ellos, pero necesita conocer los fundamentos del idioma elegido para poder aplicarlos bien.

Si no conoce los fundamentos, entonces tal vez sea un desarrollador Vue en lugar de un desarrollador JS. Entonces, una vez que Vue deja de ser el sabor del mes, ¿qué haces?

JavaScript nativo es un mito … 🙂

Cuando usa un marco, todavía usa JavaScript, por lo que la pregunta podría formularse de manera diferente (a la gente le gusta hablar de Vanilla JS).

Pero espera. Haces una gran aplicación. Eres un buen programador, por lo que aíslas las partes: una para hablar con el servidor, otra para manipular el Dom, quizás usando plantillas para hacer componentes, aislas la vista del controlador y los datos, etc.

En resumen, solo estás reinventando otro marco. Excepto que no está probado en batalla, y tal vez hubieras preferido pasar tiempo trabajando en la aplicación en lugar de en la forma de implementarla … 🙂

Entonces, no, eso no es trampa, lo que sea que eso signifique, es ser pragmático y eficiente.

Creo que Frameworks está hecho para proporcionar velocidad y consistencia al escribir código. No debe condenar a nadie por usar una lavadora, por lo que condenar a cualquiera por usar un marco no solo tiene sentido. Reinventar la rueda no necesariamente te convierte en un mejor desarrollador.

Por otro lado, te aconsejo que aprendas JavaScript nativo. Le ayuda a comprender mejor los marcos y también ayuda a su flexibilidad.

No es trampa si no estás en una clase o algo que requiere que lo hagas usando Javascript vainilla.

Pero … la gente debería aprender a hacer Javascript sin frameworks primero, en mi opinión. Y cuando usan frameworks, deberían considerar cuánto puede causar problemas más adelante, si se vuelve impopular, si las personas desean agregar características que no fueron anticipadas por el framework, y así sucesivamente.

Algunos dicen que hacer cosas en Javascript simple requiere reinventar la rueda. Sin embargo, para mí, reinventar la rueda puede considerarse una práctica para inventar [algo que aún no se ha inventado].

Tiendo a evitar los marcos yo mismo. Me alegra saber cómo hacer la mayoría de las cosas sin que algo lo haga por mí. Pero mi enfoque no es para todos.

Las herramientas están disponibles para hacer las cosas más rápido. JQuery fue creado para ayudar a los desarrolladores a escribir código de navegador cruzado.

Solo estás haciendo trampa si solo conoces jQuery y no tienes una buena comprensión de los fundamentos de JavaScript.

Además, aprender el idioma lo ayudará a aprender el marco más rápido.

En una clase destinada a aprender Javascript nativo, puede ser amonestado por usar un marco. Esto se debe a que si usa un marco, no dominará Javascript nativo, que es la intención de esa clase.

Es como romper un bloque de madera con un martillo en una escuela de Karate, cuando se supone que debes usar tus manos desnudas. Sin embargo, nadie lo acusaría de “hacer trampa” si usara una sierra eléctrica en lugar de las manos desnudas en su trabajo en una fábrica de madera.

Lo mismo ocurre con el uso de marcos para Javascript para hacer las cosas. Si facilita su trabajo, úselo.

No es trampa. No necesita reinventar la rueda una y otra vez.