Saltear al contenido principal

Marcos web – Lenguaje Python

Un marco web es una biblioteca de código que hace que el desarrollo web sea más rápido y fácil al proporcionar patrones comunes para crear aplicaciones web confiables, escalables y fáciles de mantener. Después de principios de la década de 2000, los proyectos de desarrollo web profesional siempre utilizan un marco web existente, excepto en situaciones muy inusuales.

Contrata a un experto en Python para iniciar tu proyecto hoy mismo:

Los logotipos de Django, Bottle, Flask, Pyramid, Falcon y Sanic son propiedad de sus respectivos propietarios.

¿Por qué son útiles los frameworks web?

Los frameworks web resumen lo que los desarrolladores han aprendido durante los últimos veinte años mientras programaban sitios y aplicaciones para la web. Los marcos facilitan la reutilización del código para operaciones HTTP comunes y la estructuración de proyectos para que otros desarrolladores con conocimiento del marco puedan construir y mantener rápidamente la aplicación.

Funcionalidad de marco web común

Los marcos brindan funcionalidad en su código o mediante extensiones para realizar operaciones comunes requeridas para ejecutar aplicaciones web. Estas operaciones comunes incluyen:

  1. Enrutamiento de URL
  2. Manejo y validación de formularios de entrada
  3. HTML, XML, JSON y otros formatos de salida con un motor de plantillas
  4. Configuración de conexión de base de datos y manipulación de datos persistente a través de un mapeador relacional de objetos (ORM)
  5. Seguridad web contra la falsificación de solicitudes entre sitios (CSRF), inyección SQL, secuencias de comandos entre sitios (XSS) y otros ataques maliciosos comunes
  6. Almacenamiento y recuperación de sesiones

No todos los marcos web incluyen código para todas las funciones anteriores. Los marcos caen en el espectro desde la ejecución de un solo caso de uso hasta proporcionar todas las funciones conocidas del marco web a cada desarrollador. Algunos marcos adoptan el enfoque de «baterías incluidas» en el que todo lo posible viene incluido con el marco, mientras que otros tienen un paquete básico mínimo que se adapta a las extensiones proporcionadas por otros paquetes.

Por ejemplo, el marco de trabajo de la aplicación web Django incluye la capa ORM de Django que permite a un desarrollador escribir operaciones de lectura, escritura, consulta y eliminación de bases de datos relacionales en código Python en lugar de SQL. Sin embargo, el ORM de Django no puede funcionar sin modificaciones significativas en bases de datos no relacionales (NoSQL) como MongoDB o Cassandra.

Algunos otros marcos web como Flask y Pyramid son más fáciles de usar con bases de datos no relacionales al incorporar bibliotecas externas de Python. Existe un espectro entre la funcionalidad mínima con fácil extensibilidad en un extremo e incluir todo en el marco con una estrecha integración en el otro extremo.

¿Tengo que utilizar un marco web?

El uso o no de un marco web en su proyecto depende de su experiencia con el desarrollo web y de lo que esté tratando de lograr. Si es un programador principiante y solo desea trabajar en una aplicación web como un proyecto de aprendizaje, un marco puede ayudarlo a comprender los conceptos enumerados anteriormente, como el enrutamiento de URL, la manipulación de datos y la autenticación que son comunes a la mayoría de las aplicaciones web.

Por otro lado, si es un programador experimentado con una experiencia significativa en desarrollo web, puede sentir que los marcos existentes no coinciden con los requisitos de su proyecto. En ese caso, puede mezclar y combinar bibliotecas de código abierto como Werkzeug para plomería WSGI con su propio código para crear su propio marco. Todavía hay mucho espacio en el ecosistema de Python para nuevos marcos que satisfagan las necesidades de los desarrolladores web que no están satisfechas con Django, Flask, Pyramid, Bottle y muchos otros.

En resumen, si necesita o no utilizar un marco web para crear una aplicación web, depende de su experiencia y de lo que esté tratando de lograr. El uso de un marco web para crear una aplicación web ciertamente no es necesario, pero facilitará la vida de la mayoría de los desarrolladores en muchos casos.

Comparación de marcos web

¿Tiene curiosidad sobre cómo se estructura el código en un proyecto de Django en comparación con Flask? Revisa
este tutorial de la aplicación web Django
y luego ver la misma aplicación construida con Flask.

