# NetSurf

NetSurf è un web browser open source sotto licenza GPL che funziona su RISC OS e sistemi Unix-like col toolkit GTK+; recentemente è disponibile anche per la console GP2X Caanoo. Supporta la maggior parte delle specifiche HTML 4 e CSS 2.1.

## Storia

Nell'Aprile del 2002, il progetto NetSurf è partito in risposta a una discussione sulle carenze dei browser esistenti della piattaforma RISC OS. Poco dopo l'inizio del progetto, versioni di sviluppo per gli utenti di RISC OS sono state rese avviabili per il download dall'autobuilder del progetto. NetSurf è stato votato il "Miglior software non commerciale" nei premi Drobe Launchpad's 2004, 2006 e 2007.

### Conversione

Il lavoro sulla conversione (port) con le librerie GTK è iniziato a giugno del 2004. Il port, che funziona sulle piattaforme Unix-like, è stato inizialmente creato per aiutare il processo di sviluppo e debug, però
da allora è maturato in un vero e proprio browser web GTK. È inserito in piccole distribuzioni linux. NetSurf ha attratto l'attenzione da diverse altre piattaforme. Dalla versione 2.0 è stato effettuato il port nato nativo per BeOS/Haiku e AmigaOS. Dal gennaio 2009 NetSurf è presente anche per MorphOS.

### Release

Dopo 5 anni di sviluppo, la prima versione stabile del browser è stata distribuita il 19 maggio 2007 in coincidenza con la mostra 'Wakefield RISC OS'. La versione 1.0 è stata resa avviabile per il download dalla pagina del sito del progetto e il software è stato venduto in CD alla mostra. Dall'uscita di Netsurf 1.0 ci sono state 2 versioni di punta, che hanno compreso correzioni di errori. NetSurf 1.1 è stato distribuito sia per RISC OS sia come pacchetto nel repositorio di Debian GNU/Linux il 15 agosto 2007. NetSurf 1.2 è stato distribuito il 22 marzo 2008. NetSurf 2.0 è stato distribuito il 25 aprile 2009

### Google Summer of Code

NetSurf è stato accettato nel Google Summer of Code nel 2008 come un'organizzazione di mentoring. Concorre per quattro progetti:

#### Lavoro e integrazione su Hubbub

    Hubbub è una libreria di decodifica compatibile con HTML5 scritta in C e distribuita sotto la Licenza MIT. Dall'11 agosto, tutte le versioni di sviluppo usano Hubbub per decodificare l'HTML.

#### Interfaccia GTK migliorata

    Interfaccia GTK per NetSurf ha ricevuto numerosi miglioramenti tra cui l'aggiunta di navigazione a schede, un gestore di download, l'interfaccia cronologia globale e selezione del testo.

#### Miglioramenti stampa e esportazione in PDF

    Questo progetto ha aggiunto la funzione di esportazione di PDF, attivando per NetSurf una via per la stampa su tutte le piattaforme. Il supporto alla stampa è stato inoltre aggiunto all'interfaccia utente GTK.

#### Estrazione funzionalità principali per librerie a sé stanti

    Il supporto di NetSurf per GIF e BMP/ICO è stato estratto in una librerie separata, adatte per l'uso da altre applicazioni. Il progetto ha visto anche l'inizio dell'estrazione del nucleo del motore di visualizzazione in una libreria a sé stante, chiamata Fandango, anche se questo lavoro è incompleto.

## Caratteristiche

NetSurf è scritto principalmente in ANSI C, e implementa molte specifiche HTML 4 e CSS 2.1 usando motore di visualizzazione su misura. Le versioni di sviluppo usano Hubbub, un decodificatore HTML che segue la specifica HTML5 ancora in sviluppo. Oltre alla capacità di mostrare immagini GIF, JPEG, PNG e BMP, il browser supporta anche i formati nativi di RISC OS, compresi Sprite, Draw e file ArtWorks.
Dal 2008, NetSurf non ha il supporto per JavaScript. La navigazione a schede non è disponibile in tutte le versioni, ma la funzione è stata realizzata nell'ambito del progetto principale del ramo di sviluppo. Attualmente (versione 1.2) occupa 2.2 MB su Risc OS. È usato su distribuzioni linux minimali quali DeliLinux.