Software:NetSurf

From HandWiki
Short description: Web browser
NetSurf
NetSurf-logo.svg
NetSurf.png
NetSurf running on RISC OS
Developer(s)The NetSurf Developers
Initial releaseMay 19, 2007; 16 years ago (2007-05-19)
Stable release3.10[1] (May 24, 2020; 3 years ago (2020-05-24)) [±]
Written inANSI C
Operating systemOfficial:[2] RISC OS, AmigaOS 4, Windows; Linux/Unix-like, BeOS/Haiku, Atari TOS, macOS
3rd party ports: AmigaOS 3, Caanoo, MorphOS, Samsung TVs, Redox OS, Plan 9; KolibriOS port in development
Size4.0 MB (RISC OS)
6.9 MB (AmigaOS)
TypeWeb browser
LicenseGPL-2.0-only

NetSurf is an open-source web browser which uses its own layout engine. Its design goal is to be lightweight and portable. NetSurf provides features including tabbed browsing, bookmarks and page thumbnailing.

The NetSurf project was started in April 2002 in response to a discussion of the deficiencies of the RISC OS platform's existing web browsers.[3] Shortly after the project's inception, development versions for RISC OS users were made available for download by the project's automated build system. NetSurf was voted "Best non-commercial software" four times in Drobe Launchpad's annual RISC OS awards between 2004 and 2008.[4][5][6][7]

NetSurf supports both mainstream systems (e.g. macOS and Unix-like) and older or uncommon platforms (e.g. AmigaOS, Haiku, Atari TOS, RISC OS, and Redox[8]).

The browser was ranked in 2011 as number 8 in an article highlighting 10 browsers for Linux published in TechRepublic and ZDNet.[9][10] In 2010 it was referred to as a CLI browser superior to w3m.[11]

Features

NetSurf's multi-platform core is written in ANSI C, and implements most of the HTML 4 and CSS 2.1 specifications using its own bespoke layout engine.[12] As of version 2.0, NetSurf uses Hubbub, an HTML parser that follows the HTML5 specification. As well as rendering GIF, JPEG, PNG and BMP images, the browser also supports formats native to RISC OS, including Sprite, Draw and ArtWorks files.

It was suggested by developer John-Mark Bell in 2007 that support for JavaScript could be added.[13][14] This feature did not make it into NetSurf v2 back in 2008, nor into NetSurf v3 of 2013, but as of December 2012 there are some NetSurf preview-builds available which contain early-stage JavaScript support (later much improved).[15] On April 20, 2013, NetSurf 3.0 was released.[16]

History

NetSurf began in April 2002 as a web browser for the RISC OS platform.[12][17] Work on a GTK port began in June 2004[18] to aid development and debugging. It has since gained many of the user interface features present in the RISC OS version. The browser is packaged with several distributions including Ubuntu, NetBSD, and OpenBSD.

After five years of development, the first stable version of the browser was released on 19 May 2007 to coincide with the Wakefield RISC OS show.[19][20] Version 1.0 was made available for download from the project's web site and the software was sold on CD at the show.[21] After the release of NetSurf 1.0 there were two point-releases, which largely comprised bug fixes.[22] NetSurf 1.1 was released in August 2007 and in March 2008 the NetSurf 1.2 release was made available.[23][24]

NetSurf participated in Google Summer of Code in 2008 as a mentoring organisation,[25] running four projects. These included improving the GTK front end,[26] adding paginated PDF export support[27] and developing the project's HTML 5 compliant parsing library, Hubbub.[28] All NetSurf development builds since 11 August 2008 have used Hubbub to parse HTML[29] and it is available for use in other projects under the MIT license.[30]

