Archiv für die Kategorie 'Hintergrund'

Adobes langer Weg auf die mobilen Devices

Adobe steht, was seine Schlüsseltechnologie Flash angeht, gegenwärtig ein wenig unter Druck. Kleinlaut werden Fehler behoben, die schon seit etlichen Versionen den Flashplayer unter Mac zum Absturz bringen und verzweifelt wird versucht, die Flash Runtime auf möglichst allen mobilen Devices unterzubringen. Auf allen? Da gibt es eine Firma namens Apple, die Flash um keinen Preis auf iPhone, iPad und iPod touch haben will. Begründet wird das vorwiegend damit, dass Flash zu ressourcenhungrig sei. Ein weitaus wichtigerer Grund dürfte jedoch sein, dass mit Flash eine alternative Runtime hinzukommt und somit die Alleinkontrolle über das, was an Anwendungen auf das iPhone kommt nicht mehr in Apples Hoheit liegt.

Scheint der Kampf um den Flashplayer auf dem iPhone verloren und steht er “nur” auf Android und anderen mobilen Plattformen zur Verfügung geht es nun um andere Wege, Flashtechnologie als Anwendungsplattform auf die mobilen Endgeräte zu bringen.

Adobe versucht die Restriktionen auf dem iPhone zu umgehen, indem mit der kommenden Version 5 der Creative Suite ein Tool (Compiler?) mitgeliefert wird, das aus beliebigen Flash-Anwendungen native iPhone-Apps erzeugt. Diese unterliegen dann nicht mehr Einschränkungen von Apple, denn sie sind ja native Apps. Für die anderen mobilen Plattformen bedient sich Adobe einer Technologie, die es auf den Desktops dieser Welt schon seit zwei Jahren gibt: Adobe Air. Um mittels der Flashtechnologie semi-native Applikationen auf möglichst mobilen Endgeräten zu ermöglichen, entwickelt Adobe die Air Runtime  zunächst für Android andere Betriebssysteme wie Blackberry OS und später auch Windows Mobile sollen folgen.

Auch wenn es mit diesen Schritten weiterhin nicht möglich sein wird, Flash-Video auf dem iPhone anzusehen, gehen diese Schritte in eine ganz andere, bedeutendere Richtung. Adobe könnte so Flash / Flex zu der universalen Entwicklungstechnologie machen, die auf Desktops, mobilen Devices und auf allen weiteren möglichen Endgeräten läuft. Das “Write once run anywhere”-Motto von Java wäre dann wieder mit einer anderen Technologie auferstanden. Und da Adobe die komplette Toolchain zur Entwicklung von solchen Anwendungen in seiner Hand hat, ist die kommerzielle Motivation auch klar.

HTML 5 vs Flash

Nicht zuletzt befeuert durch die kolportierten Äußerungen von Steve Jobs zu Flash und HTML 5 wird es einmal Zeit, sich des Themas unvoreingenommen zu widmen. Wir nutzen zwar Adobe Flash Technologie in Form von Flex, kleben aber nicht in dem Sinne an einer Technologie wenn es bessere Alternativen dazu gäbe.

Eines der Hauptargumente, das die Ablösung von Flash durch HTML 5 untermauern soll, ist der Einsatz von Video auf Webseiten. Flash hat Webvideo erst salonfähig und massenkompatibel gemacht, weil es kein zusätzliches Plug-in benötigte außer dem, was zumeist ohnehin schon vorhanden war. Von Version zu Version wurde die Qualität und die Performance der Videos besser. Mittlerweile lassen sich Videos in HD ansehen und bald auch in Ansätzen Hardware beschleunigt.

HTML 5 erlaubt nun auch das Abspielen von Videos ohne Plug-in, aber nicht in allen Browsern, sondern nur etwa in Safari oder Google Chrome – bei YouTube etwa kann man die Default-Anzeige umstellen. Die anderen mögen nachziehen, jedoch sieht man daran ein Problem bei HTML 5 und seinen Komplementär-Technologien: Es ist vor allem erst einmal ein Standard. Ein Standard, der nicht dazu verpflichtet von allen Browserherstellern gleich schnell implementiert zu werden. Es kann noch nicht einmal die Garantie gegeben werden, dass der Standard jemals in allen Browsers überhaupt umgesetzt wird – man erinnere sich beispielsweise an die Alleingänge von Microsoft in früheren Versionen des Internet Explorers.

