¿Qué costo debo pagar si estoy desarrollando mi sitio web sin la ayuda de ningún marco web?

Para los proyectos que entran en producción, se desaconseja evitar los marcos porque le cuesta tiempo , cosas equivalentes a tiempo y todos los beneficios del código repetitivo de alta calidad que alguien más ha escrito para usted. Las bibliotecas y los marcos populares (front-and-end) tienen soluciones comprobadas para cosas como manipulación DOM, AJAX, enrutamiento de solicitudes, MVC, filtrado XSS, protección CSRF, acceso a la base de datos independiente del motor, ACL, validación de correo electrónico, etc. Problemas comunes que no siempre son fáciles de resolver. Si el proyecto es por pago, estaría perjudicando a su empleador al tomarse el tiempo para reinventar la rueda.

Editar para agregar: en los comentarios, Mark Simchock señala que tener un marco o dos en su currículum también puede hacerlo más atractivo para los empleadores. No tener esa ventaja podría ser otro costo.

Ahora vamos por la respuesta larga. En este contexto, hay dos razones básicas para comenzar un proyecto de software:

  1. Para crear un producto útil
  2. Aprender algo

No son mutuamente excluyentes, pero debe averiguar cuál es más importante lo antes posible y abordar el proyecto en consecuencia. Si su objetivo principal es aprender algo, a veces tiene sentido replicar partes de un marco solo para ver qué tipo de ingeniería requieren. Probar eso una vez también puede ayudarlo a pasar de “Usar este código se siente como hacer trampa” a “Este es un problema no trivial que es tangente a mi objetivo y me alegra que alguien más lo haya resuelto por mí”. Puede ser difícil apreciar una herramienta bien escrita como jQuery o Rails hasta que haya intentado normalizar Javascript con DOM pesado en los navegadores o lidiar con los espaguetis de fondo, pero es más fácil ver cuánto trabajo ahorran si intenta clonarlos .

Trate de no pensar en las herramientas como una muleta. No se trata de si puedes reproducirlos; la pregunta es si vale la pena, y la respuesta es casi siempre no. Una buena ingeniería de software se trata de gestionar la complejidad y obtener un código sólido. Cualquier cosa que le permita cambiar su enfoque de lo que exactamente va a escribir a lo que su aplicación va a hacer es una herramienta que lo hace más efectivo. El truco es descubrir qué detalles no le interesan y ver si algún otro proyecto puede manejarlos por usted.

Por supuesto, habrá momentos en que las soluciones que existen no sean lo suficientemente buenas. Si está haciendo algo que nadie ha hecho antes, puede terminar escribiendo la primera herramienta que resuelve un nuevo problema, y ​​si eso sucede, estaría haciendo un servicio a todos si lo lanzara para que otros puedan beneficiarse de las lecciones que usted aprendido.

More Interesting

¿Dónde puede encontrar plantillas html / css gratuitas que se puedan utilizar en un sitio web personal o de la empresa?

¿Es importante aprender SVG y Canvas en HTML? ¿Dónde se usan estas cosas?

¿Es necesario un título en informática o una pérdida de tiempo en comparación con la autoaprendizaje para conseguir un trabajo como desarrollador front-end?

¿Qué obtiene Facebook de React y React Native de código abierto?

¿Por qué alguien debería usar Rails sobre Laravel?

¿Qué necesito para aprender todo sobre JavaScript por mi cuenta?

¿Cuáles son algunas buenas ideas para que mi cartera de desarrollo web muestre mis habilidades en php y diseño receptivo? Aparte de un jpg y un enlace al sitio en vivo

¿Cuál sería el mejor marco de desarrollo web para un sitio de servicio?

¿Cuáles son las aplicaciones en tiempo real del algoritmo de Warshall y Floyd?

¿Se necesita el código fuente para rastrear el tráfico móvil para un sitio web receptivo?

Nuestro restaurante tiene un sitio web creado con WordPress, quiero agregar pedidos en línea. ¿Cuál sería la mejor manera (agregar un complemento (cuál) u otra cosa)?

¿Cuáles son las diferencias entre px, em y% en CSS? ¿Cuál debo usar y por qué?

Cómo nombrar clases secundarias CSS, cuando hay una profundidad mayor que 3

Si Heroku usa PostgreSQL, ¿cómo puede una aplicación Rails local que utiliza una base de datos MySQL o SQLite funcionar perfectamente con ella?

¿Qué tecnologías se deben usar si quieres hacer un servicio como Flickr?