Archive

Archive for the ‘AJAX’ Category

RIA Summer Jam in München

August 5th, 2009 Reto Kiefer No comments

090727_RIA_SummerJam_200x200Meine Kollegen von der Münchner Flex Usergruppe München veranstalten dieses Jahr den RIA Summer Jam.
Rich Internet Applications oder kurz RIA stehen für technisch anspruchsvolle, multimediale Anwendungen, die innovative Möglichkeiten bieten Ästhetik und Funktionalität miteinander zu verbinden.
In Kooperation zwischen der Adobe Flex User Group München und P//MOD ist die Idee entstanden den RIA Summer Jam ins Leben zu rufen. Dabei soll die RIA Technologie nicht ausschließlich unter den Aspekten Design und Technik fokussiert werden, sondern auch die Bedeutung und Herausforderung für Marken in den Vordergrund gestellt werden.
Auf dem RIA Summer Jam präsentieren Profis aus den Bereichen Technik, Design, Marketing und Projektmanagement das Thema Rich Internet Applications auf 2 Präsentations Tracks.
Im Anschluss an den Event gibt es dann die Möglichkeit beim BBQ auf der Dachterrasse die Eindrücke des Tages weiter zu vertiefen.
Der RIA Summer Jam 2009 findet am 12. September 2009 in München statt und ist kostenlos.
Weitere Infos und Anmeldung unter www.riasummerjam.de

Update vom 14. August 2009: Der RIA Summer Jam ist bereits ausgebucht. Es gibt aber eine Warteliste für Tickets, die nicht in Anspruch genommen werden.

Gehört JavaScript wirklich die Zukunft der Web Anwendungen?

July 10th, 2009 Reto Kiefer 2 comments

In letzter Zeit rückt die Webentwicklung (zumindest des Frontends) mit den typischen Web 2.0 Technologien wie standardkonformes HTML, CSS der neuesten Generation und Ajax / JavaScript immer mehr in meinen Blickwinkel. Das bedeutet nicht, dass in diesem Bereich tatsächlich mehr passiert als sonst, sondern kann auch lediglich bedeuten, dass mir das Augenfällige dann doch noch aufgefallen ist. Ich bin auch nicht mehr so der Frontendentwickler wie noch vor acht oder zehn Jahren und wenn dann eher in Adobe Flex.

Anyway, es tut sich was im Webbereich und gerade im Bereich der offenen Standards. Neue Technologien sprießen, Frameworks werden immer besser und leichter einzusetzen und Altbewährtem werden neue Aspekte abgewonnen. Wer wie ich schon etwas länger im Webapplication Developement dabei ist, kennt einen Teil der Bewegung, die jetzt aufgezogen ist unter dem Stichwort DHTML. Schon vor rund zehn Jahren war man durchaus in der Lage mittels JavaScript DOM Bäume zu manipulieren und einiges an Dynamik in statische Webseiten bringen. HTML und CSS aber auch JavaScript entwickelte sich fort und brachte immer neue Möglichkeiten.

Neu hinzugekommen (und an das ist das wirklich Neue) ist, dass man aus einer Webseite heraus, Daten nachladen kann, etwas, dass vorher nur proprietären Technologien wie Flash oder Applets möglich war. Ajax fand sich schnell als eingängiges Brand für asynchrone Requests die Daten mittels JSON oder XML von einem Backend holten und darstellten.

Mit Ajax kamen die Frameworks, die Animationen, völlig neue Widgets für HTML und Interaktivität auf Webseiten brachten und den Datenaustausch mit Backends vereinfachten. Mit ExtJS und bspw. jQuery UI stehen komponentenbasierte Frameworks zur Verfügung, die sonst eher im Bereich von Java und Flex zu suchen waren. Neue Browserversionen überbieten sich mit immer schnelleren JavaScript-Engines und ein Ende der Entwicklung ist noch nicht abzusehen.