Schaut man sich die großen Player im Web-Videogeschäft einmal, ist man über die reine Darstellung von Videoinhalten zumeist schon hinaus. Auf YouTube etwa werden in die Videos hinein Flashelemente gerendert, die entweder Zusatzinformationen, Werbung oder bei Musiktiteln Links zum direkten Kauf des Tracks einblenden. Diese Overlays in Webvideos stehen erst am Anfang ihrer Möglichkeiten. Reines Videoplayback wird zwar noch wichtig sein, aber durch neue, interaktive Formate ergänzt werden. Hier müssen HTML 5 und auch vermutlich auch HTML 6 passen und falls es doch einmal gehen sollte, wird es sicherlich etliche Jahre dauern, bis es überall zur Verfügung steht – wenn überhaupt.

Wenn es alleine um Video-Playback geht wird man Flash nicht mehr unbedingt benötigen. Aber Flash war nie nur ein Videoplayer sondern immer schon viel mehr, wird aber auch in diesem Feld seinen Platz weiterhin behaupten können.

Ein weiteres Thema in Sachen kommende Webstandards und Flash ist die Frage nach 3D im Browser. Flash kann schon seit langem 3D darstellen, es gibt verschiedene Engines, die von der Frame Rate her locker als Player für anspruchsvolle 3D Spiele dienen können. Mit den jüngeren Flashplayer-Versionen wird 3D auch immer intensiver von der Runtime unterstützt. Flash ist hier schon, wo HTML mit seinen zaghaften Experimenten gerade erst beginnt. 3D CSS ist sicherlich beeindruckend aber es ist momentan nur in experimentellen Versionen des Browserframeworks Webkit möglich, was beispielsweise die Basis für Apples Safari darstellt.

Auch bei 3D stellt sich die Problematik, dass der Zeitraum bis 3D in (eventuell) allen Browsern verfügbar sein sollte, so groß ist, dass Flash einige Jahre Zeit haben wird, seine Fähigkeiten zu erweitern und zu verbessern.

Es gibt sicherlich noch etliche andere Beispiele, an denen man die Problematik zwischen einem Standard und einer konkreten Runtime diskutieren kann. Das Problem ist immer, dass der Runtime-Hersteller dank der Proprietät der Runtime einfach seinen Standard setzt. Und durch die extrem große Verbreitung der Flash Runtime, sichert sie den technologischen Vorsprung und die Entwicklungsgeschwindigkeit, den sie gegenüber den offenen Standards hat.

Selbst wenn der Flashplayer unter Mac, um Steve Jobs Meinung aufzugreifen, vielleicht nicht ganz so performant wie sein Windows-Pendant ist, so muss man auch überlegen, was die Runtime leistet, wenn sie CPU-Ressourcen verbraucht: HD Video, 3D, Spiele, Rich Internet Applications etc. Ein leerer Flashfilm oder eine leere Flexanwendung verbraucht kaum CPU-Zyklen. Der Verbrauch an Prozessorpower  liegt zum einen daran, was die Runtime abzuarbeiten hat und zum anderen wie es der Entwickler programmiert hat.

Die Entwicklungen, die HTML 5, 3D CSS und die anderen, neuen Frontend-Technologien vollziehen ist sicherlich bemerkenswert und für Frontend-Entwickler eine nette Spielwiese. Aufgrund einiger zaghafter Anfänge aber bereits das Ende der Flash Technologie Plattform einzuläuten ist mindestens fünf Jahre verfrüht und im gegenwärtigen Stadium auch nicht sachlich. Und letztlich ist es das alte Katz und Maus Spiel: Flash prescht voran und wenn die Webstandards nachziehen, hat Flash wieder einen so gewaltigen Vorsprung und so weiter und so fort…

Neue Studienarbeit zur RIA Akzeptanz

Wir hatten vor geraumer Zeit einmal einen Aufruf auf dem RIABlog, in dem es darum ging, bei einer Umfrage mitzumachen, deren Ergebnisse dann in einer Studienabschlussarbeit ausgewertet werden sollten. Die Arbeit liegt nun vor und erlaubt einen interessanten Einblick in die Akzeptanz, Verbreitung und Adaption von RIA-Technologien und deren Terminologie.

Der Autor Christopher Marquardt vertritt in seiner Arbeit mit dem Titel “Bekanntheitsgrad, Installationsverbreitung und aktive Nutzung von RIA-Technologien durch Internetnutzer unter Berücksichtigung sozio-demografischer Merkmale” die These, dass die “Bekanntheit und Verbreitung von RIA-Technologien [...] derzeit so ausgewogen [ist], dass keine RIA-Technologie gegenüber einer anderen einen Vorsprung hat”.

