0

Apache OFBiz – jQuery in Action

Geschrieben am 10.01.2011 in Allgemein, Technik von Sebastian Leitner

Die Entwicklung bei Webapplikationen verlangt immer intuitivere User Interfaces (UI). Der Benutzer soll sich auf einer Webseite wohlfühlen, es soll ein Applikationserlebnis wie bei einem Pendant auf dem Desktop entstehen. Als großes Web ERP System soll auch das Apache OFBiz Framework diesem Trend nicht hinterher hinken. Darum wurde mit der Hilfe einiger Freiwilliger beschlossen, das UI ein wenig aufzuräumen und neue (Web 2.0) Funktionen dem Nutzer / Entwickler zur Verfügung zu stellen. Die meisten dieser Funktionalitäten werden mit Hilfe von JavaScript und der AJAX Technologie realisiert. In der Vergangenheit bot OFBiz dem Entwickler zwei schwergewichtige JavaScript Frameworks (Prototype, Dojo). Dies war so lange praktikabel, wie einzelne Features damit implementiert wurden. Es wurde den Entwicklern aber schnell bewusst, dass bei einer Framework-weiten Bereitstellung von vielen modernen Features die Verwaltung und Pflege von JavaScript-Code, der auf zwei unterschiedlichen Frameworks beruht, aufwendig ist. Hinzu kommt, dass beide Frameworks aktuell gehalten werden mussten. Die Entscheidung, nur ein Framework anzubieten, welches alle Funktionen abdecken sollte, wurde getroffen. Die bestehenden Bibliotheken sollten durch jQuery ersetzen werden. Aber was macht jQuery, neben der Tatsache nur noch ein Framework zu haben, besser als die Vorherigen? Im Grunde genommen nichts, denn jedes der Frameworks hat seine Stärken und Schwächen. Trotzdem wurde die Entscheidung bewusst getroffen, da jQuery eine Community mit bringt, die eine große Anzahl fertiger Funktionen (Plugins) zur Verfügung stellt. Der Vorteil liegt auf der Hand: viele heute gewünschte Features müssen nicht neu von der OFBiz Community entwickelt werden, sondern werden von den jQuery Profis implementiert und werden nur in OFBiz integriert. Dies erhöht die UI Stabilität enorm. Einen großen Anteil hat das jQuery UI Projekt daran. Hierbei handelt es sich um fertige Widgets die einem (hohen) Qualitätsstandard folgen was Cross Browser Funktionalität, Sicherheit, Geschwindigkeit und Optik betrifft. Im Zuge der Implementierung der jQuery Bibliotheken musste bestehender JS Code, der auf den ursprünglichen Frameworks beruhte, migriert werden. Dafür wurde ein eigener jQuery Branch erstellt um Konflikte bei der Nutzung der Trunk Version zu vermeiden. Schnell stellte sich heraus, dass diese Migration eher einem Refactoring gleichkam, der vorhanden JavaScript Code wurde neu geschrieben und bestehende Schwächen wurden eliminiert. Das Resultat kann sich sehen lassen: neben schöneren Lookup Fenstern und Datumspickern hat sich der komplette JavaScript Code (Core Bibliotheken und Plugins) um ~50% reduziert. (~5MB vorher, ~2,5MB hinterher), was natürlich der Anzeigeperformance und dem Speicherverbrauch zu gute kommt. Geplant ist, den Branch bis Ende des Jahres 2010 in den Trunk zu übernehmen. Ab diesem Zeitpunkt stehen die neuen Änderungen für jedermann zur Verfügung. Damit ist natürlich erst ein Grundstein gelegt, um auf der einen Seite weitere „coole“ Features zu Entwickeln und dem Benutzer ein möglichst effizente und schöne Oberfläche zur Verfügung zu stellen. Auf der anderen Seite bekommt auch der Entwickler ein ausgeklügeltes Framework an die Hand, mit dem er dies ermöglichen kann.

Dieser Artikel gefällt Ihnen? Sagen Sie's Ihren Freunden:

Hinterlassen Sie eine Antwort





*