Und ein Blick in die Glaskugel (wobei eigentlich schon alles bekannt ist) zeigt, dass mit Anwendungstypen wie Google Wave oder Google Docs, Calendar etc. der Browser als Applikationsträger immer wichtiger wird und das eigentliche Betriebssystem zurückgedrängt wird. Googles angekündigtes Betriebssystem Chrome OS scheint vorwiegend als Browserruntime zu dienen. HTML 5 und immer schnellere JavaScript Engines zeigen schon heute was mit Video und Animationen bis hin zum Raytracing im Browser möglich ist – von den neuen Gestaltungsmöglichkeiten mit CSS 3 ganz zu schweigen. Da wird selbst die Luft für Rich Internet Technologien wie Flash, JavaFX und Silverlight dünner.

Aber sollte die Zukunft der Anwendungsentwicklung wirklich in JavaScript liegen? Diese Sprache, die so unleserlich und unschön ist. die noch nicht einmal einen eigenständigen Namen von ihren Schöpfern bekam, sondern sich als Java Irgendwas bezeichnen lassen musste – ohne dabei irgendeine vorteilhafte Eigenschaft von Java zu haben? Ich will und kann es mir nicht recht vorstellen. Selbst wenn die Tools einmal ausgefeilter sind, wird es immer noch eine große Mühe sein, JavaScript zu entwickeln – und damit meine ich nicht nur das eine oder andere Framework zu benutzen, sondern richtig zu programmieren.

Gestandenen Anwendungsentwicklern ist noch nicht einmal ein einigermaßen ausgereiftes Framework wie Flex mit einer relativ elaborierten Sprache wie ActionScript 3 ausreichend, um komplexe Anwendungen zu schreiben. Wie soll das dann erst mit JavaScript vonstatten gehen, wenn wir mal den Umweg über Googles Web Toolkit beiseite lassen?

Auch wenn vieles danach aussieht als würden die Anwendungsoberflächen der Zukunft in JavaScript programmiert werden will es mir nicht wirklich in den Kopf. Trends und Hypes gehen und kommen im Internet schneller als sonst wo aber an den Grundfesten der Softwareentwicklung wird nicht so schnell gerüttelt, das braucht Zeit. Das Versprechen der Offenheit und Plattformunabhängigkeit der Webstandards ist da, aber das wird bspw. auch von Java gegeben. Und wenn sich Adobe entscheiden sollte den Flashplayer zu öffnen, wird wieder ein Konkurrent um die Technologie der Webanwendungen gleichberechtigte Ansprüche anmelden können.

Es ist verblüffend was heute mit Webstandards und Ajax möglich ist, aber das Entwicklungsmodell ist nicht überzeugend. Zu viele Einzeltechnologien mit Interdependenzen und kein so ausgereifter Toolsupport wie bspw. in Java, ganz zu schweigen von Browser-Inkompatibilitäten. Aber JavaScript als Entwicklungssprache muss nicht die Zukunft gehören. Über Google Wave, die vermutlich am weitestgehende Ajax Anwendung sagen die Entwickler selbst: Ohne das Google Web Toolkit (was Javacode in JavaScript/Ajax “kompiliert”), also direkt in JavaScript programmiert, wäre Google Wave nie möglich geworden.

Google Wave: Der Nachfolger der Email

June 2nd, 2009 Reto Kiefer No comments

Auf der Google Hausmesse Google I/O wurde eine Demo eines neuen Google Dienstes / einer neuen Anwendung gezeigt, die die Art und Weise wie wir elektronisch kommunizieren nachhaltig verändern könnte.

Google Wave vereint Email, Instant Messaging, (Micro-)Blogging, Collaborative Working und vieles andere mehr in einer Anwendung. Ein sog. Wave Objekt beinhaltet all diese Kommunikations- und Kollaborationsmöglichkeiten und ist das Zentrum der Anwendung. Folgt man der Demo kommt man aus dem Staunen nicht mehr raus. Neben der Integration von allen möglichen Diensten und der Verfügbarkeit einer API sind die Robots interessant, die einer Wave als Teilnehmer hinzugefügt werden können.

