10 marcos web de Python con los que vale la pena trabajar en 2018

imagen

De un traductor: Hoy le ofrecemos una traducción de un artículo publicado en SteelKiwi por Hackernoon. Se dedica al desarrollo de soluciones de software b2b y b2c, y comparte la experiencia adquirida en el proceso de trabajar con los lectores de su blog.

Los marcos facilitan la vida del desarrollador al ofrecer varias soluciones para desarrollar aplicaciones y servicios. Automatizan la implementación de soluciones estándar, ahorrando tiempo. Por lo tanto, el desarrollador se enfoca en la aplicación, y no en tareas rutinarias, donde el pensamiento creativo no es necesario.

Skillbox recomienda: El programa práctico Python Developer desde cero .
Le recordamos: para todos los lectores de "Habr": un descuento de 10.000 rublos al registrarse en cualquier curso de Skillbox con el código de promoción "Habr".

Este artículo habla sobre diez marcos de Python que serán útiles tanto para desarrolladores novatos como para profesionales. En 2018, se actualizaron los viejos marcos, aparecieron nuevas herramientas a las que vale la pena prestarles atención.

Antes de comenzar ...


Cuando comience a elegir un marco, aprecie el tamaño y la complejidad de su proyecto. Si lo que está desarrollando es un sistema grande con una buena cantidad de funciones, entonces el marco completo es lo que necesita. Si está creando una aplicación o servicio relativamente pequeño, debe prestar atención a las microframas.

Se proporciona información sobre algunos de los marcos en las páginas de Wikipedia . Sin embargo, la decisión final debe basarse en los principios de análisis de su propio servicio o aplicación ya mencionados anteriormente.

Marcos de pila completa


Django



Django es un framework gratuito de código abierto de pila completa. Le permite agregar la mayoría de las funciones estándar en un solo paquete en lugar de buscar bibliotecas individuales.

Entre ellos se encuentran los más populares como autenticación, enrutamiento de URL, migración de esquemas de datos, etc.

Django usa ORM para asignar objetos a las tablas de la base de datos. El mismo código funciona con diferentes bases de datos, por lo que pasar de una base de datos a otra se convierte en una tarea sencilla. Las principales bases de datos con las que trabaja Django son PostgreSQL, MySQL, SQLite y Oracle. Puede agregar otros, pero para esto necesita soluciones de terceros.

Pirámide



Pyramid es un marco de código abierto que brinda al desarrollador las máximas oportunidades con un tiempo y recursos mínimos.

La característica más interesante del marco es trabajar con aplicaciones grandes y pequeñas. Por separado, vale la pena resaltar funciones de la Pirámide como:


Turboears



TurboGears es un marco de código completo de pila abierta para aplicaciones web. Permite al desarrollador crear rápidamente aplicaciones web extensibles basadas en datos. TurboGears viene con plantillas convenientes y un ORM potente y flexible.

Las funciones más importantes del marco:

  • soporte para varias bases de datos;
  • soporte para SQLObject y SQLAlchemy ;
  • validación para FormEncode ;
  • Pilones como servidor web;
  • herramientas de línea de comando.

Web2py



Y este es un marco escalable de código abierto de pila completa para Python. Pero antes de comenzar a trabajar con él, vale la pena recordar que no es compatible con Python 3.

Pero Web2py viene con su propio IDE, que tiene un editor de código, depurador e implementación con un solo clic. Entre otras funciones y herramientas, cabe destacar lo siguiente:

  • falta de necesidad de instalación y configuración;
  • funciona en Windows, Mac, Google App Engine, Amazon EC2 y en cualquier alojamiento que admita Python 2.5–2.7 o Java + Python;
  • trabajar con varios protocolos;
  • alto nivel de seguridad de datos;
  • rastreador de errores;
  • compatibilidad con versiones anteriores, que le permite trabajar fácilmente con aplicaciones y servicios basados ​​en versiones anteriores del marco.

Microframes


Matraz



Este es un microframework con licencia bajo el BSD. Sus desarrolladores se inspiraron en el marco Sinatra Ruby. Depende del kit de herramientas Werkzeug WSGI y la plantilla Jinja2 .

Flask tiene un diseño modular que le permite adaptarse para muchas tareas. Fuera de la caja, el desarrollador recibe las siguientes funciones:

  • servidor incorporado y depurador;
  • Plantillas Jinja2
  • soporte para cookies seguras;
  • WSGI 1.0;
  • Unicode
  • La capacidad de conectarse a cualquier ORM.

Se creó un marco para apoyar a los desarrolladores de aplicaciones web que tuvieron la oportunidad de elegir extensiones a su gusto.

