Dienstag Mai 13, 2008

JavaFX als Plattform für RIA

Letzten Freitag ging das Entwicklerforum JavaOne zu Ende. Zu Gast waren Besucher aus aller Welt und allen möglichen Branchen: von Unterhaltungselektronik und Computerspielen über Unternehmens-IT, Weltraumforschung, Fabrikautomatisierung und die Automobilindustrie bis hin zu Hochschulen – denn ähnlich wie das Netzwerk hat Java fast jedem etwas zu bieten.

Die wichtigsten Ankündigungen drehten sich dieses Jahr um die Rolle, die Java im Hinblick auf die Zukunft von RIAs (Rich Internet Application; Reichhaltige Internet-Anwendung) spielt. Was genau ist eine RIA? Die Antwort hängt ganz von der Sichtweise ab. Für mich ist eine RIA eine netzwerkfähige, typischerweise nicht browserbasierte Anwendung, die auch dann weitergenutzt werden kann, wenn keine Verbindung mehr zum Netzwerk besteht.

Ich würde sogar behaupten, dass Java schon immer eine RIA-Plattform gewesen ist, und zwar als noch gar kein Interesse an einer solchen Plattform bestand. Die frühen Java-Applets boten Interaktivität, verbunden mit erhöhter Entwicklungskomplexität und auf Kosten der Antwortzeiten. Damals reichte ein Browser; seit einiger Zeit wird statt Applets eher Javascript verwendet.

Browser-basierte Anwendungen stoßen jedoch mittlerweile an die Grenzen ihrer Möglichkeiten und ihrer Leistungsfähigkeit, und die Inhalteanbieter sind stets auf der Suche nach neuen, noch besseren Interaktionsformen (z. B. mit HD-Video oder erweiterter Interaktivität). Entwickler wünschen sich ebenfalls neue Tools, denn obwohl der Browser sich als äußerst praktisches Programmiermodell erwiesen hat, zeigt er doch Schwächen hinsichtlich der Implementierung von RIAs oder unvernetzten Anwendungen.

Auch die Weiterentwicklung von Geschäftsmodellen hat – wenn auch eher auf subtile Weise – Einfluss auf die zunehmende Beliebtheit von RIAs. Dies ist darauf zurückzuführen, dass viele Unternehmen, die RIAs entwickeln, unabhängig von Browsern und Suchmaschinen arbeiten wollen, da sie deren Standardeinstellungen und die Dominanz der Betreiberkonzerne als unerwünschte Konkurrenz empfinden. Deswegen ist die Nachfrage nach lokal installierten Anwendungen, die eine reichhaltige, direkte und dauerhafte Interaktion mit dem Kunden ermöglichen, gestiegen. Schließlich möchte niemand Lizenzgebühren zahlen, um seine Kunden zu erreichen.

Als wir uns mit der Neudefinition der Java-Plattform befassten, hatten wir die Anforderungen verschiedenster Gruppen vor Augen. Und zwar nicht nur die von Programmierern, sondern auch die von Sport-Franchises, die direkteren Kontakt zu ihren Fans wünschen, von Medienfirmen, die Browser-Standardeinstellungen umgehen möchten, sowie von Künstlern, Unternehmen und Geräteherstellern – alle wollen auf individuelle Weise über das Netzwerk mit Benutzern interagieren. Dabei sind die Anforderungen, die diese Gruppen an eine RIA-Plattform stellen, praktisch identisch. Sie wollen eine Technologie, die Folgendes bietet:

  • Alle Internet-Benutzer werden erreicht, unabhängig davon, ob sie Desktops, Mobilgeräte oder neuartige Geräte verwenden.
  • Die Technologie soll kurze Antwortzeiten bieten und die Möglichkeit bieten, kreative Entwickler am Entwicklungsprozess teilhaben zu lassen.
  • Sie muss auf dem vorhandenen Know-how aufbauen und sich in die bestehende Unternehmensstruktur integrieren lassen.
  • Die Technologie muss kostenlos sein und auf Open Source basieren.
  • Sie muss Inhalteanbietern das Urheberrecht ihrer Daten garantieren und Ihnen die Kontrolle an die Hand geben.

Auf der JavaOne sind wir letzte Woche auf all diese Punkte eingegangen:

1. RIA-Entwickler möchten alle Verbraucher weltweit und unabhängig vom verwendeten Gerät erreichen.

Warum? Damit Verbraucher direkten Zugang zum Markt haben, ganz gleich, welche Art von Gerät sie verwenden – ob Desktop, Mobiltelefon, Navigationssystem, digitales Buch o. Ä. So ist der Markt über alle möglichen Geräte zugänglich, nicht bloß über einen PC.