Wer Google Wave verstehen will, dem sei empfohlen sich 80 Minuten Zeit zu nehmen – es lohnt sich und man gewinnt einen Eindruck von der Zukunft der elektronischen Kommunikation. Die ganzen Möglichkeiten aufzuzählen ist kaum möglich, das muss man sich anschauen. Ergänzend ist dieses Interview mit Sergey Brin interessant sowie das Interview mit dem Kern des Google Wave Teams.

Eine kleine Kröte ist zu schlucken – das ist die Tatsache, dass die Anwendung auf HTML 5 aufsetzt. Google Wave wird dazu erst möglich, aber die Nutzer des Internet Explorers bleiben außen vor – Microsoft muss nun nachziehen.

Am Rande bemerkenswert ist die Tatsache, dass Google Wave als OpenSource verfügbar sein wird, der Dienst also nicht nur von Google sondern auch von anderen Unternehmen angeboten (und modifiziert) werden kann, sehr interessant. Weiterhin bemerkenswert ist, dass by Google nach der Devise “Eat your own dogfood” verfahren wird – der Client für Google Wave wurde komplett mit dem Google Web Toolkit erstellt.

IDE Shootout: Vergleich von Eclipse vs. IntelliJ Idea vs. Netbeans

May 28th, 2009 Reto Kiefer No comments

Wie der geneigte Leser an den Posts in meinem Blog sehen kann, habe ich mich in der letzten Zeit mit verschiedenen IDEs im Zusammenhang mit verschiedenen Sprachen und Technologien beschäftigt. Auch wenn der Prozess der Sichtung noch nicht abgeschlossen ist, wage ich dennoch einmal den Vergleich zwischen den drei Major IDEs wenn es um die Entwicklung mit Java und anderen Sprachen geht. Ich werde nicht nach IDE sortieren sondern nach verwendeten Sprachen und Frameworks. Zur Verwendung kommen die aktuelle Eclipse 3.4 (mit Vorausschau auf 3.5), Netbeans 6.7 Beta und IntelliJ Idea 8.1.

PHP

Die PHP Unterstützung ist nur in Eclipse und in Netbeans gegeben. Das freie PDT in Eclipse ist gleichzeitig die Grundlage für das kommerzielle Zend Studio for Eclipse, die führende IDE im PHP Bereich. Von den Kosten kann man fairerweise nur PDT und das Netbeans-Plugin vergleichen. Beide haben einen großen Coding Comfort und die Debugger Unterstützung ist ausgereift. Beide bringen auch Standardfeatures ihrer jeweiligen Mutter IDE mit, also Code Folding, Zeilennummerierung, ausgefeilte Suchen & Ersetzen Funktionen, Filenavigator und eine Outlineansicht sowie Anzeigen über Probleme, Todos etc.

Das Zend Studio erweitert PDT in vielerlei Hinsicht, etwa um ausgefeiltes Codeformatting, Unittest-Unterstützung, Server-Debugging und vieles andere mehr. Das Zend Studio (und damit die Eclipse-Plattform) ist klarer Gewinner des Vergleichs es kostet aber auch an die 400 €. Bleibt man bei den kostenfreien Lösungen gewinnt meines Erachtens die Netbeans-Lösung vor Eclipse. Zum einen ist das Editieren von Code in vielerlei Hinsicht komfortabler, die IDE fühlt sich schneller an und vor allem sind mit Unittest-Unterstützung und Code-Coverage-Analyse bereits Pro-Features aus dem Zend Studio frei verfügbar.

Fazit: Auch für größere Projekte reicht die Netbeans-Lösung aus, in einem aktuellen Projekt spicht einzig das Code-Formatting noch unbedingt für Zend, alles andere könnte man vermutlich auch mit Netbeans erledigen.

