¿Qué hace realmente un marco web?

Una forma abstracta de entender los marcos web, y los marcos en general, es mirarlos como un rompecabezas incompleto . Las partes que faltan son el código que escribes usando el marco. Luego, las partes ya existentes del rompecabezas hacen uso de las nuevas partes. En analogía, los marcos tienen fragmentos de código fuente preescrito y también tienen lugares en los que debe insertar su código fuente. Entonces, el código marco llama al código insertado.

Si este concepto no le resulta claro, consulte teléfonos modulares como el Moto Z, que permite a los usuarios agregar varios modos al teléfono (verifíquelos aquí), ya sea un complemento de cámara, un altavoz Amazon Alexa, etc. En analogía, los marcos son el Moto Z, mientras que el código fuente son los mods. Simplemente conecta el mod en el teléfono y está listo para comenzar. Del mismo modo, simplemente conecta su código fuente en el marco y su proyecto está listo para implementarse.

  • ¿Cuáles son los misteriosos fragmentos de código preescritos, usted puede preguntar?

Por lo general, los marcos incluyen el código que ayuda a los desarrolladores a arrancar más rápido y comenzar a hacer el trabajo real. Esto puede incluir configurar el directorio, agregar dependencias. Esto hace que su vida sea mucho más fácil como desarrollador, ya que no tiene que hacer el mismo trabajo cada vez que inicia un nuevo proyecto, sino que simplemente usa los comandos específicos del marco para crear un nuevo proyecto y comenzar a hacer el trabajo real. Pero tener marcos que nos ayuden solo durante la creación del proyecto no sería una buena idea. Es por eso que todos los marcos también incluyen componentes que ayudan a los desarrolladores durante su trabajo en el proyecto. Lo que incluyen es muy específico del marco, por lo que no entraré en muchos detalles. Pero solo para tener una idea general, los marcos pueden incluir ORM (Object-Relational Mappers), componentes que implementan el protocolo HTTP y mucho más.

  • ¿Qué incluyen los marcos web?

Algunos marcos web son de pila completa, lo que significa que también incluyen componentes de front-end y dependencias; mientras que otros marcos están orientados a la API, incluido solo el back-end. También hay una buena cantidad de marcos de front-end, que se concentran en el front-end. En función de los requisitos específicos del dominio, los desarrolladores deben elegir sabiamente qué tipo de marco utilizar, sin incluir dependencias no deseadas (lo que podría ralentizar el sistema).

Hola

Los marcos son como aplicaciones incompletas / parciales. Resuelven la mayoría de las tareas triviales para usted y le permiten centrarse directamente en la lógica empresarial. Rellena su lógica de negocios para completarlo.

Los marcos web lo ayudan a disminuir el tiempo de desarrollo de una aplicación.

Los marcos más populares, preparan su proyecto para seguir un patrón Modelo-Vista-Controlador (MVC), dividiendo la función de clases. Esto podría ser Zend Framework en PHP o Spring MVC en java

Gracias

Software de hash

El trabajo del marco web es facilitar la exposición de su aplicación a la web . Un buen marco web proporcionará un conjunto de herramientas que se ocupan del código repetitivo (que con suerte se prueba y mantiene mejor de lo que una persona puede esperar lograr), tales como:

  • manejo de solicitudes
  • solicitud de enrutamiento
  • seguridad
  • manejo de la respuesta (contenido, plantilla, json, etc.)
  • Ayude a unir diferentes tecnologías (por ejemplo, reaccione para el front-end y los rieles en el back-end)

Eso es más o menos en su núcleo. Por ejemplo, Roda, un kit de herramientas web mínimo de Ruby, eso es todo lo que hace fuera de la caja.


Hay muchas otras características que puede tener un marco, y algunas las implementan internamente (por ejemplo, la autenticación en Django está incorporada), mientras que otras confían en bibliotecas externas (por ejemplo, en Rails, la autenticación puede ser manejada por varias gemas geniales). , AuthLogic, Hechicería, Tirano, etc.)

El conjunto de características de un marco web particular en un idioma particular depende de una serie de factores: objetivos de los autores, madurez del proyecto, disponibilidad de complementos / bibliotecas y su calidad, etc.


Algunos marcos también pueden proporcionar una estructura / arquitectura básica para la “carne” de su aplicación, donde va la lógica de su negocio. Pero, francamente, se requiere mucha autodisciplina y experiencia para asegurarse de que su Lógica de Dominio o de Negocios no se cruce o se entremezcle con su marco web, lo que puede ocasionar todo tipo de problemas. Es mucho mejor usar un marco creado para eso. En Ruby, eso sería Trailblazer: una arquitectura de alto nivel para la web (Divulgación: soy uno de los contribuyentes a este proyecto de código abierto)

En resumen, le ahorra mucho tiempo.

Para casi cualquier cosa que desee que haga su aplicación web, un marco web tiene una biblioteca (paquete) que puede usar en su propio código. Como resultado, tiene 2–3 veces menos líneas para escribir por su cuenta.

Como se menciona en este artículo, también puede comprender un marco web al compararlo con un CMS. Crear una aplicación web con un CMS está cerca de navegar en su computadora a través de un explorador, mientras que crear una aplicación con un marco web es algo similar a usar una línea de comando. En ambos casos, ya tiene todas las funciones que necesita; la diferencia está en cómo los opera y los ajusta. (Además, con un marco web seguramente podrá ampliar la funcionalidad más fácilmente).

Los marcos nos permiten reducir la escritura de código de placa de caldera en nuestras aplicaciones al proporcionar código que se encuentra comúnmente en el dominio y nos permite agregar fácilmente el código requerido para una funcionalidad extendida.

En el caso de los marcos web, esto generalmente proporciona abstracciones para manejar solicitudes HTTP y escuchar en los puertos. Algunos de los códigos comunes también se ocuparán del enrutamiento y el manejo de respuestas y la estructura de la aplicación para que no tengamos que hacerlo; a veces solo necesitamos especificar los puntos finales de URL y las respuestas (como la que se encuentra en Express)