Wobei ich dazu sagen muss, dass die Beliebtheit von Java im PC-Bereich allein in den letzten Jahren rapide angestiegen ist. In Runtime-Downloads gemessen werden jeden Monat 40 bis 50 Millionen neue Java-Runtimes heruntergeladen und mehr als eine Milliarde pro Jahr wird aktualisiert. Die Zahl der Java-Plattformen übersteigt sogar die von Microsoft Windows: Die Java Runtime Environment (JRE) von Sun ist mittlerweile auf fast allen Windows-Geräten vorinstalliert (von HP, Dell, Lenovo, etc.), läuft aber auch auf Desktops unter Apple Macintosh, Ubuntu, Fedora, SuSe, Solaris und OpenSolaris. Zudem ist JRE auf Milliarden (jawohl Milliarden!) von Drahtlos- und Mobilgeräten installiert, darunter Armaturenbretter und Navigationsgeräte sowie Kindle, dem elektronischen Buch von Amazon (wussten Sie, dass Kindle eine Java-Plattform ist?).

Kurz gesagt: Die Java-Plattform erreicht mehr Menschen als jede andere Softwaretechnologie.

2. RIA-Entwickler verlangen nach Leistung, Funktionalität und Einfachheit.

Warum? Weil Inhalteanbieter und Anwendungsentwickler die Verbraucher miteinbeziehen möchten und sich zudem eine größere Beteiligung von Künstlern und anderen kreativen Köpfen an den Workflows wünschen.

Einfachheit gehörte nicht immer zu den Stärken von Java. Deswegen haben unsere Teams das Applet-Modell von Grund auf neu geschrieben und sich insbesondere auf die Geschwindigkeit der neuen Endanwender-Java Runtime-Umgebung (die Betaversion kann hier heruntergeladen werden) konzentriert. Das Ergebnis: hohe Ladegeschwindigkeit für Webseiten, überragende Leistungsfähigkeit bei komplexen Interaktionsformen und einfacher Zugang für Anwender. Des Weiteren haben wir Java mithilfe einer Skriptsprache vereinfacht. JavaFX ermöglicht es kreativen Köpfen, gemeinsam mit Programmierern ein mitreißendes Erlebnis für den Benutzer zu schaffen. Dabei können Tools (von Interaktionsdesign bis Pixelbearbeitung) eingesetzt werden, die sonst nur Designern und digitalen Künstlern vorbehalten sind.

Besonders freue ich mich darüber, dass es uns gelungen ist, das Problem der Desktop-Installation zu beheben. JavaFX-Applets lassen sich jetzt ganz einfach per Drag-&-Drop von einer Webseite isolieren (klicken Sie auf das Bild oben, um eine Demo hierzu zu sehen). Entwickler sind nun in der Lage, den Browser bei der simplen Installation von Anwendungen auf dem Desktop zu umgehen. Sobald das Applet per Drag-&-Drop auf den Desktop gezogen wurde, besteht eine direkte Beziehung zwischen den Inhalteanbietern und ihren Kunden.

Möglicherweise wissen Sie bereits, dass wir Java auf jeder Plattform, auf der es ausgeführt wird, um hochwertige Audio- und Video-Codecs erweitern. Auf diese Weise profitieren RIA-Entwickler von zeitbasierten Medien (klicken Sie hier, um eine Demo zu Hochleistungsvideo zu sehen).

3. Unternehmen möchten bei der Umstellung auf RIA ihre Java-Kenntnisse nutzen und die bestehende Infrastruktur weiterverwenden.

In fast jedem Unternehmen gibt es Programmierer mit Java-Kenntnissen, denn Java ist immer noch die weltweit führende Internet-Programmiersprache und in der globalen Business-Infrastruktur weit verbreitet. Im Zuge der Umstellung auf RIA-Plattformen können die vorhandenen Kenntnisse und Systeme weiter genutzt werden, sodass die Java-Community auf der bestehenden Grundlage aufbauen kann, statt sie zu ersetzen.

Dies ermöglicht es den Geschäfts- und Entwicklungsteams auch, sich auf die Interaktion mit Kunden zu konzentrieren, statt die IT-Abteilung mit dem Wunsch nach neuen Infrastrukturkomponenten zu verärgern (JavaFX-Entwickler arbeiten einfach mit der vorhandenen Infrastruktur und benötigen keine neuen Systeme für RIA-Anwendungen).

4. RIA-Entwickler wünschen sich kostenlose, offene Plattformen.