Flex

Für Flex fällt Netbeans komplett aus, da es keinerlei Support bietet. Für Eclipse gibt es den großen Flex Builder von Adobe, der kostenpflichtig ist, es sei denn man ist Student oder grade durch die Wirtschaftskrise arbeitslos geworden. IntelliJ ist ja eine kommerzielle IDE, aber der Flex Support kostet keinen Aufpreis.

Der Flex Builder ist so ziemlich der Standard wenn es um Flex Entwicklung geht. Er hat einen einmaligen visuellen Editor, der Roundtip-Engineering zwischen visueller und coding Ansicht bietet. Flex Builder bietet in Sachen Run-Configuration, Debugging und Profiling so ziemlich alles was man benötigt. Der Editor ist jedoch nur mäßig, so gibt es kaum Möglichkeiten, die Sourcen zu verändern, noch nicht mal ein “Format Source” ist dabei. Für einige Sachen gibt es Plugins aber vieles bleibt außen vor. Der Flex Builder ist entweder Standalone mit Eclipse zu beziehen oder als Eclipse Plugin.

Ein zweites Eclipse Plugin sind die Flash Development Tools (FDT) von Powerflasher, die in ihrer neuesten und teuersten Version Unterstützung für Flex bieten. Der Coding Comfort soll hier sehr gut sein, aber für den fast doppelten Preis des Flex Builders ist das definitiv zu viel.

Eine Alternative bietet hier IntelliJ gerade wenn man noch in anderen Sprachen programmiert erhält man einen ausgezeichneten Flex Support. Die Editorfunktionen sind sehr umfangreich und man findet viele Features, die man normalerweise nur in einem Java-Editor finden würde. Idea 8 unterstützt auch das Debugging von Flex.

Fazit: Eclipse oder IntelliJ Idea ist hier die Entscheidung. Wer das eine oder das andere mag wird seine Flex IDE aus dem gleichen Hause nehmen. Gerade wenn beide Backends in Java gecodet werden spielt es keine Rolle. Ist das Backend zu einer Flexanwendung aber in PHP geschrieben so bietet sich die Kombination Zend Studio for Eclipse in Verbindung mit dem Flex Builder Plugin an.

Groovy & Grails

Für Groovy und Grails gibt es für alle drei IDEs Unterstützung aber in unterschiedlicher Qualität. Ein ziemlicher Ausfall ist das Plugin für Eclipse. Es kann sehr wenig und ist noch in einem frühen Stadium. IntelliJ war lange der Marktführer in Sachen Groovy-/Grails-Support, der Vorsprung schwindet aber mit jeder Version von Netbeans stärker. Die aktuelle Beta von Netbeans 6.7 reicht an die Fähigkeiten von Idea 8 heran. Hier entscheidet alleine, was es für Vorlieben gibt. Eclipse sollte aus der Entscheidung außen vorgelassen bleiben und wenn schon IntelliJ im Hause ist sollte man dabei bleiben. Startet man aber auf der grünen Wiese oder will einfach mal nur mit einer gescheiten Entwicklungsumgebung etwas Groovy und Grails programmieren, dürfte die Entscheidung eindeutig für die Netbeans 6.7 Beta ausfallen.

Java-Script / HTML

Java-Script wird von allen drei IDE hervorragend unterstützt. Für Eclipse gibt es mit Aptana sogar eine Distribution, die auf die JS Entwicklung abzielt. Idea 8 hat einen ebenfalls sehr guten Java-Script Support und zeigt dies eindrücklich mit dem Java-Script Debugger. Netbeans in der aktuellen Beta bringt auch einen exzellenten Java-Script Support mit und ist in Sachen Codeerkennung und Codevervollständigung vorne. Der HTML Support ist ebenfalls in allen drei IDEs gut bedacht und es macht für einen Entwickler durchaus Sinn eine der IDEs statt Dreamweaver :-/ oder anderer Tools wie Espresso zu benutzen. Die Entwicklungsgeschwindigkeit wird sich positiv bemerkbar machen. Man muss auch bei einer IDE nicht immer auf einen visuellen Modus verzichten.

