Читать книгу Python a fondo - Óscar Ramírez Jiménez - Страница 18
1.3.3 Aplicaciones web e interacción con servicios web
ОглавлениеUno de los pilares más importantes dentro de las aplicaciones que se pueden desarrollar utilizando Python son las aplicaciones web en todo su amplio abanico, desde las aplicaciones más simples, como páginas web estáticas generadas en Python usando Pelican (https://blog.getpelican.com/), hasta juegos generados en JavaScript utilizando la librería de Python Pyjamas (https://wiki.python.org/moin/Pyjamas), que convierte código Python en código JavaScript.
Dentro de las aplicaciones web existen múltiples frameworks para el desarrollo de aplicaciones, orientados a crear aplicaciones tanto de propósito general como específico. Así, el desarrollador puede elegir la herramienta que más se ajuste a sus necesidades y al proyecto que se pretenda desarrollar.
Existen frameworks de propósito general, como Django (https://www.djangoproject.com/), que es uno de los líderes en el ámbito del desarrollo web gracias a sus múltiples funcionalidades: su facilidad de uso con bases de datos relacionales gracias a su propio ORM (object relational mapping), el cual permite hacer un uso extremadamente sencillo para el manejo de tablas e información guardados en diferentes bases de datos soportadas; su sistema de migraciones de datos; el sistema de autenticación; el enrutador propio de URL; soporte de múltiples motores de renderizado, y un largo etcétera, que hacen que este framework pueda competir con cualquier framework de propósito general de cualquier otro lenguaje, por ejemplo, Java, aparte de poder ser extendido por medio del uso de multitud de aplicaciones de terceros fácilmente integrables y que se amplían día a día.
Por otro lado, existen los microframeworks de carácter general, que están orientados a ofrecer al desarrollador una funcionalidad básica para favorecer la posibilidad de escalar las aplicaciones y ser extendidas con plugins o aplicaciones de terceros fácilmente. En este segmento destacan frameworks como Flask (https://palletsprojects.com/p/flask/) o Pyramid (https://trypyramid.com/).
Por último, destacan los frameworks diseñados para un uso específico, los cuales se han optimizado para mejorar en un aspecto concreto. Por ejemplo, existe el framework Falcon (https://falcon.readthedocs.io/en/stable/), que está diseñado para poder gestionar muchísimas peticiones por segundo. Da unos resultados muy superiores (en cuanto al manejo de peticiones por segundo) comparado con cualquiera de los frameworks mencionados anteriormente, dado que se diseñó para ser excepcional en ese aspecto.
Otro ejemplo de framework orientado a un propósito específico es Starlette (https://www.starlette.io/), un framework orientado a aplicaciones en tiempo real que se caracteriza por la cantidad de peticiones concurrentes que soporta. Puede gestionar hasta decenas de miles de peticiones por segundo.