Warum kostenlos? Weil Entwickler ihre Anwendungen weder mit Lizenzgebühren belasten noch Technologien nutzen wollen, bei denen vorab feststeht, wo neue Kunden herkommen. Man baut keine Entwicklergemeinden im Bereich von Closed Source auf, sondern Benutzergemeinschaften – in unserem Fall gewährleitet die Auswahl und das Interesse der Entwickler die breitestmögliche Durchdringung des RIA-Marktes. Wie alle anderen Softwareplattformen von Sun wird auch JavaFX kostenlos als Open Source-Produkt zur Verfügung stehen und unter der GPL (v2)-Lizenz veröffentlicht werden.

Falls Sie bislang dachten, dass freie, offene Software eher in das Metier von Entwicklern mit Ziegenbärtchen und Tätowierung fällt ... möchte ich Sie darauf hinweisen, dass in Entwicklungsländern mittlerweile auch immer mehr Behörden und Hochschulen auf diese Art von Software umsteigen. Warum? Weil es darum geht, vor Ort Möglichkeiten zu erschaffen – es gibt keinen Grund, sich in Abhängigkeit von proprietärer Software zu begeben, wenn man es vermeiden kann.

Zu guter Letzt sollte noch erwähnt werden, dass in Web 2.0-Umgebungen nicht die Anwendungen, sondern die Daten der Schwerpunkt sind. Und diese Daten gehören IHNEN.

Falls Sie die sozialen Medien ebenso genau beobachtet haben wie wir, wissen Sie, dass die richtigen Tools und eine sorgfältige Planung beim Aufbau eines Online-Geschäfts eine entscheidende Rolle spielen. Wenn Ihnen klar ist, wie Benutzer Ihr Produkt einsetzen – ob es sich dabei um eine Fantasy Cricket-Liga oder eine Bankwebsite für Privatkunden handelt –, können Sie Geschäftsmodelle mit größerem Innovationspotenzial ausarbeiten, hochwertigere Services bereitstellen und die Werbung besser auf die Zielgruppe ausrichten. Die richtigen Daten ermöglichen fundierte Entscheidungen und schaffen Mehrwert (und resultieren letztendlich in höheren CPA (cost per action; Kosten pro Aktion).

Die meisten RIAs verschwinden jedoch nach ihrer Entwicklung und Implementierung im RIA-Nirwana. Entwickler, die versuchen, ihre Anwendungen außerhalb von Browser-Umgebungen zu entwerfen, verlieren entweder auf die eine oder andere Weise den Zugang zu Informationen über die Aktionen ihrer Benutzer oder sind auf einen Technologieanbieter angewiesen, der sich in ihren Datenstrom einschaltet. Einige dieser Technologieanbieter konkurrieren sogar mit den Inhalteanbietern.

Im Rahmen eines Projekts mit dem Namen Project Insight werden wir die Java-Plattform so instrumentieren, dass Entwickler den Datenstrom nutzen können, der durch ihren RIA-Inhalt generiert wird. So können sich JavaFX-Entwickler voll und ganz auf ihre eigenen Geschäftsmodelle konzentrieren, statt sich mit der Verbesserung der Modelle anderer zu beschäftigen.

_______________________

Welche Vorteile entstehen Sun durch den Erfolg von JavaFX?

Sun profitiert insofern, als Entwickler sich nicht für die Plattform eines anderen Anbieters (dies wird auch als „positive Option“ bezeichnet) und die zugehörige proprietäre Infrastruktur entscheiden (bedenken Sie dabei, dass RIAs mit Rich Internet Backends [RIBs?] verbunden sind). Da in der RIA-Welt ohnehin alle Anwendungsoptionen kostenlos sind, handelt es sich hier nicht um einen Wettbewerb, der über den Preis gewonnen wird.

Meiner Meinung nach wird die Plattform als Sieger hervorgehen, die Entwicklern die größten Freiheiten gibt. Schließlich wollen Entwickler Märkte, Geschäftschancen und Benutzerlebnisse ihren eigenen Vorstellungen entsprechend gestalten und nicht an die von Anbietern gebunden sein. Entwicklern Freiheiten geben – genau das ist unsere Stärke und die Grundlage unseres Handelns.

Entwickler erfahren unter JavaFX.com mehr zum Thema. Und werfen Sie auch einen Blick auf NetBeans, das ebenso wie Java für bahnbrechende Entwicklungen in der freien Welt sorgt ...

Share this post  del.icio.us | digg.com | slashdot.org | technorati.com | reddit | facebook | stumbleupon

No Comments

Senden Sie einen Kommentar:
Kommentare sind ausgeschaltet.