Por el contexto, trabajo en un gran banco privado en Suiza, escribiendo aplicaciones empresariales en la pila J2EE.
Existen muchos frameworks web "preparados para producción" en Python. Y hay muchos sitios web grandes basados en Python.
Dicho esto, creo que Python es una mala elección para una aplicación Enterprisy. Se puede usar como un lenguaje adhesivo o un lenguaje de scripting (nuestros scripts de implementación son Python). Lo más sorprendente para mí es la compatibilidad con versiones anteriores (Python 3.x no es compatible con versiones anteriores de Python 2.x). La filosofía de Python parece ser más para innovar y mejorar el lenguaje, suavizarlo y no necesariamente para respaldar programas escritos hace 10 años.
En el lado del framework web, me encanta Django, pero definitivamente es demasiado joven y evoluciona demasiado rápido para ser utilizado en la empresa. No tengo mucha experiencia con otros frameworks basados en Python.
Si desea un marco orientado a la empresa, tendrá que quedarse con las pilas de la empresa (Java/.Net).
Por otro lado, incluso en el mundo de Java, hay una tendencia a utilizar marcos que son menos emprendedores.Think Spring vs EJB2 o EJB3 son mucho más ligeros que EJB2. O piense que Flex (que está lejos de ser un marco empresarial, en mi opinión) se usa cada vez más en la empresa. Entonces, si su empresa es de mente abierta, lista para saltar al futuro, usar Django, RoR u otro Web 2.0 moderno, marcos basados en registros activos, de código abierto, de próxima generación basados en la comunidad ... puede que no sea tan exagerado. ..
Y, por último, para responder a algunos de sus puntos directamente:
- apoyo de ORM/almacenamiento en caché/...: Sí, pero la mayoría de las soluciones se basan en el registro activo, que está muy bien para el 90 % de lo que es posible que desee hacer, pero es sin duda no es tan completa/complejo como JPA/Hibernate
- interfaz de usuario orientada al control: no, y te vas a encontrar un estándar, por lo que no encontrará componentes 3 ª parte. Lo más cerca que podría obtener es la integración con jQuery UI u otro JS marcos
- inyección de dependencias: Hay un puerto de la primavera a Python, mantenida por SpringSource. Pero DI no está en la filosofía de Python. El mismo problema se resolverá con funciones, argumentos predeterminados y cierres. Y podríamos argumentar que la solución Pythonic es más limpia que la forma Java ...
- pruebas de unidad/integración: soporte muy bueno, marcos de pruebas múltiples. Aún así, el soporte no es tan bueno como Java donde tenemos toneladas de herramientas en torno a las pruebas.
- buen soporte IDE: hay limitaciones técnicas al ammount de apoyo que puede proporcionar a un lenguaje dinámico, pero por lo menos tanto Eclipse y Netbeans tiene un gran apoyo para Python.
- clustering/modularity: la agrupación se resolverá con una "infraestructura sin uso compartido" y/o almacenamiento en caché distribuido. No hay soluciones para la modularidad (en el sentido OSGI) hasta donde yo sé. Pero desafiaría eso muy a menudo OSGI es una solución para un problema que no tenemos en la empresa ...
Si usted no sabe nada acerca de Python se puede cambiar a un marco basado en Python probablemente no es una idea muy buena. –
¿Quiere todas las características de Java EE ... En Python? ¡PEGUE A JAVA! – jonwd7
Casi todos los marcos cumplen con los criterios de "producción preparada". Pero usted hace la pregunta en forma ("¿hay alguna?") Que es esencialmente argumentativa. ¿Por qué hacer la pregunta de esa manera? –