Framework para python
¿Qué es un Framework?
Un Framework es un entorno o ambiente de trabajo para desarrollo; dependiendo
del lenguaje normalmente integra componentes que facilitan el desarrollo de
aplicaciones como el soporte de programa, bibliotecas, plantillas y más.
Lo más importante de todo este entorno de
trabajo es que contiene máquinas virtuales, compiladores, bibliotecas de
administración de recursos en tiempo de ejecución y especificaciones de
lenguajes, haciendo nuestro trabajo más eficiente y recursivo.
Características de los Frameworks
Casi todos los frameworks comparten las mismas
características de acuerdo a su tipo, entre las que podemos destacar están:
- La Autenticación mediante
login y password que permite restringir el acceso y el tipo de permiso.
- El Acceso
a los datos en archivos txt, xml por ejemplo mediante interfaces
que integran la base de datos.
- Abstracción
de URLs y Sesiones ya que el framework se encarga de manejarlas.
- Internacionalización que
permite la inclusión de varios idiomas en el desarrollo.
- Controladores fácilmente
adaptables a las necesidades del proyecto que gestionan las peticiones y/o
eventos.
VENTAJAS :
- Compatibilidad
de Lenguajes
- Transparencia
de proyectos de plataforma a plataforma
- Portabilidad
de Arquitectura
- Integración
con múltiples dispositivos.
- Desarrollo
de aplicaciones de manera más sencilla, ya que cuenta con los componentes
necesarios incluidos.
- Reutilización
de Código
- Maneja
Política de diseño uniforme y organizado.
Django
Django es un marco web de Python de alto nivel que fomenta
el desarrollo rápido y el diseño limpio y pragmático. Creado por
desarrolladores experimentados, se encarga de gran parte de las complicaciones
del desarrollo web, por lo que puede concentrarse en escribir su aplicación sin
necesidad de reinventar la rueda. Es gratis y de código abierto.
¿Por qué Django?
Con Django, puede tomar aplicaciones web desde el concepto
hasta lanzarlas en cuestión de horas. Django se encarga de gran parte de las
complicaciones del desarrollo web, por lo que puede concentrarse en escribir su
aplicación sin necesidad de reinventar la rueda. Es gratis y de código abierto.
Ridículamente rápido.
Django fue diseñado para ayudar a los desarrolladores a
llevar las aplicaciones desde el concepto hasta su finalización lo más rápido
posible.
Completamente cargado.
Django incluye docenas de extras que puede usar para manejar
tareas comunes de desarrollo web. Django se encarga de la autenticación del
usuario, la administración de contenido, los mapas del sitio, las fuentes RSS y
muchas más tareas, de manera inmediata.
Tranquilizadoramente seguro.
Django toma en serio la seguridad y ayuda a los
desarrolladores a evitar muchos errores comunes de seguridad, como la inyección
de SQL, los scripts entre sitios, la falsificación de solicitudes entre sitios
y el clickjacking. Su sistema de autenticación de usuarios proporciona una
forma segura de administrar cuentas de usuario y contraseñas.
Muy escalable.
Algunos de los sitios más concurridos del planeta utilizan
la capacidad de Django para escalar de manera rápida y flexible para satisfacer
las demandas de tráfico más pesadas.
Increíblemente versátil.
Compañías, organizaciones y gobiernos han usado Django para
construir todo tipo de cosas, desde sistemas de administración de contenido
hasta redes sociales y plataformas de computación científica.
Se apoya en una comunidad grande y activa. Cuenta con una
potente interfaz de administración, así como otras muchas características que
deberás ir descubriendo tú mismo. Django ofrece formularios model-based, tiene
su propio lenguaje de plantillas y cuenta con una excelente documentación que
está disponible de manera gratuita. Técnicamente, Django utiliza un ORM (Object
Relational Mapper) para asignar sus objetos a tablas de base de datos. El mismo
código funciona con diferentes bases de datos y facilita la portabilidad entre
diferentes tipos de bases de datos. Django trabaja con PostgreSQL, MySQL,
SQLite y Oracle. Otras bases de datos se pueden utilizar con controladores de
terceros.
Django no es un sistema de gestión de contenidos (CMS) como
Joomla, Drupal o WordPress; es necesario escribir el código para hacer una web
que trabaje. Django se utiliza en sitios de alto tráfico como Disqus,
Pinterest, Instagram y Mozilla. En Djangosites.org se puede encontrar una
enorme lista de portales web realizados con Django.
Flask
Flask es un microframework que se creó originalmente como
una broma del April Fools Day (como el día de los inocentes en EEUU) que derivó
en un framework en solo un único archivo. Su principal intención es ser simple
y pequeño; todo el framework consiste en un grupo de módulos. No hay un
esqueleto o una estructura de la cual partir, todo se empieza con una página en
blanco. Flask no proporciona grandes funcionalidades, pero hay extensiones
Flask disponibles para agregar ORM, validación de formularios, manejo de carga,
etc.
Flask es ideal, entre otras cosas, para aprender a programar
y para ser utilizado por desarrolladores que se preocupan por las buenas
prácticas y el código “elegante”, los que quieran crear prototipos de forma
rápida y aquellos que necesitan una aplicación independiente. Flask se puede
combinar con Jinja2, Mako, SQLAlchemy, Peewee, CouchDB, etc. para potenciar su
funcionamiento.
Pyramid
Pyramid nació de la fusión entre Pylons 1.0 y repoze.bfg.
Este framework viene con “pilas incluidas”, pero no hace ninguna suposición
acerca de los componentes de tu sitio web. La comunidad Pyramid está creciendo
rápidamente y cada día son más los desarrolladores que se suman al uso del
framework. La documentación es excelente y permite a los desarrolladores
avanzar sin tener que contar con el apoyo de la comunidad. Pyramid se esfuerza
por ser minimalista, rápido y fiable. Fue uno de los primeros frameworks web
que fue compatible con Python 3. Se considera la mejor opción si deseas un
inicio rápido, si trabajas en proyectos con la API, para prototipar un concepto
o para el desarrollo de aplicaciones web grandes, como un CMS o un KMS.
Web2py
El desarrollador líder de Web2py es Massimo Di Pierro, un
profesor de Ciencias de la Computación que tiene su sede en Chicago. La
plataforma tiene una documentación excelente, incluyendo un PDF de 600 páginas,
con una introducción a Python. Si estás empezando en el desarrollo de Python,
tendrás muchas preguntas, y Web2py puede tener respuestas para casi todo.
Incorpora formularios generados que tienen validación de campo; las sesiones se
almacenan del lado del servidor. El soporte de bases de datos incluye
generación de SQL incorporada para las diez bases de datos más populares y
Google App Engine.
Arquitectónicamente, Web2py sigue el
Modelo-Vista-Controlador (MVC). No sigue la ruta de PHP de etiquetas
incrustadas, sino que en su lugar genera HTML a partir del código. Una vez que
haya definido sus modelos, obtendrá una interfaz administrativa completa de
forma gratuita.
Symfony
El framework Symfony se
lanzó en 2005, y aunque existe desde hace mucho más tiempo que otros frameworks
en esta lista, es una plataforma confiable y madura. Symfony es un marco
de trabajo de PHP MVC extenso y el único marco conocido por seguir los
estándares web y de PHP hasta el tee.
Razones para usar Symfony
- Symfony
es la opción perfecta para desarrollar proyectos empresariales a gran
escala. Es fácil de instalar y configurar en la mayoría de las
plataformas.
- Una
de sus características clave? Se trata de componentes PHP
reutilizables. También cuenta con un motor de base de datos:
independencia, y es estable, cumple con la mayoría de las mejores
prácticas web y patrones de diseño, y permite la integración con otras
bibliotecas de proveedores.
- Symfony
también es altamente flexible y puede integrarse con proyectos más grandes
como Drupal. Symfony y Laravel tienen muchas características comunes
y únicas, lo que hace que sea difícil decir cuál de estos marcos es mejor.
Sin embargo, aunque Laravel se centra más en la simplicidad
y la entrega de valor, incluso para los desarrolladores que no son avanzados,
Symfony se enfoca en desarrolladores avanzados y es un poco más difícil
comenzar. Además, el mecanismo de seguridad de Symfony es un poco difícil
de usar. Y, debido a que permite a los desarrolladores "hacerlo
todo", puede ser más lento que otros marcos.
Yii
El marco Yii -
que significa Sí, lo es! - Es, de hecho, simple y evolutivo. Es un
marco PHP de alto rendimiento y basado en componentes para desarrollar
aplicaciones web modernas. Yii es adecuado para todo tipo de aplicaciones
web. Por esta razón, es un marco de programación web universal.
Razones para usar Yii
- Yii
tiene un proceso de instalación fácil. Además, sus robustas
características de seguridad hacen que el marco sea adecuado para tareas
altamente seguras, como proyectos de comercio electrónico, portales, CMS,
foros y muchos otros.
- Cuenta
con una excelente velocidad y rendimiento, es altamente extensible y
permite a los desarrolladores evitar la complejidad de escribir
declaraciones SQL repetitivas, ya que pueden modelar los datos de la base
de datos en términos de objetos.
- Yii
tiene un equipo central de desarrolladores y expertos que contribuyen a su
desarrollo. Con una comunidad masiva utilizándolo, puede publicar
problemas en los foros de Yii y obtener ayuda.
- Yii
es extremadamente extensible, y puedes personalizar casi todas las partes
del código del núcleo. Sin embargo, si es la primera vez que lo usa,
prepárese para una curva de aprendizaje empinada.
Laravel
Laravel es un framework de código abierto para desarrollar aplicaciones y
servicios web con PHP 5 y PHP 7. Su filosofía es desarrollar código PHP de
forma elegante y simple, evitando el "código espagueti"(Codigo que no
tiene logica o es incomprensible para el programador) . Fue creado en 2011 y
tiene una gran influencia de frameworks como Ruby on Rails, Sinatra y ASP.NET
Ventajas
- Desarrollo
rapido
- Hace
la aplicacion mas segura
- Facil
mantenimiento
- Gran
comunidad
Desventajas
- Lenta
ejecucion
- Soluciones
generales para problemas especificos
- Tiempo
para aprender y dominar el framework
- Visibilidad
y control limitado
CakePHP
Si
está buscando un conjunto de herramientas que sea simple y elegante, no busque
más. CakePHP te ayudará a
desarrollar sitios web visualmente impresionantes y cargados de
funciones. Además, CakePHP es uno de los marcos más fáciles de aprender,
especialmente debido a su marco CRUD (crear, leer, actualizar y
eliminar). CakePHP llegó al mercado a principios de la década de 2000, y
desde entonces ha ganado un mejor rendimiento y muchos nuevos componentes.
Razones
para usar CakePHP
- CakePHP es simple y fácil
de instalar, ya que solo necesita un servidor web y una copia del marco.
- Es una buena opción para
aplicaciones comerciales debido a las características de seguridad que
incluyen prevención de inyección SQL, validación de entrada, protección
contra falsificación de solicitudes entre sitios (CSRF) y protección de
secuencias de comandos entre sitios (XSS).
- Algunas características
clave incluyen un marco moderno, compilaciones rápidas, herencia de clase
adecuada, validación y seguridad. Además, CakePHP proporciona
excelente documentación, muchos portales de soporte y soporte premium a
través de Cake Development Corporation.
Angular
Angular
es un marco de frontend que se especializa en crear aplicaciones ricas de una
sola página. Es un marco muy rico capaz de crear aplicaciones completas del
lado del cliente y hay mucho que hacer y aprender en Angular. Angular 1.x
utilizó Javascript, pero las versiones posteriores adoptaron Typescript, que es
un superconjunto de Javascript. Las principales desventajas de Angular son su
tamaño en comparación con otros marcos, y el hecho de que no es amigable con el
SEO por naturaleza, aunque puede optimizarse SEO. Angular fue desarrollado por
Google y es usado por Google, Microsoft y Paypal.
React
React
no es un marco, es una biblioteca de interfaz, pero muchos desarrolladores lo
consideran un marco y generalmente se compara en ese contexto. React fue el
primero en adoptar la arquitectura basada en componentes que Angular y Vue y
muchos otros marcos empezaron a adoptar más adelante. El dom virtual de React
hace que la manipulación del dom sea mucho más rápida y es bastante fácil de
aprender, especialmente gracias a su sintaxis JSX. React podría ser utilizado
en el lado del servidor o del lado del cliente. Fue desarrollado y mantenido
por Facebook y es usado por Facebook e Instagram.
Rails
Rails
es un marco de Model-View-Controller que utiliza Ruby y es un marco popular que
es querido por muchos desarrolladores. Los carriles son utilizados por Airbnb,
GitHub, Hulu y Shopify. Rails es un marco amigable para los principiantes, y
aunque el hecho de que haya mucha magia detrás de las cortinas en este marco se
debate sobre las ventajas y desventajas, ayuda a los principiantes a comenzar
con el desarrollo web con bastante facilidad. Existen muchas gemas útiles para
los rieles, que son dependencias similares a bibliotecas que amplían las
funcionalidades de su aplicación y lo ayudan a desarrollarse de manera aún más
rápida y eficiente. La comunidad de Rails es bastante fuerte y amigable, y hay
muchos tutoriales, screencasts y recursos que pueden ayudarte a convertirte en
un experto en rails en ningún momento.
La
principal desventaja de rails radica en el hecho de que requieren bastante
esfuerzo para implementarse y ejecutarse en un entorno de producción, y la
curva de aprendizaje de los rieles se vuelve realmente empinada una vez que se
adentra en el marco para desentrañar la magia detrás de él.
Referencia:
https://www.djangoproject.com/
https://openwebinars.net/blog/los-4-mejores-frameworks-para-aplicaciones-de-python/
https://raygun.com/blog/top-php-frameworks/
https://hackr.io/blog/top-10-web-development-frameworks-in-2019