Nach dem ich mir ein wenig den neuen Client, iNotes und das Browserplugin angeschaut habe, möchte ich mir heute den neuen Client aus der Sicht eines Plugin Entwicklers ansehen.
Die Einrichtung von Eclipse zur Entwicklung von Plugins für Notes 9 Social Edition hat schon Mikkel Heisterberg in einem sehr guten Howto (Eclipse 3.x, Eclipse 4.2) beschrieben. Deshalb kann ich mir dies hier sparen.
Ich habe dann also mal in meine neue Notesumgebung sämtliche Features und Plugins, die wir für den Notes Client entwickelt haben eingespielt und erfreulicherweise laufen alle Plugins ohne Probleme und Einschränkungen in Notes 9 Social Edition. Aber auch hier zeigt sich, dass sich die IBM wenig Mühe gegeben hat, ein konsistentes UI zu erreichen. Notes 8.x war sehr gut an das Farbschema (blau weiße Farbverläufe) von Eclipse angepasst. Deshalb haben sich Plugins die das Standarddesign der Platform übernommen haben sehr gut in den Notes Client eingefügt. Als kleines Beispiel wie das aussieht hier ein Screenshot aus unserem Hardwareinventoryplugin unter Notes 8.5.3:
Die Blautöne der Eclipsebereiche harmonieren relativ gut mit den Blautönen die in Lotus Notes 8.x verwendet wurden.
Leider passen die blauen Farbverläufe nicht mehr zu den grauen Farbverläufen von Notes 9
Dabei sollte es für die IBM ein leichtes sein, die Eclipseplugins dahingehend anzupassen, dass zum ausgewählten Theme passende Farben zurückgegeben werden, wenn ein Plugin Defaultfarben abruft. Ich habe mal Quick and Dirty das "org.eclipse.ui.forms" Plugin von Notes gepatched und schon sehen alle Plugins etwas mehr nach der Farbgebung von Notes aus.
Mit etwas Mühe hätte man da jeden Pluginprogrammierer viel Arbeit ersparen können und selbst erstellte Plugins würden sich automatisch ohne viel Aufwand in den neuen Notesclient einfügen.
Leider gibt es ausser den Änderungen beim Design praktisch kaum etwas neues für Plugin Entwickler. Für eine 8.5.4 wäre es ja auch durchaus in Ordnung gewesen, dass die IBM keine Updates an den Frameworks gemacht hat. Aber wenn man schon mit Notes 9 eine komplett neue Version akündigt kann ich nicht verstehen, warum man den Eclipse RCP Basiscode nicht aktualisiert hat. Wenn man bedenkt, dass jedes Jahr eine neue Version von Eclipse erscheint, dann ist relativ klar, dass viele aktuelle Plugins nicht mehr die uralte 3.4.2 Version von Notes 9 unterstützen. Hier würde ich mir wünschen, dass die IBM so rasch wie möglich zumindest auf die neueste 3.x Version updated. Derzeit ist ja schon 4.2 aktuell. Auch dass noch immer auf Java 1.6 statt 1.7 gesetzt wird, finde ich persönlich sehr schade. Ein echtes Highlight wäre für mich, wenn die IBM hier noch nachbessert und vielleicht bei nächster Gelegenheit Java FX integriert.
Auch die Domino Java API's haben kein Update erfahren. Hier wäre wirklich schon dringender Handlungsbedarf, da sich die Java API von Domino vom Design her sich immer noch wie Java 1.1 anfühlt. z.B. wird noch immer Vector verwendet, statt den mit 1.2 verbesserten Collectionsklassen. Auch Generics werden nach wie vor nicht unterstützt. Nicht einmal die neuen Calendarklassen werden offiziell unterstützt, wenn Sie auch in der Betaversion scheinbar drinnen sind.
Als Fazit kann man nur sagen, dass die IBM alle Leute die sich mit 8.x stark in der Pluginentwicklung engagiert haben mit Version 9 hängen lässt. Bei uns in der Firma geht der Trend dahin, dass wir unsere Plugins die wir für den Notesclient entwickelt haben, nach Vanilla Eclipse portieren und den Notes nur noch da verwenden, wo es gar nicht anders geht.
Für weitere Infos zur neuen Version schauen Sie auch auf meine Übersicht über alle Postings zum Thema Notes/Domino 9
ad
Leider ist bei mir Eclipse 4.2 so langsam dass ich mir jetzt IntelliJ gekauft habe. Selbst Netbeans, welches nun wirklich keine Performance Rakete ist, läuft Eclipse auf meiner Maschine inzwischen davon.
ReplyDeleteIch will Dich ja nicht entmutigen aber der Plugin-Entwicklung, insbesondere unter Notes, räume ich seitens der IBM leider keine große Zukunft ein.
Das Expeditor Framework wird anscheinend nicht mehr weiterentwickelt, IBM hat massiv Ressourcen vom Eclipse Projekt selbst abgezogen (das ist wohl auch eine Begründung warum 4.2 so langsam ist).
Ich persönlich finde das schade. Web Entwicklung ist zwar auch in meinem Umfeld ein großes Thema aber hier gibt es auch andere starke Plattformen.
Über viele Jahre gepflegte Applikationen mit starker Office Integration schmeisst man nicht so einfach in die Tonne. Hier hätte ein deutlich erweiterter RCP Ansatz Vorteile gehabt, insbesondere wenn man es geschäft hätte RCP Komponenten in den Domino Designer zu integrieren. Naja, so ist es halt. Ich vermute das aktuelle Konzept ist für die IBM kurzfristig einfach billiger.
Ansonsten einfach Wahnsinn wie viel Mühe Du Dir immer mit Deinen Beiträgen machst (auch die anderen Notes 9 Beiträge waren sehr informativ). Vielen Dank und Dir ein gutes und erfolgreiches neues Jahr 2013.
Hallo Henning!
ReplyDeleteDanke für das Lob. Bezüglich Plugin Entwicklung im reinen Eclipse mache ich mir weniger Sorgen, da es ja auch noch andere Committer gibt und ich mir auch schwer vorstellen kann, dass die IBM Eclipse komplett aufgibt, da ja auch sämtliche Entwicklungsumgebungen (Rational) der IBM auf Eclipse aufsetzen.
Grüße
Ralf
Dann habe ich mich vielleicht falsch ausgedrückt. Die IBM gibt Eclipse an sich sicher nicht auf aber im Notes und Domino Umfeld würde ich mich nicht darauf verlassen. Du hast ja selber geschrieben dass Du nach Vanilla Eclipse portierst, vermutlich um Abhängigkeiten zu reduzieren. Ein Umstand, den ich persönlich sehr bedauere denn viele aktive Notes Anwender nutzen das Produkt gerade wegen seiner starken Rich Client Applikationen. Hier hätte ich mir einfach eine stärkere Brücke gewünscht. Und die neuen Java API's haben leider auch nie eine echte Chance bekommen. Ich will nicht nur meckern. 2013 werde ich, wie 2012, einen Haufen Arbeit haben.
ReplyDeleteDie Loesung waere wohl Notes direkt auf Eclipse 4.2 aufsetzen zu lassen anstelle von Expeditor/Eclipse 3.4. Ein grosser Grund fuer Expeditor (fuer den Notes client) war wohl die Moeglichkeit die UI to "skinnen". Das kann Eclipse 4.2 mit CSS ja auch schon gut. Ein Layer weniger wird der Performance auch nicht schaden....
ReplyDeleteAber mit Executives die 90% ihrer Zeit ein Tablet oder Smartphone nutzen hat das wohl wenig Aufmerksamkeit.