Nei meandri delle interfacce grafiche via web

Christian strappazzo@tiscali.it
Mar 18 Dic 2012 15:31:26 CET


Ciao,

hai fatto un gran elenco! :)

>
> Avrei voglia di addentrarmi un po' di più nello sviluppo di interfacce
> evolute per il web (web applications).
> Ho visto che ormai ci sono parecchie librerie, prevalentemente basate su
> Javascript, che consentono di avere nel web risultati simili a quelli di
> un desktop (insomma, dai... più o meno...).
>

Sì ce ne sono anche troppe! :)

> Ho fatto un po' di ricerche per capire quali siano gli ambienti più
> promettenti attualmente, e riporto alla fine una lista di quello che ho
> trovato (senza pretesa di esaustività o completezza, e senza un
> particolare ordine. Anzi, se vi va di aggiungere info, ben venga!).
>

Ecco... forse l'ordine è importante, perché così li puoi categorizzare
e di daranno l'idea di cosa fanno e soprattutto quali utilizzare in
base al tuo obiettivo.

> Volevo a questo punto chiedere se qualcuno di voi ha già avuto modo di
> sperimentare in tale campo, ed eventuali suggerimenti et consigli.
>
> A me piacerebbe lavorare in back-end su Flask con Python (ma in teoria
> del back-end al front-end non dovrebbe interessare granché, giusto?), e

Giusto!
Se applichi il un pattern tipo MVC, MVVM, MVP, MVT... dipende da cosa
andrai ad utilizzare.

Ora vanno di moda, sì perché anche di questo è fatto il web, le
applicazioni con una sola pagina html e il tutto caricato
dinamicamente con un framework javascript (dal tuo elenco backbone,
knockout, ma anche spine.js e angular.js)
Direi che http://angularjs.org/ potrebbe darti soddisfazione, ci ho
giocato un po' ( troppo poco a dire il vero :( )
C'è pure yeoman per node... troppa roba... una direzione va presa!

> mi piacerebbe utilizzare un "builder" per costruire il layout dei widget
> (non ho voglia di perdere tempo a programmare interfacce, per capirci...).
>

Il punto del "piacerebbe" è cruciale :)
Il "builder" ti genererà codice non sempre facilmente manutenibile,
ammesso che esista per la tecnologia che hai scelto; solitamente è
l'ide/editor che ti aiuta nell'autocomplete o ti fornisce un
mock/template da cui iniziare.

Di mio preferisco utilizzare un sistema di template (ad esempio jinja)
e costruirmi una libreria per i vari widget, se non sono già
esistenti.

Sto aggiungendo entropia entropia al tuo elenco con altri link!
Guardati anche http://mustache.github.com/ sia mai che ti torni utile.

Su github trovi parecchia "roba" che mischia le varie tecnologie, così
puoi farti un'idea:
https://github.com/mrjoes/flask-admin
https://github.com/imwilsonxu/fbone
https://github.com/majorz/flask-htmlbuilder
https://github.com/thinkroth/FlaskBackbone
E altro ancora.

Non c'è via... codice lo devi scrivere ed è una delle grandi
differenze, imho, tra finestre desktop e "finestra web".

> Ho visto che, ad esempio, dhtmlx ha un bel GUI editor, ma solo iniziare
> a guardare tutti questi prodotti porta via un sacco di tempo.
>

Non lo conosco.
Somiglia tanto a ExtJS/Sencha, che credo non abbia un gui editor, ma
una volta capito il meccanismo e si conoscono gli oggetti widget da
inserire nell'interfaccia è un "mero" copia incolla... sto esagerando,
lo so! :)

Ah! Dimenticavo... l'entropia... http://pyjs.org/ ;)

> Ecco, per sintetizzare, riporterei la lista di quello che ho trovato
> chiedendo di integrare e commentare a chi avesse già esperienza in tale
> campo.
>

Molti dei framework che hai elencato da soli fanno "il loro", ma non
tutto il lavoro; in altre parole è mischiando un paio o più di
tecnologie che permettono di realizzare la tua applicazione.
Supponendo che svilupperai un'interfaccia RESTful con Flask che ti fa
da backend, il frontend lo potresti fare solamente con
jquery+jqueryui, perdendo però tutti i binding che ti danno backbone,
knockout e soci.

Ad oggi non ho (purtroppo) avuto modo di sviluppare qualcosa con
backbone, knockout o soci, ti posso solo dire che ho utilizzato
twitterbootstrap e jquery con grande soddisfazione ( anche alcuni
widget di jqueryui, il calendario :) ).

Momento entropia... http://coderbay.com/just-for-twitter-bootstrap-lovers/

> TIA,
> max.
>
> Quello che ho trovato fino ad ora:
>
> - jQuery UI:?http://jqueryui.com/
>
> - DHTMLX: http://dhtmlx.com/docs/products/dhtmlxSuite/index.shtml
>
> - Lesscss.js: ?http://lesscss.org/
>
> - Twitter Bootstrap: http://twitter.github.com/bootstrap/
>
> - Skeleton: http://www.getskeleton.com/
>
> - HTML KickStart: http://www.99lime.com/elements/
>
> - Zurb Foundation: http://foundation.zurb.com/
>
> - SproutCore: http://sproutcore.com/
>
> - Backbone.js: http://documentcloud.github.com/backbone/
>
> - Ember.js: http://emberjs.com/
>
> - Knockout: http://knockoutjs.com/
>
> - Sencha Ext JS: http://www.sencha.com/products/extjs/
>
> - Cappuccino: http://cappuccino.org/
>
> - Yahoo YUI Library: http://developer.yahoo.com/yui/
>
> - Dojo Toolkit: http://dojotoolkit.org/
>
> - UKI: http://ukijs.org/
>
> - HTML5 BOILERPLATE: http://html5boilerplate.com/
>

I miei due cents, spero di non averti fatto fare ancora più
confusione, ma di aver contribuito alla tua nuova avventura nelle
webapp!

Sani
Strap


Maggiori informazioni sulla lista blug