# NetSurf

NetSurf est un navigateur web libre sous licence GNU GPL pour les plates-formes RISC OS (un portage GTK existe aussi pour plates-formes compatibles POSIX). Il a pour objectif d'être léger et portable (développé en ANSI-C). Il contient des fonctionnalités telles la navigation par onglet, les marque-pages et le vignettage de pages.
Son développement a commencé en 2002, sur le constat qu'il n'y avait pas de navigateur web digne de ce nom sur plate-forme RISC OS. NetSurf a été élu 4 fois meilleur logiciel non commercial lors des récompenses RISC OS annuelles de Drobe Launchpad, entre 2004 et 2008.
Depuis, Netsurf a été développé, en dehors de RISC-OS, à la fois sur des plates-formes informatiques standards (MacOS (2011) et Unix-like) mais aussi sur des plates-formes plus anciennes ou peu communes (AmigaOS (2009), Haiku, Atari TOS (et est d'ailleurs le navigateur web de référence pour le tout nouvel ordinateur Atari firebee ) en 2011).
Netsurf a été classé, en 2011, 8ème/10 parmi les meilleurs navigateurs Linux, publié dans TechRepublic et ZDNet.
En 2010, il a été référencé comme ayant une interface utilisateur supérieure à w3m.

## Histoire

En avril 2002, le projet NetSurf débute en réponse à une discussion sur l’insuffisance de navigateurs web sur la plate-forme RISC OS. Après 5 ans de développement, le 19 mai 2007, sort la première version stable de NetSurf. Cette version 1.0 est disponible au téléchargement gratuit ou via l’achat de CD.
Un portage GTK existe également depuis juin 2004, pour les plates-formes Unix / Linux. La version 1.1 de Netsurf est sortie simultanément sur plates-formes RISC OS et dans les paquets Debian.
* NetSurf 2.0 a été lancé en avril 2009 pour RISC OS, Unix-like (tel Linux), AmigaOS 4, BeOS et Haiku. C'était la première version à utiliser la bibliothèque d'analyse HTML5 du projet, Hubbub.
* En mai 2009, une version de maintenance, NetSurf 2.1, a été publiée pour les utilisateurs. Il a incorporé des corrections de bogues et quelques améliorations à la mise en page.
* NetSurf 2.5 a été publié en avril 2010. Il s'agissait de la première version à utiliser la bibliothèque du projet pour l'outil d'analyseur CSS et de sélection, LibCSS et un nouveau cache interne pour le contenu récupéré.
* Septembre 2010 a vu la sortie de NetSurf 2.6, qui comprenait un certain nombre de corrections et d'améliorations.
* NetSurf 2.7 a été lancé en avril 2011, et a ajouté la prise en charge de treeview pour les fonctionnalités incluant le marque-pages (appelé le gestionnaire de liste critique dans NetSurf), la gestion de l'historique et la gestion des cookies. C'était aussi la première version à sortir pour Mac OS X.
* En septembre 2011, NetSurf 2.8 a été publié. Il a ajouté la prise en charge des frames et des iframes dans le moteur de rendu principal du navigateur, les rendant accessibles à tous les utilisateurs frontaux. La version incluait également la prise en charge du reniflage de type MIME et améliorait les performances de chargement des images utilisées par une page Web.
* En avril 2012 NetSurf 2.9 est sorti. Les changements les plus significatifs ont été le nouveau comportement multitâche, la gestion optimisée des URL, les optimisations de fetcher, les optimisations de cache et la sélection CSS plus rapide.
* En avril 2013, NetSurf 3.0 a été publié. La plus grande différence était l'utilisation de la nouvelle bibliothèque Document Object Model, LibDOM. Cette nouvelle bibliothèque est une base qui ouvre la voie aux développeurs NetSurf pour implémenter un moteur de mise en page entièrement dynamique à l'avenir. Parmi les autres améliorations apportées à NetSurf 3.0, citons la prise en charge complète de textarea, la possibilité d'extraire et d'analyser les feuilles de style CSS en parallèle avec des documents HTML, le refactoring extensif en coulisses et une foule de modifications et de corrections mineures.
* En avril 2014 NetSurf 3.1 a été publié, contenant de nombreuses améliorations par rapport à la version précédente. Les points saillants comprennent des performances de sélection CSS beaucoup plus rapides, un temps de démarrage plus rapide, une nouvelle apparence des arborescences (hotlist / signets, historique global et cookie manager), une gestion améliorée des options, une annulation / reprise dans les textareas et une amélioration générale des formulaires. Sont également inclus de nombreux autres ajouts, optimisations et corrections de bugs.

## Spécificités

Les ports du logiciel pour Windows et d'autres plateformes OS sont en cours de développement à partir de 2013; aucune date cible pour l'achèvement de ce travail n'a été fixée. [15]
Netsurf est principalement écrit en ANSI C, et implémente la plupart des spécifications HTML 4 et CSS 2.1 en utilisant son propre moteur de mise en page sur mesure. Depuis la version 2.0, NetSurf utilise Hubbub, un analyseur HTML qui suit la spécification HTML5. Il intègre aussi un support des images GIF, JPEG, PNG, BMP, SVG ainsi que tous les formats nativement supporté par RISC OS. (Sprite, Draw et ArtWork)
Une fonctionnalité de complétion d’URL est également présente, ainsi qu’un zoom graphique.
À l’instar des autres navigateurs web, Netsurf propose un historique permettant de voir les pages précédemment visités. Il propose ce dernier sous deux formes différentes, la première étant présentée sous forme de simple liste, la seconde sous forme d’arborescence reflétant le chemin parcouru.
Il a été suggéré par le développeur John-Mark Bell en 2007 que le support pour JavaScript pourrait être ajouté. Cette fonctionnalité n'a pas été intégrée à NetSurf v2 en 2008, ni à NetSurf v3 en 2013, mais en décembre 2012, il existait des versions de prévisualisation NetSurf disponibles qui contiennent un support de Javascript à un stade précoce. Le 20 avril 2013, NetSurf 3.0 a été publié.