NetSurfは、軽量性と可搬性を重視したオープンソースのWebブラウザです。独自のレイアウトエンジンを使用し、多様なプラットフォームでの動作をサポートしています。タブ、
ブックマーク、ページ
サムネイルといった基本的な機能に加え、
HTML5や
JavaScriptのサポートも提供しています。
NetSurfの起源
NetSurfプロジェクトは、2002年4月に既存の
RISC OS対応Webブラウザの課題を解決するために始まりました。当初から
RISC OS向けのバイナリが自動ビルドで提供されていました。2004年から2008年の間には、Drobe Launchpadの
RISC OSアワードで「Best non-commercial software」を4度受賞しています。NetSurfは、macOSや
Unix系OSのような主流のシステムだけでなく、
AmigaOS、Haiku、Atari TOS、
RISC OSといった特殊なプラットフォームや古いシステムでも動作します。2011年には、TechRepublicと
ZDNetが公開した
Linux用ブラウザのランキングで8位にランクインし、2010年にはw3mよりも優れたCLIブラウザとして評価されました。
技術的な特徴
NetSurfのコア部分は
ANSI Cで記述されており、HTML 4とCSS 2.1の仕様に準拠した独自のレイアウトエンジンを使用しています。バージョン2.0以降では、
HTML5に対応したHTMLパーサーのHubbubを搭載しています。また、GIF、
JPEG、PNG、BMPといった一般的なメディア形式に加えて、Sprite、Draw、ArtWorksのような
RISC OS特有の形式のファイルもレンダリングできます。
JavaScriptのサポートは、2007年に開発者のJohn-MarkBell氏によって提案され、2012年12月にプレビュー版で初歩的なサポートが追加されました。その後も開発が継続され、2016年2月17日にリリースされたバージョン3.4から、Duktapeエンジンを用いた
JavaScriptサポートが正式に利用可能になりました。
歴史
NetSurfは2002年4月に
RISC OS用のウェブブラウザとして開発が始まり、2004年6月には開発とデバッグの効率化のためにGTKへの移植が行われました。この時、
RISC OS版のUI機能は維持されました。現在では、
Ubuntu、
NetBSD、
OpenBSDなどのシステムでパッケージが提供されています。開発は継続的に行われ、最初の安定版は開発開始から5年後の2007年5月19日に、Wakefield
RISC OS showに合わせてリリースされ、Webサイトでの配信とともにCDでの販売も行われました。NetSurf 1.0のリリース後、バグフィックスを中心としたアップデートが行われ、2007年8月にはバージョン1.1が、2008年3月にはバージョン1.2がリリースされました。
NetSurfは2008年の
Google Summer of Codeに参加し、GTKフロントエンドの改善、ページ分割されたPDF出力の追加、
HTML5準拠のパーサライブラリHubbubの開発など、4つのプロジェクトを実行しました。2008年8月11日以降、HTML解析に利用されているHubbubはモジュール化され、MIT
ライセンスで他のプロジェクトでも使用できるようになりました。NetSurfは2009年の
Google Summer of Codeにも採用され、DOM管理を担当するLibDOMの開発やUIの改善が行われました。UI改善では、
RISC OS版にのみ存在した
ブックマーク、履歴、Cookie管理、ページ検索機能などが他のプラットフォームに移植されました。この時期にWindowsへの移植も開始されました。NetSurfは2010年のGSoCには参加していません。
マルチプラットフォーム対応が進んだバージョン2.0以降では、以下のようなバージョンアップが行われています。
2009年4月:バージョン2.0リリース。
RISC OSの他、
Linuxなどの
Unix系システム、
BeOS、Haiku、
AmigaOS4に対応。
HTML5解析ライブラリHubbubを採用。
2009年5月:バージョン2.1リリース。バグ修正とページレイアウトの改善。
2010年4月:バージョン2.5リリース。CSS解析ライブラリLibCSSを組み込み、キャッシュ機構を刷新。
2010年9月:バージョン2.6リリース。バグ修正と改善が中心。
2011年4月:バージョン2.7リリース。
ブックマーク機能(ホットリストマネージャー)、履歴、Cookie管理画面にツリー表示機能を追加。Mac OS Xでのコンパイルをサポート。
2011年9月:バージョン2.8リリース。frameとiframeのサポート、MIME Sniffingに対応、Webページの画像読み込みパフォーマンス向上。
2012年4月:バージョン2.9リリース。マルチタスク動作の変更、URL処理・取得・キャッシュの最適化、CSSセレクタの高速化。
2013年4月:バージョン3.0リリース。新しいDOMライブラリLibDOM採用、textareaサポートの完全新規実装、CSSの取得・解析の並行処理対応、リファクタリング。
2014年4月:バージョン3.1リリース。CSSセレクタの性能向上、起動時間短縮、ツリー表示(ホットリスト、履歴、Cookie管理画面)の刷新、オプション処理の改善、エディタ領域のアンドゥ/リドゥ対応、フォームの改善。
2019年7月:バージョン3.9リリース。CSSメディアクエリ(level 4)をサポート、
JavaScript処理の改善。
移植版
NetSurfは、
BeOS/Haikuに対応しています。GTKを使用するビルドが
AmigaOSに対応する前は、
AmigaOS上のCygnixによるX11環境にも個別に対応していました。2009年1月には、
AmigaOSとAPIレベルで互換性を持つ
MorphOSでも利用可能になりました。Windows版も存在します。2008年9月からは、フレームバッファへの直接描画にも対応しており、GUIツールキットを使用せずに独自のマウスポインタやスクロールバーなどのウィジェットをレンダリングできます。フレームバッファフロントエンドは、組み込みシステムでWebキオスクを作成するために使用できます。
2010年1月には、次期リリースで
RISC OS向けのリリースが打ち切られることが発表されました。当時の中心開発者であるJohn-Mark Bellは、「現実的には、
RISC OSのサポートを維持する能力のある人々が他のことに忙殺されている」と述べていました。しかし、その後、Steve Fryattがメンテナとして志願したため、2021年1月現在まで
RISC OSへの対応が続いています。2011年1月から2017年5月までは、Mac OS X上のCocoaフレームワークにも移植されていました。2011年1月からは、Atariの16bitおよび32bitシステム向けのビルドも提供されています。
関連項目
Dillo
ウェブブラウザの年表
ウェブブラウザの一覧
外部リンク
公式ウェブサイト
参考文献
1] [NetSurf adds limited JavaScript support