02
Chrome: il navigato Google si inventa navigatore
Taggato Come : browser, chrome, google, open source
E’ una notizia che sta dilagando per la rete intera.
Big G lancia Chrome, il suo nuovo web browser open source
Google sfida ancora una volta Microsoft, minando l’efficacia raramente dimostrata di Internet Explorer, non mancando di far rabbrividire anche Mozilla ed il suo Firefox.
Alla base della bomba una fuga non di gas, ma di notizie.
Il tutto è cominciato nella notte di lunedì 1 settembre, quando il sito Blogoscoped.com ha reso disponibile un fumetto in qualche modo entrato il loro possesso.
Le tavole, disegnate dal cartoonist Scott McCloud, descrivono in modo dettagliato l’idea di base e le funzionalità che questo nuovo software ha in serbo.
Nasce una leggenda internet-metropolitana di dimensioni spaventose: le voci si rincorrono ed i pareri sono contrastanti: c’è chi pensa ad un Pesce d’Aprile in ritardo, c’è chi afferma di averlo visto ed utilizzato, fino a pochi eletti che dichiarano i loro portali già compatibili e funzionanti su Chrome!
Alla fine è proprio Google a fermare il caos così generato, confermando le voci e regalando anche alcuni screenshot.
Ma vediamo più in dettaglio gli elementi caratteristici di questa nuova creatura.
Chrome nasce da un’osservazione: gli attuali browser non sono stati creati per l’attuale internet.
Il web non è più solo pagine web e contenuti testuali, ma si è spinto molto avanti, arrivando a gestire flussi multimediali, videogiochi, chat, fino ad applicazioni corpose e complesse.
La progettazione dei browser non prevedeva tali criticità e, di conseguenze, le soluzioni applicate per far fronte a queste nuove esigenze non sono sempre state del tutto ortodosse (come i webdesigner disperatamente sanno).
Per tale motivo il team ha deciso di creare Chrome partendo da zero, ponendo come principali obiettivi i bisogni delle attuali web applications e dei nuovi utenti web.
Se i presupposti fossero soddisfatti in pieno si potrebbe arrivare anche a ridefinire il termine browser.
Il motore di rendering è WebKit, già utilizzato da Safari, considerato semplice, efficiente dal punto di vista della memoria, utilizzabile su dispositivi embedded e dal rapido apprendimento.
Uno degli aspetti più interessanti di Chrome è sicuramente il multiprocessing.
Google ha evidenziato come principale limite degli attuali browser l’essere inherently single-threaded, cioè la tipica sequenza di operazioni di richiesta di un pagina, il suo download, l’interpretazione del codice HTML, l’interpretazione dei javascript, ecc.. sono eseguiti in modo strettamente sequenziale, passando il controllo da un task all’altro in stretta dipendenza. Questo vale anche in casi di richieste multiple su più tab.
Ok, bello, ma che significa?
Bhe, uno degli effetti tipici di tale architettura che si riscontra non di rado quando del codice javascript o un’applet java o un giochino flash “si blocca”, mandando in crisi l’intero browser, fino al crash, cosa certo non simpatica se, parallelamente, in altri tab:
- si stava scrivendo un’ importantissima mail di presentazione per un colloquio;
- si stava chattando con la tipa più f…amosa della propria community;
- si stava preparando il modulo F24 per il versamento dell’iva trimestrale, comodamente dal proprio conto on line (ricordate che la sessione lato server resta attiva);
Allo scopo di evitare queste spiacevoli situazioni agli utenti ed ai loro condomini, che ne devono poi subire le urla isteriche, Chrome è realizzato in modo da poter gestire ogni tab come processo a se stante e svincolato dagli altri, secondo le logiche di isolamento già alla base dei sistemi operativi moderni.
Un tab potrà sempre bloccarsi per del codice errato, ma senza impatto sugli altri aperti.
Altra peculiarità di Chrome sarà l’Incognito Mode, una sorta di InPrivate di Internet Explorer 8, che permetterà una navigazione in totale privacy: nessun coockie o altra traccia delle attività svolte sul web saranno memorizzate.
In chiave ottimizzazione, Chrome ospiterà V8 Javascript engine, un nuovo interprete javascript open source sviluppato da Google, naturalmente etichettato come “la più veloce virtual machine in circolazione”.
Al di là delle valutazioni pratiche e tecniche su Chrome (ancora beta) e politico economiche propagandistiche (sarà davvero fuga di notizie o marketing virale?), quello che è evidente è l’inarrestabilità di Google, che ha saputo fare della ricerca, in senso moooooolto ampio, il suo vero business.
A noi poveri operatori del settore restano solo amletici dubbi: chi siamo, dove andiamo e come gestirà Chrome i float!
Diego Purpo
[...] cosa ne pensa diego che lo ha gia’ provato per tutti noi. Segnala [...]
…e aspettiamo ancora le promesse versioni per linux e mac….vabbeh!
Ho riscontrato anch’io infatti delle diversità di Chrome nella gestione dei float. Non riuscivo a capire perché soltanto in Chrome alcuni elementi della mia pagina andavano a finire a destra e manca finché non ho guardato meglio i float, e modificando quelli ho visto che poi tutto tornava normale in Chrome e continuava anche a funzionare su IE e Firefox…
Un altro aspetto di Chrome che ho notato e che mi è piaciuto molto è la gestione dei textarea, sono espandibili dall’angolo inferiore destro, trascinando con il mouse! Niente più scrollbar!
Per Lwangaman, a che problemi con i float ti riferisci? Non ho riscontrato particolari problemi, ma effettivamente non verifico molto su Chrome i miei lavori (sono un po’ svogliato su questo browser!).
Ci puoi fare un esempio di problema che hai avuto e di come l’hai risolto?
Intanto premetto che non sono un esperto programmatore ma un autodidatta, per cui non so quanto il mio codice era pulito in primo luogo. So che mentre andava bene com’era in Firefox poi non andava bene in Chrome (che magari interpreta anche meglio i float), ed ecco che cosa ho corretto:
Utilizzo il CMS Flatnux in alcuni siti che curo, e ho portato delle modifiche al blocco Calendario di Flatnux, le quali modifiche richiedevano l’utilizzo dei float perché dovevo mettere più div uno accanto al altro sulla stessa riga (cosa che ora vedo non sarebbe necessaria utilizzando per esempio JQuery che si riferirsce con molta facilità a tutti i singoli elementi / oggetti di una pagina), comunque dopo aver dato un float:left a due o tre div che dovevano stare sulla stessa, poi ai successivi div che dovevano stare sulla riga successiva non ho applicato alcun float, e in questo modo tutto stava al suo posto sia in IE sia in Firefox. Quando poi ho provato Chrome ho visto che tutto il div successivo (che conteneva buona parte del calendario stesso) era tutto spostato da una parte e usciva addirittura dai confini del blocco! Ho realizzato allora che all’ultimo div sulla riga si dovrebbe applicare un clear in modo da togliere gli effetti dei float dagli elementi successivi, e applicando così un clear all’ultimo div della riga e per sicurezza un float:none al div della riga successiva ho visto che tutto tornava a posto in Chrome, e che andava bene anche in Firefox e in IE.
Comunque adesso sto notando che Chrome distanzia gli oggetti di una pagina in maniera abbastanza diversa rispetto a Firefox e IE (oppure è un problema di resa dei caratteri e dei fonts, che risultano più larghi rispetto a FF e IE?).
Per esempio in questa pagina http://johnrdorazio.altervista.org/SchedarioParrocchialeAlt.htm ci sono diversi div che contengono ognuno un fieldset, e mentre in IE e Firefox entravano benissimo nella pagina con i loro rispettivi float (e applicando dei percentuali di width per IE che li espandeva sempre e comunque se non glielo specifichi diversamente) e senza specificare nulla dei fonts o dei font-size, in Chrome invece prendevano troppo spazio e andavano a finire uno sotto al altro. Ho dovuto specificare un font-size più ridotto per farli entrare tutti come intendevo, ma in questo modo ora in FF e IE non sono più ordinati allo stesso modo perché gli spazi sono troppo larghi! O dovrò inserirli tutti in una grande tabella che li tiene in un unico modo sulla pagina, senza utilizzare i float, oppure dovrò usare il javascript per dire: se il browser corrente è Firefox, applica questi stili CSS; se è IE, applica questi altri; e se è Chrome, applica ancora questi altri!
E’ un po’ un casino così, purtroppo ci vuole tanta pazienza a creare pagine che siano cross-browser!
Grazie Lwangaman per la tua descrizione così dettagliata e corredata anche da un ottimo esempio.
Purtoppo la compatibilità del proprio codice XHTML + CSS con i vari browser è sicuramente il problema che più afflige i web designer ed assicurarla è tanto più complesso quanto più si gioca con quegli aspetti che si sa essere delicati.
I float sono probabilmente il simbolo dell’incompatibilità cross-browser a causa dell’interpretazione dei renderer non sempre impeccabile (leggi bug dei margini su IE6 e relativa cheat “display: inline”)
E come correttamente dici, lo strumento più utile dei web designer è sicuramente la pazienza
Vedo che anche altri siti si devono confrontare con simili problemi… Stavo consultando ora questa pagina di Wikipedia: http://en.wikipedia.org/wiki/Building_429 , e vedo che in Chrome il box sotto il titolo (”This article needs additional citations for verification…”), si riversa su quello laterale a destra (con la foto e “Background information”), cosa che non avviene invece in Firefox o IE…
Inoltre sto trovando problemi con l’utilizzo dei percentuali per il width e height delle tabelle. Esempio: http://www.parrocchiasanlino.org/ Nella colonna destra della pagina, c’è il blocco “Titoli delle Notizie”, nel quale le tre celle sulla destra che creano una specie di barra laterale verticale, condividono l’altezza totale della tabella ognuna con un height=30%. Le tre celle sono distribuite uniformemente in Firefox e IE, mentre in Chrome le prime due rimangono schiacciate in altro e la terza prende il resto dello spazio. Come mai Chrome si comporta così? Infatti l’evento onmouseover della prima cella non risponde neanche in Chrome, mentre alle altre due sì…