Pregunta

El fondo

Estoy construyendo una aplicación web de buen tamaño con un amigo en mi propio tiempo, y hemos decidido utilizar el framework Django en Python. Django nos proporciona muchas características que necesitaremos, así que no sugiera marcos alternativos.

La única decisión con la que tengo problemas es si usamos Python o Jython para desarrollar nuestra aplicación. Ahora estoy bastante familiarizado con Java y posiblemente podría beneficiarme de las bibliotecas dentro del JDK. Sé que Python es mínimo, pero estoy usando este proyecto como una oportunidad para aprender un nuevo idioma, por lo que la mayoría del trabajo se escribirá en Python.

El atractivo de Jython es, por supuesto, la JVM. El número de hosts web habilitados para python / django es extremadamente mínimo, mientras que supongo que podría soltar una aplicación jython / django en una gran variedad de hosts. Esta no es una decisión de diseño masiva, pero creo que aún debe decidirse. Realmente preferiría jython sobre python solo para la accesibilidad jvm.

Preguntas

¿Jython tiene muchas limitaciones en comparación con Python normal? ¿Ejecutar django en jython causará problemas? ¿Qué tan rápido es el equipo de Jython para lanzar actualizaciones junto con Python? ¿Funcionará Django como se anuncia en Jython (con una configuración previa mínima)?

Decisión

Gracias por los útiles comentarios. Lo que creo que voy a hacer es desarrollar en Jython para el soporte de JVM, pero tratar de usar solo código / bibliotecas de Python. La portabilidad no es una preocupación importante, por lo que si necesito una biblioteca en el JDK (no disponible en Python), la usaré. Mientras Django sea totalmente compatible, estoy feliz.

¿Fue útil?

Solución

Django funciona en Jython , aunque deberá utilizar la versión de desarrollo de Jython, ya que técnicamente Jython 2.5 todavía está en beta. Sin embargo, Django 1.0 y versiones posteriores deberían funcionar sin modificaciones.

Para saber si debe usar la implementación regular de Python o Jython, diría que es una cuestión de si prefiere tener todas las bibliotecas de Java disponibles o todas las bibliotecas de Python. En este punto, puede esperar que casi todo en la biblioteca estándar de Python funcione con Jython, pero todavía hay muchos paquetes de terceros que no funcionarán, especialmente los módulos de extensión C. Yo personalmente recomendaría ir con Python regular, pero si tienes mucha experiencia en JVM y quieres seguir con lo que sabes, entonces puedo respetar eso.

En cuanto a encontrar alojamiento de Python, esta página puede ser útil .

Otros consejos

Yo diría que si te gusta Django, también te gustará Python. No cometa el error (demasiado común) de mezclar la experiencia del idioma pasado mientras aprende uno nuevo. Solo después de dominar Python, tendrá la experiencia para juzgar si un lenguaje híbrido es mejor que cualquiera de ellos.

Es cierto que muy pocos alojamientos económicos ofrecen Django preinstalado; pero es bastante probable que eso cambie, dado que es el entorno más similar al motor de aplicaciones de Google. (y la mayoría de los proyectos GAE pueden ejecutarse en Django)

Recientemente comencé a trabajar en un proyecto de escritorio de código abierto en mi tiempo libre. Por lo tanto, esto puede no aplicarse. Llegué a la misma pregunta. Decidí que debía escribir la mayor cantidad de código posible en python (y Django) y apuntar a todas las plataformas CPython, Jython y IronPython.

Luego, decidí que escribiría complementos que interactuarían con bibliotecas en diferentes implementaciones (por ejemplo, diferentes bibliotecas GUI).

¿Por qué? Decidí desde el principio que la longevidad de mi código puede depender de la orientación no solo de CPython sino también de máquinas virtuales. Para los propósitos de hoy, CPython es el camino a seguir debido a la velocidad, pero quién sabe sobre el mañana. Si su código es lo suficientemente flexible, es posible que no tenga que decidirse por apuntar a uno.

La desventaja de este enfoque es que tendrá más código para crear y mantener.

Se supone que Django es compatible con jython sinc versión 1.0.

Este tutorial está un poco desactualizado, pero desde allí puede ver que no hay nada especial problemas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top