Ajax vs. Flex +

Äpfel und Birnen

Kann man Ajax und Flex vergleichen? Klar, beides sind Technologien im Web-Frontend, die den gleichen Bereich abdecken.

Sollte man Ajax und Flex vergleichen? Klar, um die Stärken und Schwächen kennen zu lernen und für jeden Anwendungsfall die richtige Technologie aus dem Hut zu zaubern.

Was sind die Vorteile von Ajax?

  • HTML, CSS und Javascript sind weit bekannt und viele Leute haben schon damit programmiert
  • Der Endnutzer fühlt sich heimisch. Er kennt den Browser, weiß wie die Dinge funktionieren, wie die Buttons aussehen, wo er hinklicken kann, …
  • Es wird kein Plugin benötigt, denn alles ist nativ im Browser (Plugins können in kontrollierten Firmenumgebungen ein Problem darstellen)
  • Client- und serverseitige Pattern sind weit entwickelt und man wird von der Menge Frameworks (positiv) erschlagen. Webwork, Struts (1 und 2), Spring, Turbine, Tapestry, JavaServer Faces, um nur ein paar zu nennen

Was sind die Nachteile von Ajax?

  • Es ist und bleibt HTML mit all seinen Schwächen. Runde Ecken, kleine Effekte, Browserinkompatibilitäten, … … alles machbar, aber es ist aufwendig und nicht straightforward
  • Ajax beruht auf Javascript. Zuerst wirkt es toll. Dann merkt man, dass man nur an der Oberfläche kratzt und fällt in ein tiefes Loch. Ist man wieder oben, erkennt man die Stärken der Sprache.
  • So langsam haben die verfügbaren Javascript-/Ajax-Frameworks einen Reifegrad erreicht, der einem Arbeit abnimmt. Dies war nicht immer so.
  • Die Performance im Browser kann unter den DOM-Manipulationen leiden. Sortierbare Tabellen oder andere aufwendige Operationen arbeiten an der Grenze des Machbaren
  • Browser und deren Technologien haben sich in den letzten Jahren weiterentwickelt, aber HTML wurde nicht dafür geschaffen, dynamisch zu sein.

Was sind die Vorteile von Flex?

  • Schnelle Einarbeitung. Schon nach wenigen Tagen hat man Anwendungen erstellt, die selbst nach mehrjähriger Erfahrung mit HTML, CSS und Javascript länger gedauert hätten
  • Sexy Oberflächen. Eine Flex-Anwendung macht auf den ersten Blick einfach mehr her. Abgerundete und transparente Layer, Gradienten nach Wunsch ohne kompliziert skalierende Hintergrundgrafiken. Kleine Effekte, die mit zwei Zeilen Code eingefügt sind und nicht auf die Performance des Browsers drücken
  • Integration von Multimediainhalten. Ein Videoplayer, Musik gesteuert abspielen, alles eine Frage von wenigen Zeilen Code. Sauber und einfach klar in der Denkweise

Was sind die Nachteile von Flex?

  • Eine Flexanwendung sieht aus wie eine Flexanwendung. Kein echter Nachteil, aber ein Grafiker muss sich auch erst mal in das Skinning einarbeiten. Ansonsten hat man eine 08/15-Anwendung, was bei weiterer Verbreitung von Flex negativ ins Auge fallen wird
  • Kleine Anwendungen sind schnell realisiert, aber wird es etwas größer, so verliert man sich erst einmal wieder in Flex. Frameworks wie Cairngorm lösen diese Probleme, aber die Lernkurve ist plötzlich doch steiler als angenommen
  • Internationalisierung, automatisierte Builds und Codegenerierung sind möglich, aber viele Enterprise-Features verstecken sich doch sehr gut. Es macht oft den Anschein, als wäre manches zu kurz gesprungen
  • Flex generiert Flash und die Sprache MXML ist im Gegensatz zu purem Actionscript die Stärke, um schnell an ein Ziel zu kommen. Allerdings ist Flex ein Aufsatz auf Flash und die Trennung von MXML und Actionscript ist zu fließend, als das alles homogen wirkt.
  • Der Flexbuilder ist nunmal kein IntelliJ und die Tools wirken alle noch sehr roh. Die Erstellung von Anwendungen ist möglich, aber an vielen Enden könnte es besser laufen. Auch der Flex-Support in IntelliJ ist sehr weit von Java entfernt

Fazit:

Benötigt man eine Multimedia-Anwendung, die viel Inhalte darstellt und schick herüberkommen soll, ist Flex sehr gut geeignet. Will man dagegen Daten pflegen und möglichst breiten Support für die Anwendung haben, so ist Ajax immer noch die bessere Wahl. Flash wirkt in der Welt des Webs immer noch als Fremdkörper. Deeplinks, kopieren von Inhalten, Ladezeit und die schon erlernte HTML-Usability sind Punkte, die gegen Flash sprechen. Wenn es aber darum geht, möglichst nah an Desktop-Anwendungen zu kommen, so ist Flex ein guter Weg und Air schon ein Ziel. Bei der Umsetzung einer Touchscreen-Anwendung standen wir auch vor der Überlegung auf Ajax zu setzen. Zum Glück haben wir an dieser Stelle auf Flex gesetzt, da seine Reaktionsgeschwindkeit ohne Page Reloads wesentlich natürlicher bei dem Anwendungsfall ist.

Alles was mit Flex geht, ist auch mit Ajax möglich. Aber der Aufwand kann enorm werden.

2 Responses to “Ajax vs. Flex”

  1. Need the same blog in ENGLISH :-(

  2. [...] month ago I posted this entry in german. After a comment that this post is needed in English, I will translate it and rethink if I would [...]

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>