NetSurf was again accepted as a mentoring organisation into Google Summer of Code 2009.[31] The projects they ran included development of LibDOM, the project's Document Object Model, and improvement of NetSurf's user interface.[32] The interface work included moving previously RISC OS-only functionality to the multi-platform core, including bookmarks, global history, cookie management and page search features. A port to the Windows operating system was also started.[33] In 2010 the NetSurf project did not apply to participate in Google Summer of Code due to the developers having other commitments.[34]

  • NetSurf 2.0 was released in April 2009 for RISC OS, Linux and other Unix-like platforms, BeOS, Haiku, and AmigaOS 4.[35][36] This was the first version to use the project's HTML5 parsing library, Hubbub.[37]
  • In May 2009 a maintenance release, NetSurf 2.1, was issued to users. It incorporated bug fixes and some improvements to page layout.[38]
  • NetSurf 2.5 was released in April 2010.[39] This was the first release to use the project's library for CSS parsing and selection, LibCSS[40] and a new internal cache for fetched content.[37]
  • September 2010 saw the release of NetSurf 2.6, which included a number of fixes and improvements.[41]
  • NetSurf 2.7 was released in April 2011, and added treeview support for features including bookmarking (called the Hotlist manager in NetSurf), history management, and cookie management.[42] It was also the first version to be released for Mac OS X.[43]
  • In September 2011 NetSurf 2.8 was released.[12] It added support for frames and iframes in the browser's core rendering engine, making them available to all front ends. The release also included support for MIME type sniffing and improved the performance of loading the images used by a web page.[44]
  • In April 2012 NetSurf 2.9 was released. The most significant changes were new multi-tasking behaviour, optimised URL handling, fetcher optimisations, cache optimisations, and faster CSS selection.
  • In April 2013 NetSurf 3.0 was released. The biggest difference was the use of the new Document Object Model library, LibDOM. This new library is a foundation that paves the way for NetSurf developers to implement a fully dynamic layout engine in the future. Other improvements in NetSurf 3.0 include completely new textarea support, ability to fetch and parse CSS in parallel with HTML documents, extensive behind-the-scenes refactoring, and a host of smaller changes and fixes.
  • In April 2014 NetSurf 3.1 was released, containing many improvements over the previous release. The highlights include much faster CSS selection performance, faster start up time, new look and feel to the treeviews (hotlist/bookmarks, global history and cookie manager), improved options handling, undo/redo support in textareas, and general improvement of forms. Also included are many other additions, optimisations and bug fixes.
  • In July 2019 NetSurf 3.9 was released, with support for CSS Media Queries (level 4) and improvements to JavaScript handling.

Ports

GTK NetSurf running under Linux

A native BeOS/Haiku port has been developed.[45][46] Since the GTK version was built for AmigaOS,[47] using Cygnix which provides an X11 environment, a native AmigaOS port has also been developed.[46] In January 2009, NetSurf was made available on MorphOS, an operating system that is API-compatible with AmigaOS.[48] A Windows port is also available for download.[49]

A framebuffer port was created in September 2008.[12] Unlike the other ports, it does not use any GUI toolkit, but instead renders its own mouse pointer, scrollbars and other widgets. The framebuffer frontend has been used to create a web kiosk on embedded systems.[50] The Plan 9 port is also based on it.[51]

In January 2010, the NetSurf Developers announced the release of what they expected at the time to be the last release for RISC OS.[52] Lead developer John-Mark Bell said at the time "Realistically, the people qualified to maintain the RISC OS port are up to their necks in other stuff."[53] Subsequently, Steve Fryatt volunteered himself as maintainer.[54]

January 2011 saw the announcement of a Mac OS X port.[55] A port to Atari 16-bit and 32-bit computers was also started in January 2011.[56]

Forks

visurf

visurf is a fork of NetSurf led by Drew DeVault. It has vi-inspired key bindings and Wayland-only UI.[57]

See also