Botella



Otro microframework que originalmente estaba destinado a crear una API. La botella se distingue por la presencia de un único archivo fuente. Trabajar con él no requiere "bailar con una pandereta".

Sus características predeterminadas incluyen enrutamiento, plantillas, utilidades y abstracción básica de WSGI:

  • El enrutamiento admite solicitudes para mostrar llamadas funcionales, lo que le permite obtener URL limpias y dinámicas.
  • plantillas: muchas herramientas útiles que funcionan de fábrica junto con soporte completo para mako, jinja2 y cheetah.
  • Utilidades: acceso conveniente a datos, descarga de archivos, cookies, encabezados y otros metadatos relacionados con HTTP.
  • servidor de desarrollo HTTP incorporado que admite las funciones fapws3, bjoern, GAE, CherryPy y cualquier otro servidor HTTP con WSGI.

Esta es una excelente solución para crear prototipos, estudiar la estructura de los marcos web y crear pequeñas aplicaciones.

Cherrypy



CherryPy es un marco web minimalista de código abierto. Proporciona la capacidad de crear aplicaciones web de Python, que no es diferente de crear cualquier otro programa orientado a objetos.

De hecho, esta aplicación web basada en CherryPy es una aplicación Python independiente que utiliza su propio servidor web multiproceso. Las aplicaciones CherryPy se ejecutan en cualquier sistema operativo que admita Python (Windows, MacOS, Linux, etc.). Se pueden implementar en cualquier entorno en el que pueda ejecutar una aplicación Python normal. No necesita Apache para las aplicaciones CherryPy, puede ejecutar la aplicación CherryPy en Apache, al igual que en Lighttpd o IIS.

CherryPy le permite usar cualquier tipo de tecnología para patrones, acceso a datos, etc. También puede procesar artículos, estadísticas, cookies, cargar archivos y todo lo demás que otros marcos pueden hacer.

Sus habilidades distintivas:

  • Lanzamiento simple de varios servidores HTTP al mismo tiempo;
  • potente sistema de configuración;
  • sistema de complemento flexible;
  • Características "listas para usar": almacenamiento en caché, decodificación, sesiones, autenticación, contenido estático, etc.
  • Capacidad para trabajar con Python 2.7+, Python 3.1+, PyPy, Jython y Android.

Marcos asincrónicos


Sanic

Sanic es un marco de Python que se basa en uvloop y está diseñado para procesar rápidamente las solicitudes HTTP.

Funciona en Python 3.5+. Sanic admite manejadores de solicitudes asíncronas, lo que lo hace compatible con las funciones asíncronas / de espera Python 3.5. Esto aumenta enormemente la velocidad del trabajo.

En el punto de referencia al procesar 100 conexiones, Sanic mostró la capacidad de procesar 33.342 solicitudes por segundo.

Tornado



Tornado es un marco web de Python y una biblioteca de red asíncrona al mismo tiempo. Utiliza E / S de red sin bloqueo y resuelve el problema C10k (lo que significa que si se configura correctamente, puede manejar más de 10,000 conexiones simultáneas).

Todo esto lo convierte en una excelente herramienta para crear aplicaciones que requieren un alto rendimiento y funcionan con decenas de miles de usuarios al mismo tiempo.

Ventajas principales:

  • Soporte de autenticación de usuario incorporado.
  • servicios en tiempo real;
  • rendimiento de alta calidad;
  • Lenguaje de plantilla web de Python
  • Cliente HTTP sin bloqueo
  • implementación de esquemas de autenticación y autorización de terceros (Google OpenID / OAuth, Facebook Login, Yahoo BBAuth, FriendFeed OpenID / OAuth, Twitter OAuth);
  • soporte para traducciones y localizaciones.

Bono


Rociada



Dash es un marco de Python de código abierto que se utiliza para crear aplicaciones web analíticas. Es especialmente bueno para los profesionales de big data que no están muy familiarizados con el desarrollo web.

Las aplicaciones de tablero son servidores web que ejecutan Flask e intercambian datos con paquetes JSON a través de HTTP. Su interfaz proporciona componentes con las capacidades de React.js.

Las aplicaciones desarrolladas con Dash se muestran en un navegador web y se pueden implementar en servidores. Las aplicaciones de tablero son inherentemente multiplataforma.

Como conclusión, podemos decir que realmente hay muchos marcos para desarrolladores. Cada uno de ellos ofrece sus propias oportunidades únicas. Pero la elección del marco es una decisión importante para el futuro de su propio proyecto, y no debe apresurarse en esto.

Skillbox recomienda:

Source: https://habr.com/ru/post/es420119/


All Articles