stringtranslate.com

Proyecto de pilones

Pylons Project es una organización de código abierto que desarrolla un conjunto de tecnologías de aplicaciones web escritas en Python . Inicialmente, el proyecto era un único marco web llamado Pylons, pero después de la fusión con el marco repoze.bfg bajo el nuevo nombre Pyramid, el Proyecto Pylons ahora consta de múltiples tecnologías de aplicaciones web relacionadas.

Pirámide

Pyramid es un framework web de código abierto escrito en Python y basado en WSGI . Es un framework web minimalista inspirado en Zope , Pylons y Django . [3]

Originalmente llamado "repoze.bfg", Pyramid atrajo la atención principalmente en la comunidad Zope [4] y Plone cuando el proyecto KARL del Open Society Institute migró de Plone a BFG. [5] En 2010 se anunció que el marco Pylons pasaría a utilizar BFG como base en la versión 1.5. [6] Como resultado de la inclusión de BFG en el proyecto Pylons, BFG pasó a llamarse Pyramid. [7]

Características

Pyramid es un framework web minimalista e independiente de la plataforma . Es independiente de la persistencia y está integrado tanto con bases de datos SQL a través de SQLAlchemy como con Zope Object Database , así como con otras bases de datos NoSQL , como CouchDB . [3]

Pyramid permite a los desarrolladores definir rutas mediante expresiones regulares que se asignan a objetos. Al igual que su marco de trabajo Zope, Pyramid también permite la navegación jerárquica de objetos, donde cada parte de una URL es un objeto que contiene otros objetos, de una manera similar a las carpetas en un sistema de archivos. [8]

Marco web Pylons

Pylons Framework es un framework de código abierto para aplicaciones web escrito en Python . Hace un uso extensivo del estándar Web Server Gateway Interface para promover la reutilización y separar la funcionalidad en módulos distintos. [11] Está fuertemente influenciado por Ruby on Rails : dos de sus componentes principales, Routes y WebHelpers, son reimplementaciones de Python de las características de Rails.

Estructura

Pylons es bien conocido por tener una pila casi completa de herramientas de terceros, evitando el fenómeno "no inventado aquí" .

Instalación, dependencias y configuración

El método de instalación oficial de Pylons es a través de EasyInstall mediante el índice de paquetes de Python (PyPI), y la mayoría de las herramientas adicionales se instalan normalmente de la misma manera. EasyInstall también maneja las dependencias de los paquetes cuando es relevante. Algunas distribuciones también podrían empaquetar Pylons y Paste , pero es probable que los paquetes de cualquier distribución queden rezagados con respecto a la distribución oficial. Pylons también se puede instalar a mano renombrando su archivo .egg a .zip y extrayendo el contenido.

Paste se utiliza para la configuración, prueba e implementación de proyectos. Al utilizar el formato de configuración INI común , Paste permite múltiples "perfiles", de modo que los desarrolladores puedan ejecutar configuraciones de desarrollo e implementación desde la misma base de código sin revelar partes confidenciales de Pylons, como el depurador interactivo, a los usuarios de producción.

Envío de URL

Actualmente, el único despachador de URL ampliamente utilizado para Pylons es Routes, una reimplementación de Python del despachador de URL de Ruby on Rails, aunque se puede utilizar cualquier despachador de URL compatible con WSGI. Si bien Routes es una biblioteca independiente, se desarrolló para su uso en Pylons y su desarrollo se mantiene en estrecha sincronía con Pylons.

Generación de HTML

Otra pieza de Rails adaptada para Pylons es WebHelpers, que proporciona mapeo de URL basado en la configuración de Routes. WebHelpers también proporciona algunas funciones de utilidad para generar código JavaScript haciendo uso de las bibliotecas script.aculo.us y Prototype .

FormEncode y FormBuild se utilizan para la generación y validación de formularios HTML; ha habido algún uso de Mako para la generación de formularios utilizando el modelo de herencia de Mako.

Plantillas