Java

Last but not least will ich kurz auf Java eingehen, die Sprache, der alle drei IDEs ihre Existenz verdanken. Nicht nur weil sie in Java programmiert sind sondern auch weil Java die erste Sprache war, die sie unterstützten. Alle drei IDEs bieten einen hervorragenden Support für die Javaentwicklung und lassen kaum Wünsche übrig. Wer welche IDE für Java einsetzt, wird nach seinen Vorlieben (oder denen seines Projektleiters) entscheiden oder nach dem, was er gewohnt ist. Unterschiede gibt es trotz aller Gemeinsamkeiten dennoch. Ein großes Plus von Eclipse ist die Mannigfaltigkeit von Plugins, die einem die Javaentwicklung erleichtern oder diese Unterstützen. Neben dem freien Eclipse gibt es auch kostenpflichtige Distributionen, die spezielle Einsatzzwecke abdecken- Der Vorteil von Netbeans ist die Einfachheit der Inbetriebnahme. man installiert es lädt über den Plugin Manager ein paar Plugins nach und beginnt ein neues Projekt in kürzester Zeit. Wer einmal eine umfangreiche Eclipse-Installation aufgesetzt hat, kann davon nur träumen. IntelliJ Idea hat seine eingeschworene Nutzergemeinde und geht einen Sonderweg in Nutzerführung und IDE-Nutzung.

Fazit

Wer welche IDE nutzt sollte dies von seinen Vorlieben, den Vorgaben seiner Projekte und den Anforderungen abhängig machen. Geben sich die IDEs bei Java wenig, sieht es bei der Unterstützung für andere Sprachen schon wieder anders aus. Der Vorteil für den Entwickler ist, dass er für seine Technologie fast immer eine kostenfreie Option angeboten bekommt – nur selten ist ein Obulus für die Unterstützung einer Sprache notwendig. IntelliJ scheidet beim Thema Kostenfreiheit aus, da es kommerziell ist, genau wie der Flex Builder, Zend Studio oder MyEclipse. Netbeans, das lange das Stiefkind unter den IDEs war legt seit Version 6.5 ein atemberaubendes Tempo vor und hat zu den anderen IDEs längst aufgeschlossen. Es bleibt nur zu hoffen, dass Suns Übernahme durch Oracle nicht das Ende von Netbeans und die Entscheidung für JDeveloper bedeutet. Es wäre schade um eine gute IDE und auch die innovationstreibende Konkurrenz zu Eclipse wäre großteils verschwunden.

Wie auch immer die individuelle Entscheidung ausfällt, bleibt festzuhalten: Es ist gut, dass die Entwickler Freiheit in den eingesetzten Produktionsmitteln haben. Der zumeist kostenlose Zugang zu IDEs fördert auch den Zugang zur Programmierung. Und dass neben Java immer mehr Sprachen und Technologien einen zunehmend guten IDE Support erhalten ist wohl das größte Plus der aktuellen Entwicklung.

Categories: AJAX, Adobe Flex, Development, Eclipse, Java, JavaFX, PHP, XML Tags:

JSON Formatter

June 7th, 2008 Reto Kiefer No comments

Ich bin ja bekanntermaßen kein Fan von JSON sondern ziehe wohlformatiertes XML der besseren Lesbarkeit und Verarbeitbarkeit (außerhalb von Java-Script) vor. Nun kann man es sich nicht immer aussuchen und da wir in einem aktuellen Projekt festgestellt haben, dass ExtJS deutlich besser mit JSON als mit XML umgehen kann (obwohl letzteres theoretisch unterstützt wird) generieren wir nun JSON als Service-Rückgabe alternativ zu XML.