Talk Python to Me tuvo un episodio de podcast
con una comparación detallada de los marcos Django, Flask, Tornado y Pyramid.

También hay un repositorio llamado
compare-python-web-frameworks
donde la misma aplicación web se codifica con diferentes marcos web de Python, motores de plantillas y mapeadores relacionales de objetos.

Recursos del marco web

  • Construyendo su propio marco web Python es una manera increíble de aprender cómo funciona WSGI y las muchas otras piezas que se combinan para hacer que los marcos web sean útiles para los desarrolladores web.
  • Cuando está aprendiendo a usar uno o más frameworks web, es útil tener una idea de lo que hace el código oculto. Esta publicación sobre la construcción de un
    marco de Python simple desde cero
    muestra cómo las conexiones, el enrutamiento y las solicitudes HTTP pueden funcionar en solo 320 líneas de código. Esta publicación es asombrosa a pesar de que el marco resultante es una simplificación de lo que marcos como Django, Flask y Pyramid permiten a los desarrolladores lograr.
  • También hay otro tutorial de varias partes más reciente sobre la creación de su propio marco web en Python. Esta serie se basa en el
    alcázar proyecto que el autor está codificando con fines de aprendizaje:
  • Consulte la respuesta a la «¿Qué es un marco web y cómo se compara con LAMP?«pregunta sobre Stack Overflow.
  • Otra gran serie que se esconde detrás de la magia del framework web es «Web Application from Scratch». Las cuatro partes son:
  • Frameworks es un video corto realmente bien hecho que explica cómo elegir entre marcos web. El autor tiene algunas opiniones particulares sobre lo que debería estar en un marco. En su mayor parte estoy de acuerdo, aunque he encontrado que las sesiones y los ORM de la base de datos son una parte útil de un marco cuando se hacen bien.
  • «¿Qué es un marco web?«es una explicación detallada de qué son los frameworks web y su relación con los servidores web.
  • Django vs Flask vs Pyramid: elegir un marco web Python
    contiene información de antecedentes y comparaciones de código para aplicaciones web similares creadas en estos tres grandes marcos de Python.
  • Esta fascinante publicación de blog echa un vistazo a
    complejidad del código de varios marcos web de Python
    proporcionando visualizaciones basadas en sus bases de código.
  • Puntos de referencia de los marcos web de Python
    es una prueba de la capacidad de respuesta de un marco al codificar un objeto en JSON y devolverlo como respuesta, así como recuperar datos de la base de datos y representarlos en una plantilla. No hubo resultados concluyentes, pero la salida es divertida de leer.
  • ¿Qué frameworks web usas y por qué son increíbles?
    es una discusión de Reddit independiente del lenguaje sobre marcos web. Es interesante ver qué les gusta y qué no les gusta a los programadores de otros lenguajes de su conjunto de marcos web en comparación con los marcos principales de Python.
  • Este sitio de preguntas y respuestas votado por los usuarios preguntó «¿Cuáles son los mejores frameworks web de Python de propósito general que se pueden usar en producción?«. Los votos no son tan importantes como la lista de los muchos marcos que están disponibles para los desarrolladores de Python.
  • Django vs.Flask en 2019: qué marco elegir
    analiza los mejores casos de uso para Django y Flask junto con lo que los hace únicos, desde un punto de vista educativo y de desarrollo.
  • 11 nuevos marcos web de Python
    tiene una breve descripción de varios marcos más nuevos que aún están surgiendo, como Sanic, Masonita
    y Fundido.

Lista de verificación de aprendizaje de frameworks web

  1. Elija un marco web de Python importante (se recomiendan Django o Flask) y apéguese a él. Cuando recién está comenzando, es mejor aprender un marco primero en lugar de dar vueltas tratando de comprender cada marco.
  2. Trabaje con un tutorial detallado que se encuentra dentro de los enlaces de recursos en la página del marco.
  3. Estudie ejemplos de código abierto creados con el marco de su elección para que pueda tomar partes de esos proyectos y reutilizar el código en su aplicación.
  4. Cree la primera iteración simple de su aplicación web y luego vaya a la sección de implementación para que sea accesible en la web.

¿Sobre qué framework web quieres aprender?

¿Necesitas ayuda para revisar el código de tu proyecto?



Esta entrada tiene 0 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Volver arriba