Konqueror e WebKit: si può in KDE


Sul numero 66 di Linux&C. è uscito un articolo a firma del sottoscritto in cui si parla di Konqueror come utilizzante WebKit per il rendering delle pagine web. Una precisazione è d’obbligo: tradizionalmente Konqueror ha da sempre utilizzato come suo motore di rendering KHTML, sviluppato dallo stesso progetto KDE sulla base del framework KPart. Il che gli consente di essere integrabile in tutti i “contenitori” di KDE che accettino tali componenti software.

La scelta di viewer in Konqueror (KDE 4).
Le viste di KDE4 Konqueror installate nel mio ambiente

Nel 2002 Apple fece un fork di KHTML e derivò da esso WebKit, che costituì un pezzo importante del suo framework WebCore per l’accesso ai protocolli, formalismi di descrizione di pagina (come HTML) e linguaggi di scripting (JavaScript). Apple all’inizio fu birichina, non restituendo propriamente ciò che aveva preso da un progetto LGPL come KHTML, ma in seguito imparò la lezione: tra la fine del 2005 e l’inizio del 2006 Apple rese il codice pubblico e il progetto KDE iniziò il backporting di varie feature originali e bug fix a KHTML. Le due basi di codice hanno un ancestore comune, ma non sono propriamente interscambiabili.

Recentemente Trolltech ha fatto un backport di Webkit alle librerie Qt (fino dalla versione 4.4), per cui non è stata difficilissima l’integrazione di WebKit in Konqueror tramite KPart. Ad esempio, per installare tale motore di rendering nella mia Kubuntu 8.10 (aggiornata a KDE 4.1.3) ho eseguito i passi da terminale:

tonyt@zonk:~$ sudo apt-get install webkitkde
[sudo] password for tonyt:
Lettura della lista dei pacchetti in corso… Fatto
Generazione dell’albero delle dipendenze in corso
Lettura informazioni sullo stato… Fatto
I seguenti pacchetti verranno inoltre installati:
libkdewebkit1 webkitkde-data
I seguenti pacchetti NUOVI (NEW) saranno installati:
libkdewebkit1 webkitkde webkitkde-data
0 aggiornati, 3 installati, 0 da rimuovere e 0 non aggiornati.
È necessario prendere 372kB di archivi.
Dopo quest’operazione, verranno occupati 1204kB di spazio su disco.
Continuare [S/n]?

Get:1 http://it.archive.ubuntu.com intrepid/main libkdewebkit1 0.1~svn080826-0ubuntu1 [295kB]
Get:2 http://it.archive.ubuntu.com intrepid/main webkitkde-data 0.1~svn080826-0ubuntu1 [40,3kB]
Get:3 http://it.archive.ubuntu.com intrepid/main webkitkde 0.1~svn080826-0ubuntu1 [36,1kB]
Scaricato 372kB in 1s (213kB/s)
Selezionato il pacchetto libkdewebkit1, che non lo era.
(Lettura del database … 122625 file e directory attualmente installati.)

Spacchetto libkdewebkit1 (da …/libkdewebkit1_0.1~svn080826-0ubuntu1_i386.deb)…

Selezionato il pacchetto webkitkde-data, che non lo era.
Spacchetto webkitkde-data (da …/webkitkde-data_0.1~svn080826-0ubuntu1_all.deb) …
Selezionato il pacchetto webkitkde, che non lo era.
Spacchetto webkitkde (da …/webkitkde_0.1~svn080826-0ubuntu1_i386.deb) …

Configuro libkdewebkit1 (0.1~svn080826-0ubuntu1) …
Configuro webkitkde-data (0.1~svn080826-0ubuntu1) …
Configuro webkitkde (0.1~svn080826-0ubuntu1) …
Processing triggers for libc6 …
ldconfig deferred processing now taking place

Alla fine della fiera è possibile usare WebKit per visualizzare la pagina web attuale, selezionandolo da Visualizza/Modalità di visualizzazione del browser. Ovviamente il default è sempre KHTML. Come fare per cambiare il default a WebKit? La documentazione suggerisce il seguente procedimento:

tonyt@zonk:~$ keditfiletype text/html

Nella finestra che appare, al secondo tab (Integrazione) è quindi possibile spostare WebKit come prima scelta in alto per averlo al default in Konqueror.

Quali sono le controindicazioni nell’utilizzo di WebKit al posto di KHTML? Probabilmente al momento nessuna: in questi sforzi iniziali di integrazione non è affidabilissima la visualizzazione di alcuni siti, ma secondo me altrettanto può essere detto (e molto di più) per quanto riguardi KHTML. Opinione di molti, inclusa la mia, è che in realtà si guadagni in velocità e in accuratezza di visualizzazione delle pagine.

Che altro dire? Buon divertimento!