Das Problem beim Betrachten von JSON im Unterschied zu XML ist, dass man es gänzlich ungeordnet sieht. Zeichen hängt an Zeichen und man sieht nicht auf den ersten Blick welche Hierarchien es in dem JSON Fragment gibt.

Hier hilft ein nützliches online Tool namens JSON Formatter. Einfach den JSON-Code oder eine Service-URL, die JSON zurückgibt eingeben, Process clicken und schon sieht man sein JSON perfekt eingerückt und gut lesbar formatiert.

Das macht die Arbeit mit JSON nicht erfreulicher aber leichter ;o)

Categories: AJAX, Development, PHP Tags: , ,

ExtJS im Lizenzchaos

May 2nd, 2008 Reto Kiefer No comments

Die beliebte AJAX Library ExtJs hat sich den Unmut vieler Entwickler zugezogen, in dem sie in einem minor Release die Lizenz gewechselt haben.

Es ist nicht das erste mal, dass ExtJs so etwas tut, die Library startete ursprünglich einmal unter einer BSD Lizenz, wechselte dann aber unter die LGPL mit einigen Zusatzbestimmungen.

Nun aber kommt der Wechsel zu einem Dual-Lizenzmodell, auf der einen Seite GPL auf der anderen Seite eine kommerzielle Lizenz. Der Aufschrei in der Entwicklerwelt und der Blogosphäre ist groß, denn von nun man muss man entweder seine Modifikationen / Erweiterungen an ExtJS wiederum unter der GPL veröffentlichen (was für viele kommerzielle Projekte ausscheidet) oder aber man muss eine kommerzielle Lizenz erwerben.

Es ist natürlich und legitim, dass man mit einer guten Software Geld verdienen will, aber dann sollte man von Anfang an ehrlich zu seinen Anwendern sein. Nicht erst mit einer geschäftsfreundlichen Lizenz anfangen, um die Leute anzufixen um dann später mit der Lizenzerpressung das Hand-Aufhalten zu beginnen. So bringt man das ganze OpenSource-Modell in Verruf.

Auch ein mittlerweile erfolgtes nachträgliches Nachbessern seitens ExtJS löst das Problem der kommerziellen Nutzung nicht.

Categories: AJAX, Development Tags: ,

Neues Rich Internet Application Blog

December 16th, 2007 Reto Kiefer No comments

Unter der Adresse www.riablog.de habe ich gemeinsamen mit meinem Partner Daniel Kopp ein neues Blog ins Leben gerufen, welches sich ausschließlich um Rich Internet Applications (RIA) dreht.

Es ist gleichzeitig das Corporate Blog unserer Firma Coded Culture, in dem wir über neue Entwicklungen, Hintergrundberichte, Fallstudien und Beispiele aus der RIA-Welt berichten und diese einordnen.

Unsere Firma hat sich auf die Entwicklung von Rich Internet Applications spezialisiert und in den letzten drei Jahren umfangreiche Erfahrungen und Kenntnisse sammeln können, die wir jetzt interessierten Lesern weitergeben wollen.

Dieses Blog bleibt selbstverständlich genauso aktiv wie bisher, nur dass hier andere, eher entwicklerspezifische Themen behandelt werden.

Viel Spaß beim Lesen des neuen Blogs und Kommentare sind wie immer erwünscht.

AJAX Frameworks Updates

November 11th, 2007 Reto Kiefer No comments

Bei den AJAX-Frameworks tut sich was.

In der letzten Woche sind neben der 1.0 Version von Dojo auch die Versionen 1.6 von Prototyp und die Version 1.8 von script.aculo.us erschienen.

Gerade mit dem stabilen 1.0er Release von Dojo, das nach Jahren der Entwicklung und heftiger Unterstützung durch die Software-Industrie (IBM, Sun und AOL), fertig geworden ist, verbinden sich viele Erwartungen nach einen Quasi-Standard im Bereich AJAX-Entwicklung.

Categories: AJAX, Rich Internet Applications Tags: