Donnerstag, 26. Februar 2009

In 5 Schritten zum eigenen Browser

Ryan Leavengood hat sich Gedanken zu einem eigenen Browser für Haiku gemacht.

In die Browserszene ist in letzter Zeit einige Bewegung gekommen. JavascriptCore Extreme, V8 und TraceMonkey sind schnelle JavaScript Engines und mit Google's Chrome steht ein mächtiger Opensource Browser zur Verfügung, der zum Rendering auf WebKit setzt. WebKit wurde vor über einem Jahr von Ryan auf Haiku portiert und zusammen mit Andrea Anzani und Stephan Aßmus soweit gebracht, dass zumindest einige HTML Seiten gerendert werden konnten. Angesichts der Einschränkungen im Mozilla Projekt und Anforderungen von Firefox 3 (das Cairo Framework müsste portiert werden), scheint ein WebKit basierter Browser vielversprechend. So sehen das auch die bisherigen Hauptentwickler des Firefox 2 Ports.

Einen Browser zu entwickeln ist natürlich ein Riesenprojekt. Ryan sucht dazu nach Mitstreitern und umreißt 5 Schritte zu dessen Verwirklichung:

  1. Der aktuelle WebKit Code muss "re-ported" werden. Dabei muss nicht gleich alles 100%ig laufen, aber das Buildsystem muss funktionieren. Im letzten Jahr hat sich v.a. im JavaScriptCore viel getan und dieser erste Schritt könnte sich daher etwas ziehen. Ryan schlägt vor, den aktuellen WebKit Code frisch auszuchecken und alles nötige vom ursprünglichen Port zu übertragen. Der ist übrigens per anonymous hier erhältlich: http://ryanleavengood.com/svn/repo/WebKit/trunk/

  2. Es muss eine Entscheidung für das Build Tool getroffen werden. Bleibt man bei /Jam/, was sich zukünftig gut in Haikus Buildsystem integrieren ließe, oder benutzt man eines der existierenden WebKit Build Systeme, welches dann vom WebKit Projekt up-to-date gehalten würde? Für Punkt (1) sollte man vielleicht erstmal beim jetzigen Jam System bleiben.

  3. Sind die beiden ersten Punkte abgeschlossen, müssen die noch fehlenden Bereiche in den Port integriert werden. Andere Dinge, wie das Thread-Modell oder Affine Transformationen, müssen verbessert bzw. neu dazu kommen.

  4. Bereits während oben genannte Arbeiten laufen, sollte mit einem Browser-Gerüst begonnen werden. Entweder man beginnt von vorne oder man entwickelt einen bestehenden opensource BeOS Browser weiter. Google's Chrome ist zwar sehr schön, bedeutet aber auch sehr viel Code, der wahrscheinlich ähnlich aufwendig zu portieren ist wie das WebKit selbst. Nichtsdestotrotz ließen sich einige Chrome Komponenten nutzen, wie die "Omnibar". Auch die gelungene Benutzeroberfläche könnte zur Nachahmung inspirieren.

  5. Wenn man dann mal ein anständig funktionierendes WebKit und Browsergerüst hat, können mehr Leute alles testen und der übliche Entwicklungszyklus kann beginnen: neue Features, Bugfixe, Tests, Release usw.


Sind die anstrengendsten Punkte 1-3 erstmal geschafft, sollte der angenehme Teil beginnen und hoffentlich noch weitere Entwickler anziehen, die sich ähnlich einfach einbringen können, wie das jetzt bei Haiku geschieht. Das Projekt soll bei HaikuPorts unterkommen. Wer mithelfen will meldet sich am besten im entsprechenden Thread der Developer Mailingliste.

Keine Kommentare:

Kommentar veröffentlichen