Thanks to the Secretary and Treasurer for their continued work in
these roles this past year.
Year in review
==============
Over the last year we have made two releases (NetSurf 2.8 and
NetSurf 2.9), as well developing NetSurf's supporting libraries.
We made progress on our goals for NetSurf 3.0, including advancing
LibDOM to the point where NetSurf can use it.
NetSurf
-------
With NetSurf 2.8, support for HTML Frames was moved into the core
of the browser. This enabled Frames for the first time in several
front ends, in addition to simplifying the front end requirements.
It also included a new image cache and support for deferring image
decode until images are required. This enabled more optimal
resource use and faster page load times.
NetSurf 2.9 contained many optimisations, including improvement of
multitasking, faster URL handling, fetcher and cache optimisations,
and faster CSS selection. These combined to make it our fastest
release ever, at rendering pages, in spite of it doing far more to
support a wider set of web standards than early versions of the
browser.
Aside from the releases, recent development on trunk has included
the port to LibDOM and the inclusion of a JavaScript interpreter.
Project libraries
-----------------
In the last year, effort has been put into our core libraries.
LibCSS has been improved substantially. These advances have
included the addition of support for certain features of CSS3,
many optimisations and fixes.
LibDOM has been developed to the point where NetSurf has been
ported to it. This is the major requirement for NetSurf 3.0.
Some work remains to optimise LibDOM and to fix various issues
including HTML forms.
As yet, none of the core libraries' APIs are considered fully
stable. This means they have not reached "release" versioning
(i.e. 1.x) in this period.
Going forward
=============
The main plan for NetSurf's development since NetSurf 1.x has
been shared widely before. Here it is again:
| 1. New HTML parser (hubbub)
| 2. New CSS engine (libcss)
| 3. New DOM implementation (libdom) < We are here now
| 4. New layout engine
| 5. Add JavaScript support < Also working on this
|
| [1] was introduced with NetSurf 2.0
| [2] was introduced with NetSurf 2.5
| [3] is intended for NetSurf 3.0
| [4] is intended for NetSurf 4.0
| [5] is intended for NetSurf 5.0
The next 12 months
------------------
NetSurf is almost fully working with LibDOM. There are two main
regressions that need fixing before NetSurf trunk becomes
satisfactory. HTML Forms need fixing and there is a performance
regression due to LibDOM's handling of DOM events.
It will be ideal if we are in a position to release NetSurf 3.0
with LibDOM in the next year.
Beyond these fixes, there are many areas of the DOM that remain
unimplemented.
The recent work to add a JavaScript interpreter can be continued.
In order for useful JavaScript support, it is necessary to support
dynamic changes to document layout. This will require updates to
Hubbub, and a rewrite of the layout engine.
The most important goals for the project at the moment are:
+ Designing and writing the new layout engine.
(Has to handle dynamic document changes for JS to be much use)
+ Making the core a library.
(Routinely sought-after by front end and core developers alike.)
Progress on automated cross-compilation and also automated testing
will be of great value to the project.
There are many other ideas on the Development Plan wiki page:
http://wiki.netsurf-browser.org/Development_Plan
Thanks to everyone involved in the project for their contributions over
the last 12 months!
--
Michael Drake (tlsa) http://www.netsurf-browser.org/
No comments:
Post a Comment