Ich sitze gerade im Zug von Kiel nach Hamburg, auf meinem Weg nach Gelsenkirchen,
wo morgen im Maritim Hotel das EntwicklerCamp
2014 beginnt. Seit 2007 bin ich
mit bis zu drei Vorträgen bei jedem EntwicklerCamp dabei gewesen.
Was erwarte ich von den nächsten drei
Tagen?
Zunächst einmal ein großes, herzliches
und buntes Wiedersehen mit Bekannten und Freunden. Eine der schönsten Aspekte
der Camps ist für mich die großartige Gemeinschaft von tollen Leuten mit
einem gemeinsamen Interesse. Und beim EntwicklerCamp ist das natürlich
die Entwicklung von nützlichen Anwendungen auf Basis von IBM Notes und
Domino.
Dann sind da die positiven, informativen
und fast freundschaftlichen Gespräche in den Pausen und an den gemeinsamen
Abenden. Natürlich werden viele fachliche Fragen gestellt und beantwortet,
aber auch darüber hinaus findet sich so manches gemeinsames Interesse und
viele tolle Themen, über die wir uns genüsslich austauschen.
Last, but not least sind da die Vorträge.
Von Einführungen in neue Themen, über die praxisorientierten Hands-Ons
bis zu Expeditionen in die tiefsten Tiefen der Entwicklung mit Notes und
Domino, alle lehrreich, jedes Mal inspirierend und immer voller nützlicher
Tipps und Tricks.
Diesmal werde über ich zwei, aus meiner
Sicht besonders wichtige und relevante Themen vortragen dürfen:
Am Montag geht es gleich los mit Session
2 im Track 1:
"Fehler sind nützlich, aber
nur, wenn man sie schnell findet." - Fehlerbehandlung in Notes
John Maynard Keynes stellte einst fest:
"Fehler sind nützlich, aber nur, wenn man sie schnell findet."
Fehler sind unvermeidlich. Punkt!
Selbst wenn man genügend Zeit bekäme,
wirklich jeden Sonderfall durch zu denken, und die gesamte Anwendungen
ausgiebig immer wieder zu testen, auch wenn man die fortschrittlichsten
und teuersten Werkzeug benutzen könnte, die besten Experten nutzen dürfte,
auch dann sind Fehler unvermeidlich, schon allein, weil viele kritische
Komponenten außerhalb der Anwendung liegen: Hardware, Netzwerk, Betriebssystem,
andere Anwendungen, Benutzer und sogar der Notes-Client soll ja gerüchteweise
ein paar Fehler haben...
Und wer bekommt schon alle diese Ressourcen?
Die Realität ist wohl eher: "Ich brauche diese Funktion gestern."
und "Du brauchst zwei Tage? Du hast zwei Stunden."
In dieser Session lernst du, wie du
- professionell mit Fehlern umgehen kannst und warum Fehlerbehandlung mehr ist als Fehlerprotokollierung,
- alle Informationen zum Fehler und der Situation automatisch einsammelst, so dass du den Fehler in Zukunft richtig behandeln kannst,
- Fehler beheben kannst, bevor sie überhaupt gemeldet werden und
- eine Anwendung so robust machen kannst, dass sie nach einem Fehler sinnvoll reagiert und weiter laufen kann.
Wir schlendern durch die verschiedenen
Programmiersprachen, die wir in Notes verwenden können: von der Formelsprache,
über LotusScript und Java bis JavaScript. Dabei erfährst du in der Praxis
bewährte Vorgehensweisen für die Protokollierung und - wo sinnvoll möglich
- Fehlerbehandlung.
Du bekommst fertigen, erprobten Code
für deine Anwendungen, den du sofort einsetzen kannst, und viele pragmatische
Tipps und Best Practices, die dir deine Arbeit vereinfachen werden.
Um maximal von dieser Session zu profitieren,
solltest du schon Anwendungen in Notes entwickelt haben und zumindest einige
der genannten Programmiersprachen beherrschen.
Am Mittwoch geht es dann in die Tiefen
von JavaScript mit Session 8 im Track 3: JavaScript für Fortgeschrittene
Mit den XPages hat JavaScript auch Einzug
gehalten auf dem Server (Server-Side JavaScript = SSJS), in allen interaktiven
Web-Anwendungen wird es auch im Browser genutzt - egal ob diese auf der
"klassischen" Web-Entwicklung oder auf XPages-Technologie basieren
(Client-Side JavaScript = CSJS).
Die JavaScript-Programmierung geht dann
aber über das bisherige Maß (Feld-Validierung, vielleicht noch ein bisschen
DOM-Manipulationen) deutlich heraus und muss Aufgaben abdecken, die bisher
mit (objekt-orientierten) LotusScript und Java realisiert wurden. Die Komplexität
der JavaScript-Programmierung steigt damit zwangsläufig und deutlich an.
Daher ist ein tiefgehendes Verständnis
von JavaScript als Programmiersprache jetzt wichtiger denn je. Die Sprache
ist sehr flexibel und hat einige eher ungewöhnliche, neue Konzepte (zumindest
für LotusScript- und Java-Programmierer), die richtig verstanden werden
müssen, um das Beste aus ihr heraus zu holen.
In dieser Session lernt ihr diese Konzepte
(u.a. Kontexte, objekt-orientierte Programmierung mit JavaScript), ich
erkläre ich die besonderen Stärken dieser Sprache (z. B. Guard- und Default-Operatoren,
"Verbesserungen" existierender Objekte wie Object und Function),
zeige typische Stolperfallen in JavaScript (wie With und Semikolon-Einfügung)
und wie man sie vermeidet.
Der Vortrag ist konzipiert für Entwickler,
die bereits Grundkenntnisse in JavaScript erworben haben.