Der Umbruch der Technologien und die Fülle neuer Möglichkeiten macht die Wahl der Implementierungsplattform für die Anwendungsentwicklung schwierig ... oder doch nicht? Sollen reine Windows-Programme erstellt werden oder doch eine Web-App? Mit den explosionsartigen RIAs (Rich Internet Applications) wird die Wahl zunehmend schwerer.
Denn wer heute Anwendungsprogramme entwickelt, stellt immer weniger zuerst die Frage nach der Programmiersprache oder SEU-Plattform, sondern nach der Plattform, auf der die Zielanwendung laufen soll. Hier befinden wir uns gerade in einer neuen Revolution.
Die ersten Phase der Geschäftsanwendungen war geprägt von möglichst schnörkelloser Funktionalität. Auf Mainframe-Systemen liefen komplexe maskenorientierte Programme, die möglichst effizient von gut geschultem Personal zu bearbeiten waren. Auch wenn heute noch z/OS und OS400-Anwendungen entwickelt werden, so sind diese weit abgekoppelt vom Mainstream und finden sich eher in Nischen von Großkonzernen oder Spezialfirmen.
Bereits seit 20 Jahren werden auch Anwendungsprogramme immer optisch attraktiver. Die Anwendungen haben nicht nur eine bunte Schrift, sondern werden mit optisch ansprechenden Benutzerführungen auch höheren Anforderungen an Benutzerfreundlichkeit eher gerecht. Es war die Ära der lokalen PC-Anwendungen, die immer leistungsfähigere Computerpower auf den Schreibtisch oder ins Laptop brachten. Durch das Aufkommen von Freeware und Open Source wurden auch alternative Lizenzverfahren beliebt. Die Höhepunkte dieser Entwicklung stellen die MS-Office Systeme und Open Office dar. Mehrbenutzer-Anwendungen erweiterten das Konzept um den Bereich Client/Server mit komfortablen und leistungsfähigen Computern rund um eine zentrale Datenbank oder erweiterten Topologien.
Seit 10 Jahren machten neue Konzepte von Webanwendungen auf sich aufmerksam. Mit relativ einfachen Formularen konnten DB-Anwendungen rein im Browser eine lokale Installation überflüssig machen. Da hierfür der Installationsaufwand gegen Null geht, erfreuten sich diese steigender Beliebtheit. Allerdings schien die Wahl für eine Web-Plattform meist einfach, da die Leistungsmerkmale waren doch klar zu unterscheiden. Allerdings verwischten sich die Unterschiede mehr und mehr:
Worauf soll nun eine neue Anwendung entwickelt werden? Folgende Tabelle bildet Schwerpunkte der Plattformen. Neben den klassischen WIN-Anwendungen sollen einfache Web-Formulare (EWF)und RIAs mit erweiterte Web-Plattformen (XWP) ergänzt werden. Letzte stellen ein weiteres Bindeglied zwischen den Welten dar und werden unten genauer erläutert.
| Kriterium | WIN | EWF | RIA | XWP |
|---|---|---|---|---|
| Look and Feel | +++ | + | +++ | +++ |
| Geschwindigkeit | +++ | 0 | ++ | ++ |
| Komplexe Möglichkeiten | +++ | o | +++ | +++ |
| Aktualisierung | + | +++ | +++ | +++ |
| Entwicklungsaufwand | ++ | + | o | o |
| Offline & Mobil | +++ | --- | --- | ++ |
| Technische Programme | +++ | --- | + | ++ |
| Integration | ++ | - | o | + |
In der Klasse der Windows-Applikationen haben sich neue Entwicklungsplattformen auf Basis von Java und .NET weitgehend durchgesetzt. Tool-Tips, Pop-Ups, Hilfe-Funktionen, Fenster, Buttons und andere Power-Controls lassen sich so implementieren.
Bei den einfachen Web-Apps dominieren Anwendungen auf Basis von PHP, JSP und Servlets und ASP. Auch diese Technologien werden durch Kombination mit modernen Komponenten erweitert.
RIAs nutzen Adobe Flex / Flash, Javascript-Libraries Ext JS, Dojo u.a.]], oder JavaServer Faces (JSF)-Erweiterungen, z.B. ICEfaces. Natürlich unterstützt auch Microsoft RIAs. ASPX-Anwendungen mit Silverlight
Eine ganz neue klasse der Erweiterungen stellen lokale Web-Extender dar, die die Leistung des Internets mit der Leistung lokaler Rechner und Platten verbindet: Google Gears und Adobe AIR stellen das, was Microsoft bereits im proprietären Umfeld möglich machte, auf eine systematische Basis. Lokale Datenbanken und lokale Web-Server lassen auch Offline-Arbeiten für Web-Anwendungen zu.
Technische Anwendungen wie Platten-Management, Security-Anwendungen, Nvigator-Lösungen, Unterstützung bestimmter Hardware bleiben Domänen für Windows-Anwendungen.
Multi-User DB-Anwendungen verlagern sich stärker auf Web-Anwendungen
Integrations-Lösungen werden je nach Integrationsaufgabe auf der jeweiligen Plattform ihre spezifischen Stärken finden. Technische Integration ist auf dem lokalen Rechner am Arbeitsplatz, zu Hause oder Unterwegs, während Informationsintegration zunehmend ein Thema fürs das Web wird. Die Programmierung von Scripts kann hiermit der Praktischen Nutzung mächtiger Anwendungen die entscheidende Produktivität liefern.
Spezialanwendungen kaufmännischer und wissenschaftlicher Applikationen: Hier halten sich wegen dem Nischen-Charakter auch ältere Standards sehr lange. Solange eine Alleinstellung vorliegt und wichtige Funktionalität exklusiv definiert ist, wird der Migrationsaufwand eher prohibitiv sein. Risiken entstehen für den Programmanbieter erst mit Konkurrenten mit modernerer Technik.
Die neuen Möglichkeiten sind gigantisch, aber sie verlagern die Tätigkeit des Software-Entwicklers vermehrt von der Kodierung, die Einfacher und automatisiert wird, zum Designer und Entscheider, der mit viel Querschnittswissen unterschiedliche Technologien beherrscht und auswählt. Leichter geworden ist der Job nur dann, wenn man eine möglichst homogene Entwicklungsumgebung vorgibt.