¿Es necesario utilizar un framework para el desarrollo web Python?
Porque el framework web Python también está desarrollado en Python. Es simplemente para reducir la reinvención repetida y bajar el umbral de desarrollo.
1 y la Web de Python no están implementados como parte del lenguaje. Debido a sus objetivos de diseño como lenguaje común, Python tiene soporte nativo de programación de red en forma de extensiones C a través de la biblioteca estándar. En otras palabras, cualquiera puede escribir su propio servidor web utilizando la interfaz de socket de Python. Debido a la equivalencia de las máquinas de Turing, es técnicamente factible implementar una VM PHP en Python.
2. Pero la mayoría de las personas no optarán por utilizar sockets para implementar un servidor cuando utilicen Python para el desarrollo web, porque Python tiene oficialmente un estándar de diseño web: WSGI (PEP 333 python.org/dev /peps. ..). Los estándares definidos por WSGI dividen las aplicaciones web en aplicaciones WSGI y servidores WSGI. Este último es similar al tiempo de ejecución web de PHP y proporciona encapsulación de iostreams estándar, mientras que el primero es similar a las aplicaciones PHP escritas por uno mismo y el desarrollo web de aplicaciones específicas se lleva a cabo en un entorno encapsulado. Se recomienda encarecidamente leer PEP 333, que resulta muy útil para comprender esta división de WSGI.
3. Hasta ahora, WSGI ha sido ampliamente compatible con las principales aplicaciones de Python. El llamado marco web Python es en realidad una encapsulación del entorno de desarrollo web bajo la especificación de la aplicación WSGI. Si tiene energía, será gratificante leer el código fuente del marco de la botella: solo hay un archivo. Sin embargo, WSGI está completamente implementado y encapsulado en un entorno de su propio estilo (una instancia de Bottle es una aplicación WSGI que implementa el método __call__). Los marcos como Django han ido más allá del alcance de los marcos web, integrando ORM, validación de formularios, etc., un poco como RoR. El verdadero equivalente del entorno web de PHP es un marco de micronúcleo como Bottle.