References

  1. "News". https://www.netsurf-browser.org/about/news. 
  2. "Netsurf | Downloads". https://www.netsurf-browser.org/downloads/. 
  3. "Web browsers". The Icon Bar forums. April 2002. http://www.iconbar.com/forums/viewthread.php?threadid=374. 
  4. Williams, Chris (31 December 2004). "Best of 2004 awards results". Drobe Launchpad. http://www.drobe.co.uk/features/artifact1249.html. 
  5. "Best of 2006 awards results". Drobe Launchpad. 31 December 2006. http://www.drobe.co.uk/riscos/artifact1776.html. 
  6. "Best of 2007 awards results". Drobe Launchpad. 31 December 2007. http://www.drobe.co.uk/riscos/artifact2179.html. 
  7. "Drobe Awards 2008: The results". Drobe Launchpad. 31 December 2008. http://www.drobe.co.uk/article.php?id=2389. 
  8. "redox-os / netsurf" (in en). https://gitlab.redox-os.org/redox-os/netsurf. 
  9. Wallen, Jack (January 11, 2011). "10 Web browsers for the Linux operating system". TechRepublic. http://www.techrepublic.com/blog/10things/10-web-browsers-for-the-linux-operating-system/2120. 
  10. Wallen, Jack (February 4, 2011). "Top 10 Linux browsers: How I rate them". ZDNet. http://www.zdnet.co.uk/news/desktop-apps/2011/02/04/top-10-linux-browsers-how-i-rate-them-40091669/10/. 
  11. "NetSurf - A Graphical Web Browser for Command Line (+CSS Support)". my open router. November 17, 2010. http://www.myopenrouter.com/blog/entry/24154/NetSurf-A-Graphical-Web-Browser-for-Command-Line-CSS-Support/. 
  12. 12.0 12.1 12.2 12.3 "About NetSurf". The NetSurf Developers. http://www.netsurf-browser.org/about/. 
  13. Holwerda, Thom (April 3, 2007). "Could NetSurf 2.0 Support JavaScript?". OSNews. http://www.osnews.com/story/17620/Could_NetSurf_2_0_Support_JavaScript_. 
  14. "Could NetSurf 2.0 support JavaScript?". Drobe. April 3, 2007. http://www.drobe.co.uk/riscos/artifact1909.html. 
  15. "NetSurf's JavaScript engine (Duktape)". https://listmaster.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/2017-May/013951.html. 
  16. "NetSurf 3.0 Released". NetSurf-Browser.org. 20 April 2013. http://www.netsurf-browser.org/about/news. 
  17. Paul Brett, PD World - NetSurf, RISC World Magazine, http://www.apdl.co.uk/riscworld/volume8/issue1/pd/index.htm 
  18. Subversion revision 993, NetSurf Source Repository, http://source.netsurf-browser.org/?rev=993&view=rev 
  19. Aaron Timbrell. "Wakefield 2007 - The show report". RISC World Magazine. http://www.apdl.co.uk/riscworld/volume8/issue1/wake/index.htm. 
  20. Matt Thompson. "NetSurf Revealed". RISC World Magazine. http://www.apdl.co.uk/riscworld/volume8/issue2/netsurf/index.htm. 
  21. "NetSurf 1.0 is worth millions on paper". Drobe Launchpad. http://www.drobe.co.uk/article.php?id=1962. 
  22. Paul Brett. "PD World - NetSurf V 1.1". RISC World Magazine. http://www.apdl.co.uk/riscworld/volume8/issue3/pd/index.htm. 
  23. "NetSurf 1.1 Announcement". NetSurf Users mailing list. http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/2007-August/006841.html. 
  24. "NetSurf 1.2 announcement". NetSurf Users mailing list. http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/2008-March/007421.html. 
  25. "NetSurf Organization Information". Google Summer of Code 2008. http://code.google.com/soc/2008/netsurf/about.html. 
  26. "GSoC project: Improved GTK front end". Google Summer of Code 2008. http://code.google.com/soc/2008/netsurf/appinfo.html?csaid=2794A7C4A5D222D8. 
  27. "GSoC project: PDF plotter and printing improvements". Google Summer of Code 2008. http://code.google.com/soc/2008/netsurf/appinfo.html?csaid=8251210CF1E90869. 
  28. "GSoC project: Work on and integrate Hubbub". Google Summer of Code 2008. http://code.google.com/soc/2008/netsurf/appinfo.html?csaid=4A19E24A0A8BC7C6. 
  29. "New HTML parser integrated into NetSurf". NetSurf Users mailing list. http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/2008-August/007757.html. 
  30. "Hubbub project page". The NetSurf Developers. http://www.netsurf-browser.org/projects/hubbub. 
  31. "List of accepted organisations". Google Summer of Code 2009. https://socghop.appspot.com/program/accepted_orgs/google/gsoc2009. 
  32. "NetSurf - Google Summer of Code Projects". The NetSurf Developers. http://www.netsurf-browser.org/developers/gsoc/. 
  33. "Google Summer of Code Roundup". NetSurf Users mailing list. http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/2009-September/008959.html. 
  34. "Google Summer of Code 2010". NetSurf Developer Mailing List. http://vlists.pepperfish.net/pipermail/netsurf-dev-netsurf-browser.org/2010-March/001803.html. 
  35. "NetSurf 2.0 Announcement". NetSurf Users mailing list. http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/2009-April/008537.html. 
  36. "RISC OS NetSurf Downloads". The NetSurf Developers. http://www.netsurf-browser.org/downloads/riscos/. 
  37. 37.0 37.1 "NetSurf Change Log". The NetSurf Developers. http://www.netsurf-browser.org/downloads/releases/ChangeLog.txt. 
  38. "NetSurf News". The NetSurf Developers. http://www.netsurf-browser.org/about/news. 
  39. "NetSurf 2.5 Announcement". NetSurf Users mailing list. http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/2010-April/009341.html. 
  40. "LibCSS - CSS Library". The NetSurf Developers. http://www.netsurf-browser.org/projects/libcss/. 
  41. "NetSurf 2.6 Announcement". NetSurf Users mailing list. http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/2010-September/009677.html. 
  42. "NetSurf 2.7 Announcement". NetSurf Users mailing list. http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/2011-April/010159.html. 
  43. "Mac OS X NetSurf Downloads". The NetSurf Developers. http://www.netsurf-browser.org/downloads/macosx/. 
  44. "NetSurf 2.8 Announcement". NetSurf Users mailing list. http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/2011-September/010450.html. 
  45. "Announcement of AmigaOS and BeOS/Haiku ports". NetSurf Users mailing list. http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/2008-August/007801.html. 
  46. 46.0 46.1 "NetSurf - BeOS Downloads". http://www.netsurf-browser.org/downloads/beos/. 
  47. "Could this Open Source Web Browser be easily ported for our needs?". Amigaworld.net - Forum. http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=26450&forum=2. 
  48. "Announcement of MorphOS version of NetSurf". MorphZone: The MorphOS Portal. http://www.morphzone.org/modules/newbb_plus/viewtopic.php?topic_id=6183&forum=9. 
  49. "NetSurf Windows version". NetSurf. http://www.netsurf-browser.org/downloads/windows/. 
  50. "Tutorial: A web kiosk embedded system". LinuxDevices. http://www.linuxdevices.com/articles/AT8912553591.html. 
  51. "README.plan9". GitHub. https://github.com/netsurf-plan9/netsurf/tree/plan9/frontends. 
  52. "NetSurf at Wakefield Show 2010". NetSurf Users mailing list. 14 January 2010. http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/2010-January/009241.html. 
  53. "Last RISC OS version of NetSurf announced". The Icon Bar. 14 January 2010. http://iconbar.com/articles/Last_RISC_OS_version_of_NetSurf_announced/index1246.html. 
  54. "The NetSurf Developers". The NetSurf Developers. http://www.netsurf-browser.org/about/team. "Steve [Fryatt] maintains the RISC OS port of NetSurf, having rashly volunteered himself in an attempt to stop the platform losing yet another web browser." 
  55. Drake, Michael (2011-01-20). "Mac OS X port and other frontend news". Pepperfish.net. http://vlists.pepperfish.net/pipermail/netsurf-users-netsurf-browser.org/2011-January/009869.html. 
  56. "Revision 11218". NetSurf source repository. http://source.netsurf-browser.org/?view=revision&revision=11218. 
  57. DeVault, Drew (11 September 2021). "visurf, a web browser based on NetSurf". https://drewdevault.com/2021/09/11/visurf-announcement.html. 

External links

  • No URL found. Please specify a URL here or add one to Wikidata.