Quercus: connubio perfetto tra PHP e Java

di Andrea Turso - 12 gennaio 2009

Nonostante lo shock causato dall’orribile notizia, mi torna in mente il periodo in cui mi dilettavo a programmare in Java, un bel periodo. Java è davvero una piattaforma solida come poche altre. Mi sono sempre domandato come sarebbe stato PHP se fosse stato coerente e solido come Java.

Ebbene, forse dovremmo pensare seriamente di passare a Quercus e di contribuire al suo sviluppo, perché sembra essere un progetto validissimo. Per chi non avesse voglia di seguire il link — o non se la cava con l’inglese — Quercus non è altro che un’implementazione completa del linguaggio PHP in Java, permette di eseguire script PHP in un application server Java.

Sono molte le applicazioni PHP il cui corretto funzionamento è stato testato su Quercus, tra cui:

  • MediaWik
  • Wordpress
  • Drupal
  • Gallery2

L’ambiente promette davvero tanto, l’unione del “fai oggi, dura una vita” di Java e del “inizi oggi, finisci venerdì” di PHP sembra essere l’accoppiata vincente. Inoltre c’è il design di Java di sottofondo che infonde solidità all’architettura del linguaggio, e non parlo della sola percezione. Infatti molti bug presenti nello Zend Engine, il motore di PHP, non vengono riscontrati in Quercus. Forse Quercus potrebbe essere l’atollo dove i puristi dell’OOP possono trovare il compromesso perfetto tra la potenza di Java e la semplicità di PHP per lo sviluppo di applicazioni web.

Il codice PHP eseguito nell’ambiente di Quercus, oltre a poter usufruire delle librerie di Java direttamente dal codice PHP, gode del completo supporto all’Unicode-16, è scalabile, e le estensioni native possono essere scritte in Java, senza preoccuparsi dei fastidiosi problemi di gestione della memoria di estensioni sviluppate da terze parti in C.

Quercus può essere eseguito su qualunque application server per Java come TomCat o GlassFish o Resin, quest’ultimo sviluppato dalla stessa azienda che produce Quercus.

Resin è disponibile in tre versioni: Open-Source, distribuita sotto licenza GNU GPL; Personal, al costo di $99 per CPU e Professional al costo di $699 per CPU. La versione Professional tuttavia offre caratteristiche aggiuntive come la compilazione del codice PHP in Java byte-code per aumentare la velocità di esecuzione.

È considerevole il fatto che Drupal sembra essere 4x più veloce quando eseguito con Quercus e Resin.

Drupal eseguito con Quercus e Resin

2 commenti

1 Fabio Fabio martedě 10 novembre 2009, ore 11:49
Io lo sto testando su Liferay come portlet JSR-168 compliant.
Devo dire che funziona veramente bene, purtroppo ho fatto alcune prove molto banali alla hello world. Se solo trovassi la libreria che include lo Zend Framework.... potrei quasi affermare che diventerebbe una Killer Platform! Ciao
2 Andrea Turso Andrea Turso martedě 10 novembre 2009, ore 12:40
Ciao Fabio,
è bello sapere che Quercus si comporta bene, la community PHP ha un dannato bisogno di un po' di implementazioni concorrenti (vedi JRuby, Jython) con cui fare test, confronti e bench.

Comunque, di quale libreria hai bisogno per far andare lo Zend Framework?

La sfortuna è che non sono state ancora implementate tutte le funzione della "namespace" standard di PHP.
Effettua l'accesso o registrati per inserire un commento