Encuesta

¿Qué sistema operativo empleas principalmente cuando desarrollas Java?

28-02-2010 - 952 votos

Destacados Agenda

Más eventos |

Spring Python 1.0: soporte para Python en Spring

02/07/2009 09:59 abraham

Spring ha anunciado Spring Python 1.0, la primera de las extensiones del framework Spring que llega a alcanzar una versión estable. Según SpringSource,  Spring Python "toma conceptos implementados en el framework Spring y los aplica a Python". Una frase muy bonita, aunque francamente no dice mucho.


No sé si es que no he sabido buscar, o no me he enterado yo, o es que no lo explican bien ellos... pero no tengo completamente claro qué es Spring Python. Creo que no es un porte de Spring a Phyton, sino algún tipo de modificación de Spring que permite ejecutar código Phyton dentro del contenedor de Spring. Si está basado en Jhyton, no lo mencionan en ningún sitio. Y tampoco me queda claro si es posible mezclar código Java y código Phyton en una misma aplicación.


¿Alguien más familiarizado con Spring que yo podría resolvernos estas dudas?

Volver a actualidad

Etiquetas: j2ee, spring, python, springpython

Comentarios: 10

  • Anónimo 02/07/2009 14:45

     http://springpython.webfactional.com/

    "Spring Python is an offshoot of the Java-based Spring Framework and Spring Security, targeted for Python. Spring provides many useful features, and I wanted those same features available when working with Python."

    Vamos que es un port de Spring

  • atesti 02/07/2009 15:33

    Lo que no entiendo es qué puede aportar Spring a un lenguaje dinámico.

  • Anónimo 02/07/2009 16:34

    Leyendo http://springpython.webfactional.com/reference/html/overview.html#overview-key-features ...

    Me parece que es una implementación en Python de algunos de los key-features de Spring: el contenedor de beans para hacer IoC de clases en Python (usando un archivo application-context.xml como en la version Java) , clases Template para hacer consultas a bases de datos y manejo de transacciones.

    Es interesante que no intención de implementar ningún framework para desarrollo web en Python, porque simplemente ya hay muchos y varios de ellos son muy buenos.

    Saludos,

    Denis

  • xsanca 02/07/2009 23:21

    Spring ya tenia una implementacion de los key-features para .Net, en cuanto a python, ellos ya tienen soporte para integrar script dentro de los contextos spring, es solo de incluir el namespace lang y usar los scripts de ruby, groovy o jython de forma transparente,

     Esto pinta como un nuevo port.

    Un saludo,

    J

  • Anónimo 03/07/2009 01:41

    Tambien soporta beanShell.

    Emanuelpeg

    Saludos

  • jmarranz 03/07/2009 11:44

    atesti: Lo que no entiendo es qué puede aportar Spring a un lenguaje dinámico.

    ¿Puedes explicarte?

     

  • atesti 03/07/2009 15:26

     @jmarranz: jeje, sabía que me metía en un terreno peligroso con ese comentario. A lo que me refiero, es que Python y similares, son lenguajes más blandos y con un poco de metaprogramación, se puede lograr inyección de dependencias y algo de AOP sin tanta infraestructura. Spring es una gran plataforma que dinamiza la rigidez de java, pero creo que sería supérfluo en un lenguaje ya de por sí dinámico. Con esto no quiero decir que Python sea mejor que Java, por el contrario, yo prefiero sacrificar flexibilidad a cambio de ganar robustéz, mantenibilidad y herramientas, y es por eso que prefiero trabajar con Java.

    Saludos.

  • atesti 03/07/2009 15:30

    Cabe agregar que en Spring utiliza XML para configurar, porque el XML no se compila y se puede modificar sin necesidad de recompilar el código Java. Eso no tiene mucho sentido en Python, ya que el código no se compila, y además la naturaleza declarativa del propio lenguaje, facilita las tareas de configuración, por medio de DSLs.

  • jmarranz 04/07/2009 12:14

    atesti reconozco que mi pregunta tiene un punto de mala leche  :) y otro punto de desconcierto

    El IoC es un patrón arquitectural que, si te gusta, tiene sentido en Java, en Python y en Pluton (este último no es un lenguaje de programación) y que en mi opinión tiene poco que ver con el lenguaje, sea dinámico o estático, aunque obviamente necesita algunas características del lenguaje, en el caso de Java básicamente necesita reflection y si existe la posibilidad de incluir metainformación directamente en los componentes (anotaciones) pues mejor.

    Por eso me ha extrañado mucho tu comentario, porque me cuesta creer que en cada lenguaje de programación no exista un "movimiento social" en torno a proveer de un container IoC para cada lenguaje, porque que yo sepa Spring sólo funciona para beans Java, bueno y Groovy pues a fin de cuentas una clase Groovy compilada es una clase Java, de hecho es únicamente en la comunidad Groovy en donde oigo hablar de Spring (también es cierto que lo tienen fácil). 

    Yo cuando programo en JavaScript NO puedo evitar el programar orientado a objetos, ¿por qué no se da la misma tendencia para el IoC en otros lenguajes diferentes a Java?. ¿Por qué no oigo hablar de IoC por ejemplo en JavaScript? (probad a buscar en Google).

    Sencillamente no lo entiendo, que alguien me lo explique.

    Otra cosa es la AOP, la AOP en mi opinión NO es IoC, de hecho es una bendición del cielo (en donde descansan de programar los míticos programadores de la Historia) para enriquecer la programación *imperativa*, aunque la verdad es que tiene muy muy pocos casos de uso en los que es imprescindible. Respecto a la AOP ciertamente cualquier lenguaje de script tiene herramientas de AOP incluidas en el lenguaje por ejemplo el watch de JavaScript.

    Respecto a IoC en JavaScript:

    http://ajaxian.com/archives/squirrel-ioc-dependency-injection-for-javascript

    Pero vamos, no oigo hablar en absoluto de este tema.

    Y respecto al papel (opinión negativa) de IoC en lenguajes dinámicos:

    http://weblog.jamisbuck.org/2007/7/29/net-ssh-revisited

    El siguiente comentario del autor del anterior blog es demoledor:

    "I find it ironic, that where once I had people asking me to give “a couple of quick examples” of why you need DI in Ruby, that now I’m being asked to justify not needing it "

    En resumen ¿alguien me puede explicar por qué no es necesaria la IoC en los lenguajes de script?

     

  • Anónimo 01/08/2009 01:08

    Dejo un post sobre lenguajes script que corren en java y que se pueden hacer beans en spring:

    http://emanuelpeg.blogspot.com/2009/07/otro-mas.html

Escribe tu comentario

Sun Microsystem Logo NHT-Norwick Logo

© 2002-2007 Asociación javaHispano