Le web apps atterrano sul desktop con Mozilla Prism.

my prism by dee-j

my prism by dee-j

Una delle novità più sbandierate di Ubuntu 8.04 è sicuramente Firefox 3 beta5. Ma forse non tutti sanno che, insieme al nuovo browser di casa Mozilla, arriva nei repository della comunità, Prism: un progetto ancora giovane, disponibile anche per Windows e Mac, il cui scopo è di portare le web application sul nostro desktop con una semplicità a dir poco disarmante.

Parla potabile! Cosa sono ‘ste web application (a.k.a. web apps)?

Semplice: sono applicazioni, programmi, che invece di essere eseguiti sul nostro PC sono eseguiti da un server web, ma controllati dal nostro browser.

Praticamente qualsiasi sito web che ci offra un certo grado di interattività è una web app.
Tutte le caselle di posta gestibili dal browser (comunemente chiamate webmail) sono delle web app, la parte amministrativa dei nostri blog, Google Calendar, Docs, Reader etc etc. sono tutte web app.

Allora Prism è solo un altro browser?

La risposta è… sì e no. :P

Prism, nato formalmente come Webrunner, è solo un pezzo di browser, per l’esattezza è quella parte di Firefox 3  strettamente dedicata all’interpretazione delle pagine web.

Quando ho spiegato cos’è una web app ho omesso, per semplicità, un particolare: l’applicazione non è sempre interamente eseguita dal server, parte di questa (spesso molto “pesante”) viene interpretata dal nostro browser o visualizzata dai plugin presenti in esso (Javascript, applet Java, filmati Flash o Shockwave).

Lo scopo principale di un browser dovrebbe essere quello di rendere le pagine web nel modo più conforme possibile agli standard.
Se però lo utilizziamo per aprire diverse web app allo stesso tempo, il nostro povero browser si troverà a dover gestire quantità di codice fuori dal comune: una situazione critica per cui probabilmente non è stato concepito.
Questo si traduce in lentezza delle applicazioni e rischio di blocchi o crash, cosa estremamente deleteria.

Da qui nasce l’idea di trasformare il browser in un gestore di applicazioni web in grado di controllarle in processi indipendenti come un sistema operativo fa con le normali applicazioni.
In questo modo, in caso di crash, errori o rallentamenti, non vengono inficiate le altre web app che stiamo utilizzando.

Ma come è fatto ‘sto Prism?

Prism non si vede. Si aggira non troppo discretamente tra i processi in esecuzione, sotto il nome di “xulrunner-bin” occupando circa 60 Mb di memoria.
Sarebbe ottimo, secondo me, riuscire a ridurre l’impatto sulle risorse del sistema in modo da poterlo usare anche con macchine datate o con scarse risorse a disposizione.

La barra degli indirizzi, i pulsanti di navigazione, i menu, i segnalibri, la cronologia, l’intera interfaccia del browser… sono tutti elementi che, sebbene utili per navigare, non servono se utilizziamo un’applicazione già dotata di un’ interfaccia propria, quindi non ci sono.
C’e comunque la possibilità di attivare un’interfaccia di navigazione minimale, che consiste praticamente nella sola barra degli indirizzi e nella navigazione per mezzo delle combinazioni di tasti (le stesse di Firefox):

  • Alt + Freccia Destra = Avanti
  • Alt + Freccia Sinistra = Indietro
  • Alt + Home = Pagina iniziale (della web app, ovviamente)
  • … sinceramente non ne uso altre :)

Ha senso utilizzare Prism o è assolutamente superfluo?

Esistono pareri discordanti sull’effettiva utilità di Prism, basta leggere i commenti sul blog correlato. Ma, a mio modestissimo parere, ha senso.
Ormai siamo circondati da applicazioni web di qualsiasi tipo e spesso andiamo a cercare dei client che ci rendano meno macchinoso il loro utilizzo.
In questo momento ad esempio ho 4 istanze di Prism aperte:Prism in azione

  1. sto scrivendo sul mio blog, utilizzando l’interfaccia web
  2. ho Google Reader aperto in un altra finestra
  3. Google Docs con un documento di testo aperto (un bozzetto di questo articolo iniziato a lavoro in pausa pranzo)
  4. Twitter (minimizzato) :P

E’ come se avessi un piccolo client per ogni web app, installando di fatto un solo programma.

E c’è dell’altro: l’dea alla base di Prism è fare in modo che si adatti alle diverse applicazioni che si utilizzano.
E’ già possibile installare diverse estenisoni per ogni diversa applicazione (su Windows però quest’opzione non è ancora disponibile) ed il team di sviluppo sta mettendo a punto un sistema per marcare le web application in modo da essere riconosciute da Firefox che potrà proporre direttamente all’utente di installare l’applicazione (mediante un tag <meta> o <link>).

E Google Gears? E Adobe AIR? E Micorsoft Silverlight? E Java Runtime Enviroment?

Non credo ci sia neanche da confrontare Prism con quelle cose appena menzionate.

Non perchè l’una è meglio dell’atra o vicevcersa, ma semplicemente perchè si tratta di applicazioni diverse con diversi obiettivi e funzionalità.

Prism NON serve ad usare delle web app mentre si è offline come Google Gears e NON E’ UNA PIATTAFORMA per far girare delle applicazioni desktop sviluppate  con i linguaggi del web come Adobe AIR o Silverlight né tantomeno un interprete per bytecode Java.

This entry was posted in Opensource, Software, Web and tagged , , , , . Bookmark the permalink.

4 Responses to Le web apps atterrano sul desktop con Mozilla Prism.

  1. E quindi? A quali conclusioni sei giunto? Siamo sicuri che non ci troviamo davanti una cosa simile ad Adobe AIR?
    Insomma, perchè dovrei installare Prism?

  2. Gianluca S. says:

    Hai letto il mio post fino in fondo?

  3. Eta says:

    Davvero interessante!
    In pratica il pc/mac diventa un iPhone gigante. :D
    In che stato è la beta?
    Se la provo mi crasha tutto?

    Grazie della news

  4. Gianluca S. says:

    Per l’uso che ne faccio io, l’applicazione funziona quasi senza crash sia su Windows che su Linux, e penso sia lo stesso anche su Mac.
    Altri tester hanno riscontrato problemi, ma è a questo che servono i test, no?
    Per ora comunque il peggio che mi è capitato è di dover chiudere una singola web app, ma mai niente di catastrofico.

Leave a Reply

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

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>