Bookmark and Share

ZPT Amarcord

nel 2003, al webbit di Padova, ZPT era già in auge, e Zope Italia ne presentava i vantaggi e le peculiarità.

by Maurizio Delmonte - 2009-03-19
ZPT Amarcord

Da tempo si sta cercando di superare la tecnologia ZPT, usata da Plone per la costruzione delle sue interfacce.

In particolare si punta il dito sulla particolare lentezza di ZPT: ancora oggi, dove si richiede a Zope di costruire pezzi di interfaccia con massima rapidità, si fa uso dell'obsoleto DTML (vedi il caso dei fogli di stile di Plone).

Un compromesso interessante tra il buttare a mare ZPT e il tenersi il loro problema prestazionale ce lo offre Malthe Borch, con Chameleon: http://chameleon.repoze.org, http://pypi.python.org/pypi/chameleon.core.

Chameleon è un compilatore generico per linguaggi di templating basati su attributi: di mestiere mastica template (come quelli di ZPT) e li trasforma in byte-code Python, rendendoli molto più 'veloci' nella loro fase di rendering.

Essendo un compilatore generico, il pacchetto chameleon.zpt ci fornisce l'estensione per poter lavorare con ZPT: http://pypi.python.org/pypi/chameleon.zpt.

Hanno Schlichting ha fatto dei test molto promettenti, e ce li presenta in un suo post: http://blog.hannosch.eu/2009/03/can-i-make-my-plone-3x-faster.html

Molto presto avremo la possibilità di attivare Chameleon sulle prossime versioni di Plone, dando un'ulteriore spinta al miglioramento delle sue performance, ottenuto lavorando anche su altri fronti.

Per i più curiosi, un possibile futuro prossimo lo potete intuire da qui: http://pypi.python.org/pypi/chameleon.html.

Invece, per restare in tema di "ZPT alla riscossa", mi è venuta una certa nostalgia ricordando i bei tempi del Webbit 2003 a Padova. In tale occasione i "fedeli" zopisti italiani si riunivano fisicamente per la prima volta, e tutti insieme presentavamo Zope alla vastissima platea dell'Arena del Webbit, che ospitava anche uno dei primi sprint Plone.

Tra le varie presentazioni c'era quella su ZPT, a cui avevo lavorato insieme a Paolo Dina (che fine hai fatto Paolo?!), e che vi ripropongo in allegato, oltre ad averla trascritta nella sezione documentazione di Labs...