Zu den Ergbnissen der Auswertung von 217 Fragebögen zählt unter anderem:

  • Die einzelnen Technologien liegen in der Bekanntheit recht eng beieinander, wobei der Begriff RIA recht unbekannt ist (50%).
  • Auch die einzelnen Technologien sind relativ unbekannt, mit Ausnahme des Flash-Players.
  • Der Flash Player liegt von den Installationen her vorne und bringt so auch eine gute Ausgangsbasis für Air aus dem gleichen Hause mit.
  • Air hat die besten Wandlungsraten vom Kenner zum Nutzer einer Technik gerade vor dem Vergleich mit Silverlight und JavaFX.
  • Generell bleibt diese Wandlung vom Kenner einer Technologie zu deren Nutzer bei Werten um die 50%. Sprich, von den Leuten, die eine Technologie kennen, wird sich nur die Hälfte diese auch installieren.

Wer Kontakt zum dem Autor dieser Studie aufnehmen möchte kann dies über die Kommentare oder direkt über uns tun: hallo@codedculture.com.

Umfrage zu RIA Technologien

Christopher Marquardt untersucht für seine Bachelor Abschlussarbeit am SAE Institute die Verbreitung und den Bekanntheitsgrad von RIA-Technologien bei den Internetnutzern.
Die Arbeit wird von einer Umfrage begleitet, wobei wir uns freuen würden, wenn unsere Leser dort mitmachten:

http://www.ria-umfrage.de/

Wenn die Ergebnisse der Umfrage / der Arbeit vorliegen werden wir selbstverständlich darüber berichten.

Der Ajax-Sonderfall: Google Web Toolkit (GWT)

Im letzen Blogpost ging es um die zunehmende Bedeutung von Java-Script und Ajax im Bereich der Rich Internet Application Technologien. Bereits mehrfach bemängelt wurde das Entwicklungsmodell und der Toolsupport für Java-Script. Es gibt zwar mit Netbeans, Aptana u.v.a.m. Tools, die die Programmierung mit Java-Script unterstützen, sie sind aber von ihrem Featurereichtum meilenweit von dem entfernt, was bei anderen Sprachen möglich ist. Ein Grund liegt auch in der Sprache, die viele Dinge, die Integrated Development Environments (IDE) möglich machen, unterbindet. Und letztlich – ganz subjektiv – macht die Programmierung mit Java-Script nicht sonderlich viel Spaß und die vielen Frameworks lindern diese Not nur teilweise.

Google hat schon sehr früh das Potential von Ajax erkannt und gleichzeitig die oben genannten Problempunkte adressiert und eine Möglichkeit geschaffen, Ajax Anwendungen zu erzeugen, die Ihresgleichen sucht: Das Google Web Toolkit oder kurz GWT. GWT ist mittlerweile in Version 1.6 erschienen und man kann schon seit einiger Zeit von einer ausgereiften Technologie sprechen. Nahezu alle Google Webanwendungen (inklusive von Google Wave) sind mit GWT erstellt worden.

GWT löst die lästige Java-Script Programmierung indem man in einer ausgewachsenen Sprache – namentlich Java – programmiert und dann seine Java Sourcen in eine Ajax Anwendung “kompiliert” (wobei natürlich kein binäres Kompilat entsteht sondern nur hochoptimiertes Java-Script). Durch diesen Geniestreich löst Google die Unzulänglichkeiten von Java-Script, denn es wird ausschließlich in Java programmiert. Zum anderen löst Google die Unterstützung durch Tools, denn es liefert nicht nur ein GWT-PLugin für Eclipse mit, vielmehr sind auch alle anderen für Java gedachten Eclipse-Plugins möglich. Auch weitere Tools aus dem Java Umfeld wie Continious Integration, Code Metrics und Analyse sind möglich. Auch die weiteren Vorteile der Java-Technologie wie die leichte Backend-Integration, die Verfügbarkeit qualifizierter Entwickler und die umfangreichen Bibliotheken dienen dem GWT-Ansatz.

Mit dem GWT muss sich der Web 2.0 Entwickler nicht mit Java-Script beschäftigen, auch nicht mit Cross-Browser-Kompatibilität und den ganzen Folgeproblemen, sondern kann wie gewohnt seine Java-Klassen schreiben und entwickelt so mächtige Anwendungen wie GoogleMail etc.