Python vs PHP

Chema Cortés py en ch3m4.org
Jue Feb 23 02:48:05 CET 2006


El Miércoles, 22 de Febrero de 2006 16:27, Luis Marucco escribió:
> Hola a todos, quiero aprovechar esta oportunidad para agradecer sus
> opiniones. Con respecto a tu pregunta sobre las 3 capas, que es algo
> independiente del lenguaje que prengunté, pero lo hice para saber si
> puedo armar en la capa de negocios, componentes con python para un mejor
> mantenimiento y actualizacion del soft, o si tengo que caer en otro
> lenguaje; me imagino que si, pero desconozco completamente python.

Sólo veo ventajas si lo haces con python.

Por un lado, la abstracción del acceso a datos (DB-API) del python permite que 
puedas abstraer tu capa de acceso a datos del servidor de bases de datos que 
elijas. Por otro lado, puedes emplear prácticamente cualquier librería 
gráfica para generar el GUI, incluso puedes pensar en emplear las propias de 
java (swing/awt) o de C# (winforms,gtk#) empleando las versiones de python 
correspondientes para estas plataformas.

Para la conexión por medio de la capa de lógica de negocio necesitarás 
mecanismos de transferencia de objetos de negocio (Bussiness Objects). Para 
ésto python cuenta con numerosas utilidades de serialización (pickle, xml, 
yaml,...) así como de conexión RPC (pyro, xmlrpc, soap, ...).

No siendo excesivamente puristas con la separación de tres capas, también 
puedes optar por insertar parte de la lógica de negocio dentro de un servidor 
Postgresql, con vistas y procedimientos almacenados programados en python.

Y si quieres aún más tralla, puedes emplear un servidor Zope como "servidor de 
aplicaciones". Zope es más que un servidor web. Te ofrece un interface web 
para la gestión y administración de los objetos de negocio, una base de datos 
orienta a objetos (ZODB) para almacenarlos y un interface xmlrpc para 
conectarlos. Estaríamos entrando en lo que es un diseño de 4 capas, pero se 
trataría de un sistema robusto y bastante profesional. Como alternativa más 
ligera para la capa de negocio, se podrían usar otros frameworks como 
webware, pero no los he tratado tanto como para darte más detalles.


Creo que la respuesta no puede estar más clara: Python te puede valer para 
todo.




Más información sobre la lista de distribución Python-es