Myghty era el lenguaje de plantillas predeterminado de Pylons, pero a partir de la versión 0.9.6 ha sido reemplazado por Mako . [12] Ambos lenguajes de plantillas están basados ​​en texto (a diferencia de XML ) y admiten herencia e incrustación de código Python arbitrario.

Debido a que las capas de Pylons están acopladas de forma flexible, también se pueden utilizar otros lenguajes de plantillas. Genshi , un lenguaje de plantillas basado en XML, se puede utilizar en lugar de Mako o Myghty. [13]

Abstracción de bases de datos y mapeo objeto-relacional

Pylons no tiene una biblioteca de base de datos predeterminada. Se sabe que se utilizan tanto SQLObject como SQLAlchemy.

Fusión con repoze.bfg y nacimiento de Pyramid Web Framework

Pylons se ha convertido en el Proyecto Pylons, y el código antiguo de Pylons 1.0 ahora está en modo de solo mantenimiento. Sin embargo, de acuerdo con la fusión del proyecto con repoze.bfg desde noviembre de 2010, las versiones más nuevas de Pylons son en realidad diferentes del Pylons 1.0 original. Los desarrolladores de Pylons inicialmente planearon reescribir ciertas partes del código, pero observaron que el nuevo código se aproximaba a repoze.bfg, lo que llevó a la fusión de Pylons y repoze.bfg. [14] [15] Esto llevó a que repoze.bfg (una parte del marco web basado en Python Repoze) cambiara de nombre y se relanzara como el marco web Pyramid. [16]

Véase también

Referencias

  1. ^ ab "Historial de cambios de Pyramid: The Pyramid Web Framework v2.0". docs.pylonsproject.org . Consultado el 26 de abril de 2021 .
  2. ^ "Copyright, marcas comerciales y atribuciones: The Pyramid Web Framework v2.0". docs.pylonsproject.org . Consultado el 26 de abril de 2021 .
  3. ^ de Chris McDonough. "repoze.bfg introduction". Archivado desde el original el 2013-12-30 . Consultado el 2010-09-21 .
  4. ^ Gary Poster (17 de septiembre de 2010). «Zope Summit, DZUG, repoze.bfg» . Consultado el 21 de septiembre de 2010 .
  5. ^ Thomas Moroz, Chris Rossi y Calvin Hendryx-Parker (28 de octubre de 2009). KARL: gestión del conocimiento a gran escala. Budapest, Hungría: Plone Conference 2009. Archivado desde el original el 2 de junio de 2010. Consultado el 23 de septiembre de 2010 .
  6. ^ Ben Bangert (18 de septiembre de 2010). "Correos electrónicos que explican la estructura de Pylons 2" . Consultado el 21 de septiembre de 2010 .
  7. ^ "repoze.bfg ahora es Pyramid". Archivado desde el original el 13 de noviembre de 2010. Consultado el 3 de enero de 2011 .
  8. ^ Wichert Akkerman (28 de octubre de 2009). Lecciones de otros marcos de trabajo. Budapest, Hungría: Plone Conference 2009. El evento se produce a las 25:50. Archivado desde el original el 18 de abril de 2013. Consultado el 21 de septiembre de 2010 .
  9. ^ Historia de los pilones
  10. ^ "Versión 1.0.2". 22 de julio de 2015. Consultado el 22 de julio de 2018 .
  11. ^ El proyecto mod_wsgi incluye tanto Pylons como Pyramid en su lista de los principales marcos web Python compatibles.
  12. ^ Haas, Christoph Beginning Pylons Archivado el 16 de febrero de 2009 en Wayback Machine . Consultado el 5 de julio de 2007.
  13. ^ Genshi Wiki Pylons con Genshi Recuperado el 5 de julio de 2007
  14. ^ Preguntas frecuentes sobre el proyecto Pylons. URL: https://pylonsproject.org/about-pylons-project.html
  15. ^ Notas sobre la fusión de Pylons y repoze.bfg. URL: "Be Groovie - Notas sobre la fusión de Pylons y repoze.BFG". Archivado desde el original el 2012-03-04 . Consultado el 2012-08-14 .
  16. ^ Acerca de Pyramid. URL: https://trypyramid.com/

Lectura adicional

Enlaces externos