18/05/2009
02/06/2009
18/06/2009
nWordPress es un porte de WordPress 2.5.1 a Java que ha sido realizado por la compañía Numiton. Para ello, se han apoyado en su herramienta PtoJ, que permite traducir de modo automático código PHP a código Java/Java EE. Según ellos, el motivo que les ha llevado a esto es el no haber encontrado ninguna herramienta de blogs que les satisfaciese completamente; WordPress les gustaba pero no les gustaba que estuviese en PHP, y Blogger era demasiado pesado y tedioso para configurar.
Según ellos, la migración ha sido un éxito, aunque la calidad del código final todavía no es completamente satisfactoria. Esto se debe más al hecho de que el código inicial estaba en PHP que a las limitaciones de la herramienta que (nuevamente según ellos) ha incluso mejorado la calidad del código PHP inicial. Ahora en su empresas se están centrando en mejorar la calidad del código generado por PtoJ empleando herramientas de análisis estático de código como PMD y FindBugs.
Este es el segundo proyecto PHP que migran a Java: ya existe un nBB2. En la web de la empresa también tienen una encuesta preguntando cuál queremos que sea el siguiente proyecto PHP que migren a Java: Joomla, Drupal o MediaWiki.
Etiquetas: j2ee, nwordpress, PHP
No sé si levantaré ampollas, pero me parece una iniciativa totalmente prescindible y que tiene más de marketing religioso que de beneficio técnico.
Nunca he ocultado que PHP me parece un lenguaje en el que es fácil que el caos surja a la vuelta de la esquina, pero creo que si el programador es bueno (creo que mejor que lo que necesitaría ser si usase otros lenguajes) puede hacer un código mantenible. No tengo ni idea de como están las tripas de wordpress, pero migrar el código a Java "porque no me gusta PHP" no me parece un razonamiento válido.
Salu2
juas, vaya broma, ¿no?. Wordpress no es un proyecto de dimensiones tan grandes como para hacer esta aproximación que luego significará echarle montón de horas y horas refactorizando.
Aparte que la calidad del código de wordpress era, al menos por sus inicios de 2.0, lamentable (e.g., en vez de 1 consulta con un join, 1+n consultas... jaja, la risa).
Leo la fuente de la noticia y puede convertirse en un chiste sobre javeros: coges un proyecto completamente funcional, que funciona en cualquier servidor web, con multitud de usuarios encantados, con una lista de plugins interminable; y lo conviertes en un proyecto que no funciona en todos los servidores web, que renqueará seguro, pero que tiene todas las variables tipadas, va a tener módulos OSGI, Spring MVC, cumple un montón de estándares... y no importará a nadie.
Podría tomarse como una metáfora de los errores de la comunidad Java: multitud de frameworks y librerías excelentes, pero pocas soluciones finales (=fáciles de instalar/configurar/extender/usar) de éxito para el usuario. A veces creo que nos preocupamos de programar más para otros programadores que para el usuario final.
Salu2
Si los hosting diesen un buen JBoss en lugar de Apache+PHP por el mismo precio a lo mejor tenía sentido... Así no tiene ninguno.
¿Traducir de modo automático código de Php a Java? Que chapuza ¿no?.
¿Tanto cuesta hacer un wordpress desde 0? Seguro que es un curro, pero será más limipio.....
jejej muy buena broma realmente, me recuerda aquella herramienta que traducia codigo de .NET (VB o C# , creo) a Java.
En este caso si yo quisiera utilizar una herramienta/pagina/framework PHP en un servidor Java simplemente utilizaria Quercus de Caucho(los que hacen el servidor Resin) que puede interpretar el codigo PHP muy muy bien (como si fuera Groovy o JRuby) y si quiero mucho mas rendimiento que el PHP Nativo (mod noseque y apache) compraria la licencia de Quercus Pro que permite compilar (si he dicho bien, compilar) codigo PHP a bytecode Java, con un rendimiento en algunos casos de hasta 40veces (si cuarenta) mejor que el propio PHP. Y lo mejor es que tanto la version gratis como la Pro pueden utilizar todo el arsenal de librerias de Java y todas las tecnologias de Cache, Multithreading, full scaling, load balancing, etc,etc,etc,etc que existen.
y deacuerdo con ibon, el argumento de que "porque PHP no me gusta" me parece algo tal vez valido para ellos en sus gustos, pero para nada para el resto del mundo.. :D
saludos
En realidad no se si esta conversión servirá a alguién en una situación concreta. Si es así, puede tener sentido, aunque particularmente creo que un proyecto java quedaria mucho mejor si comienza desde 0, ya que la filosofia de desarrollo es distinta.
Yo creo que el interés de este tipo de soluciones puede estar más que en tener un proyecto equivalente al original escrito en Java, en poder desplegar el proyecto original en un servidor de aplicaciones Java. Claro que para eso hubiese bastado que compilasen a bytecode y no ha lenguaje Java.
Cada 2 x 3 aparece una compañía con una solución de este tipo (porto de modo automático de PHP/C/C#/Cobol, por poner varios ejemplos reales, a Java). Me pregunto que mercado real tienen estas soluciones. Algún mercado deben tener, ya que algunas (por ejemplo esta: http://www.mainsoft.com/) llevan bastante tiempo por ahí.
Ahhh, un port de Wordpress no lo sería si no respetara sus agujeros de seguridad. Por el método que han empleado veo que sí, así que tranquilos que la filosofía de Wordpress queda a salvo.
y estas herramientas, ¿Como portan el API de PHP? Porque gran parte del API de PHP son librerías desarrolladas en C, que dependen en muchos casos de dlls /so de terceros.
Puedo imaginar hacer una aplicación que traduce un lenguaje en otro, ya que así muy por encima, como lenguaje tienen muchas cosas similares, pero portar los APIs o mas dificil aun migrar las llamadas a un API/framework a otro diferente debe ser un proyecto enorme.
yo me imagino que en el caso de las API y librerias de terceros de PHP no se porta nada, solamente se utiliza algo en java que sea equivalente. Igual en Java hay para todo, si son las api de base de datos que usa PHP se puede usar JDBC que es mucho mejor y mas robusto, para email esta JavaMail, y cosas asi, precisamente en eso consiste la conversion, seria imposible estar haciendo conversiones hasta de las API porque terminarian haciendo un port del motor de PHP para que esas API funcionasen.
Escribe tu comentario