¿Cuáles son los pros y los contras de la abstracción en el contexto del desarrollo web?

La abstracción es un concepto general que cubre muchas cosas diferentes.

HTML es un lenguaje base, y si necesita hacer desarrollo web, debe aprenderlo a menos que planee hacer páginas de uso general con muy poca capacidad funcional.

En algún momento tendrás que mirar el HTML y descubrir qué hizo mal tu abstracción.

abstracción (general):

  • Hacen las cosas más lentas, las capas de abstracción tienden a tener un costo en la velocidad de procesamiento.
    • Puede que esto no sea un gran problema para muchos, pero puede comenzar a sumarse rápidamente.
      • Una vez reescribí una aplicación escrita en Ruby que era tan abstracta que me llevó horas cargar una lista (Literalmente), la reescribí en Java y la convertí en unos 3 minutos, agregué algunas claves a la base de datos y la reduje a unos pocos. segundos.
      • Una página PHP que tardó 2 minutos en cargarse, después de reescribirla en PHP, tardó 3–4 segundos, y la alteración de la base de datos la redujo a 2 segundos. (El 90% del tiempo de carga fue el marco después de eso, lo que significa un marco pobre).
    • El factor común, reduzco significativamente el nivel de abstracción. Python es un lenguaje con script, como PHP, lo que significa que tiene que reconstruir las capas de abstracción cada vez, esto puede ser costoso.
  • puede hacer que las cosas sean más difíciles de depurar / seguir. La abstracción generalmente hace que la unidad (clases o métodos) sea más fácil de seguir, pero es más difícil ver cómo se unen al conjunto (Integración), ya que tales errores tienden a moverse y se vuelven más difíciles de encontrar.
  • Además, los errores son menos probables. Aunque tienden a ser más espectaculares cuando se encuentran.
  • Tiende a hacer que el desarrollo sea más rápido (hasta cierto punto), sin embargo, demasiado puede ralentizar el desarrollo, los frameworks pesados ​​como Zend Framework (PHP), Spring (Java) son excelentes ejemplos de frameworks pesados ​​que están básicamente sobre diseñados.

Espero que esto te de alguna idea.

No hay verdaderas desventajas para la abstracción.

En cuanto a su pregunta específica … “aprender HTML desde cero” es básicamente como “aprender a cambiar un neumático”. Realmente no es un problema que no toma tiempo para alcanzar un nivel útil.

Pero en estos días … Nadie crea sitios web desde cero. Usas Bootstrap y / o SASS y / o React y lo que sea que sea lo más nuevo y brillante que hay.

Eso le da una gran cantidad de tiempo y energía, y facilita que otros trabajen con su código.

Absolutamente haz eso. No hagas esta mierda desde cero. No hay una buena razón para aprender excepto al principio.