P4A 3 rendering layer discussion

This post will not be easy to write… I’ll try to explain you what kept us really busy in the past 2 weeks. ok a screenshot could help me :-)

In the P4A 3 roadmap post, I told you about a new widget rendering system… I didn’t post more technical info intentionally, I wanted to create a bit of suspense :) but I also wanted to do some tests before publishing news.

For P4A 3 we’d like to have a killer graphic with killer features (resizable widgets, border layouts, beautiful and powerful menu and so on) thus we looked to the biggest javascript frameworks out there: extjs and dojo. Both have great features and both have issues.

Extjs as really a killer graphic layout, and it’s released under LGPL3 (developers wrote some licensing notes that I can’t really understand… actually I think that those notes could conflict with LGPL3 itself) but it has not an open SVN and development is quite closed. Another note: only community support is for free.

Dojo is more polite with licensing and it’s released under BSD, but I don’t like the graphic layout too much and the way you’ve to code your applications writing a non-standard HTML with dojo-only attributes. It has some accessibility features.

Some considerations:

  • In my tests I found bugs in both frameworks
  • porting P4A to one of these tools is a “1 way road”
  • relying the rendering layer to a 3rd party project means we’ve to 1000% trust this project
  • these tools do not have a good print CSS support

We would have a 3rd option: continue on our road with quite standard HTML but rewrite our CSS from scratch with a CSS reset and a modular design which will give us better control.

I wrote extjs developers to know if they’re interested in a collaboration with P4A, I’m waiting for an answer but I’m looking for your considerations too, community it’s important to me, please let me know what you think and what are your experiences with those tools (or suggest others).

12 thoughts on “P4A 3 rendering layer discussion

  1. Massimiliano Balestrieri

    Scusa se parlo in italiano (libero di tradurlo, o di cancellare).
    Io aspetterei jQuery.
    Non so se il progetto UI porterà risultati in breve tempo.
    Con Dojo addio doctype standards ecc..
    Ext2 ho dei dubbi. Mi sembra tanto andare verso un futuro commerciale.

    Oppure svilupperei da zero una libreria UI in jquery non aspettando il progetto UI (magari selezionando la miriade di plugin non indicizzati che si trovano in giro… non so se hai visto ieri questo
    http://ajaxian.com/archives/plotting-in-jquery
    ).

    Ciao Max :)

  2. Fabrizio Balliano

    ma sai io adoro jQuery però UI non è che mi faccia impazzire, non lo trovo diciamo coì “solido”.

    comunque condivido le tue osservazioni su dojo e extjs.

    non svilupperei però nulla da zero, mi limiterei a utilizzare i plugin di jquery che già usiamo, più magari altri nuovi (questo flot è impressionante, non l’avevo visto… però forse preferirei comunque open flash chart o come si chiama) e rifacendo html/css generati da p4a da zero, rendendoli più modulari e solidi, così che si possa svilupparci sopra un bel tema grafico moderno. dovremmo rinunciare a pannelli ridimensionabili ecc… ma continueremmo a supportare i dispositivi mobili, stampa via css, un po’ di accessibilità e soprattutto gli standard…

    cmq direi di pensare ancora a tutto a mente fredda, intanto io sto già lavorando ad altro (zend framework :-))

    grazie per il commento max!

  3. Fabrizio Balliano

    I forgot to mention the qooxdoo project, it’s really interesting but… seems quite to difficult, haven’t tested it too much :-( someone having experiences?

  4. Aesis - Marco

    Ciao Fabrizio,
    non so se dico una cosa senza senso, ma sono un amante di delphi for php che utilizzo insieme a PHP 4 application…non si potrebbe adattare PHPVCL al progetto ?

    Ciao Marco.

  5. Fabrizio Balliano

    mi sembra di capire che vcl4php usa qooxdoo, a questo punto sarebbe meglio usare direttamente qooxdoo piuttosto che un altro layer php in mezzo

  6. Aesis - Marco

    Scusami, non lo sapevo…è stato una distrazione da parte mia…senti come possiamo esserti utile? Possiamo provare qualcosa…che ne pensi..siamo a disposizione.
    Ciao Marco.

  7. Jose Miguel

    Hi Fabrizio,
    I am using P4A in Spain for the 3 last year. You have made a great job.
    I think that P4a need a great jump in javascript frameworks. Everyone are very good but it is important the license. I have tested qooxdoo and it seems good. But We can forget database access, overcoat postgresql. It is the future and P4A has to see to this future, database access. It is better to choose one of them.
    Best regards

  8. Fabrizio Balliano

    hi Jose and thank you for your comment, qooxdoo seems good to me too (actually seems better than extjs) but the complete package is 1.2mb… the more i’m using those projects the more I think that CSS was meant to do that and not bilions lines of javascript code.

    we’ll see… we have to think the whole thing for a bit longer, meanwhile we’ve so much work to do…

    about the database thing, don’t worry, we’re taking it very seriously for the next release, zend framework will help us.

  9. Aesis - Marco

    Ciao Fabrizio,
    una domanda ? C’è già una bozza della prossima release la 3.0 oppure devi iniziare a svilupparla ? Per quello che possibile io sno a disposizione….l’importante è capire come posso fare. Grazie. Marco.

  10. Fabrizio Balliano

    @Aesis – Marco: in questo momento è tutto committato su HEAD, sperimentazione con extjs, penso che in mattinata sposterò tutto su un nuovo branch e riporterà HEAD alla 2.2.2 così da poter cominciare a lavorare su zend framework.

    ieri discussione lunghissima con andrea su questo discorso di framework javascript… alla fine siamo molto dubbiosi, stiamo pensando di mantenere la generazione del markup (rifacendo il css da zero, css che ha quasi 5 anni tra una modifica e l’altra…) piuttosto che spostare tutta la computazione dell’interfaccia su javascript.

    il fatto è che non possiamo sapere su un framework javascript possa fare a caso nostro finché non abbiamo fatto tutto il porting, un lavoro abnorme con quindi un’incognita abnorme, dopo 2 settimane di riflessioni comincio a convergere sull’opinione di Massimiliano (primo commento al post).

    capire come potresti aiutarci non è affatto facile, credo che in questo momento ci servano sicuramente tante opinioni, se poi puoi farci vedere tue applicazioni sviluppate con vcl4php ancora meglio

    ciao!!

  11. Aesis - Marco

    Grazie Fabrizio per la risposta,
    per quanto riguarda le opinioni..come vedo qualcosa di nuovo non tarderò a commentare e dispensare opnioni su quello che la mia modesta esperienza mi permetterà di capire..cmq appena ho raccolto del materiale sulle mie applicazioni sicuramente te le mando.

    Ciao Marco.

Leave a Reply

Your email address will not be published. Required fields are marked *