«IDEalisierte» Webentwicklung

Mit Aptana Studio erhalten Webentwickler eine Eclipse-basierende IDE, die sie tatkräftig bei der Entwicklung von Rich Internet Applications unterstützt.

Artikel erschienen in Swiss IT Magazine 2008/10

     


Die Entwicklung von Webapplikationen wird mit dem Trend zu AJAX und Rich Internet Applications (RIA) immer komplexer. Man muss einen Mix aus HTML, CSS und JavaScript bändigen, mit einem oder mehreren AJAX-Frameworks umgehen können und mehrere Browser inklusive Emulatoren für Smartphone-Browser im Blick haben. Längst ist ein simpler Texteditor mit dieser Aufgabe überfordert, und es drängt sich die Nutzung spezialisierter Entwicklungsumgebungen auf.


Eclipse-basiert

Mit Aptana Studio hat der gleichnamige US-amerikanische Start-up eine Eclipse-basierende IDE auf den Markt geworfen, die Webentwickler bei ihrer täglichen Arbeit unterstützen soll. Bei Aptana Studio, das im Moment in der Version 1.1 vorliegt, handelt es sich nicht nur um eine Neuanordnung bestehender Eclipse-Plug-ins, sondern um eine Mischung aus bewährten Eclipse-Modulen und von Aptana entwickelten Komponenten, die zum Teil als Open Source im Rahmen der kostenfreien Community Edition verfügbar sind. Andere sind nur als kostenpflichtige Ergänzung im Rahmen der Professional Edition (199 Dollar) verfügbar. Aptana Studio ist sowohl für Windows als auch Mac und Linux erhältlich, wobei sich die verschiedenen Ausgaben im Funktionsumfang nur hinsichtlich der für Preview respektive Debugging unterstützten Browser unterscheiden.



Die Verwendung von Eclipse hat für Entwickler einige Vorteile. Wer Eclipse beispielsweise aus der Java-Entwicklung schon kennt, dem dürfte es leichtfallen, sich in der etwas unübersichtlichen, aber sehr mächtigen Oberfläche zurechtzufinden. Weiter ist es damit leichter, Aptana Studio und damit die Entwicklung der Client-seitigen Programmlogik und Präsentation in die bestehende Entwicklungsumgebung zu integrieren. Zu guter Letzt können vermisste Funktionen wie SVN- oder CVS-Integration, sofern sie denn in irgendeiner Form bereits für Eclipse bereitstehen, nachgerüstet werden.


Framework-orientiert

Der Editor unterstützt die üblichen Funktionen zur Unterstützung des Anwenders, sprich Syntax-Highlighting und -Validierung in Echtzeit, Code Completion und Folding. Dies gilt dabei sowohl für HTML (Tags und Attribute) als auch JavaScript und CSS (Eigenschaften und Werte). In der Professional-Version findet sich auch noch ein JSON-Editor. Praktisch ist, dass bei den CSS-Eigenschaften angegeben wird, welche Browser sie unterstützen. Auch haben sich die Aptana-Programmierer einige Tweaks für den Editor einfallen lassen. So ist es beispielsweise möglich, mit der Funktion «Piano Keys» die Zeilen alternierend einzufärben oder je nach verwendeter Sprache (HTML, JS, CSS) eine andere Hintergrundfarbe einblenden zu lassen. So kann man in einem HTML-Dokument schnell erkennen, was wo ist.


Oberhalb des Editors findet sich eine Leiste, über die sich Tags um Inhalte legen oder häufig benö­tigte Snippets einfügen oder Elemente wie Tabellen generieren lassen. Zusätzlich ist ein spezieller View vorhanden, der eine Vielzahl von Snippets in den unterstützten Sprachen und zu den verwendeten Komponenten bereithält. Allerdings sind die Assistenten zum Erstellen von komplexen Elementen wie Tabellen recht spartanisch und nehmen einem kaum Arbeit ab.



Eine der Stärken von Aptana ist sicher die Integration vieler Client-seitigen AJAX-Frameworks wie jQuery, Adobe Spry oder YUI. Beim Erstellen eines Projekts lässt sich auswählen, welche Frameworks man verwenden will, sodass sie automatisch ins Projekt eingefügt werden. Dazu erhält man jeweils einige Snippets, die beispielsweise bei der Initialisierung der Bibliothek helfen, und einige Beispiele für Aktionen wie Drag and Drop, die sich direkt ins Projekt importieren lassen. Für jedes integrierte Framework erhält man Code Completion sowie eine Inline-Dokumentation.


Multiple Vorschauen

Da Cross-Browser-Kompatibilität in jedem Browser einzeln und dazu noch kontinuierlich überprüft werden muss, bietet Aptana Studio gleich Vorschauen für mehrere Browser an. Auf Windows kann man seine Arbeit beispielsweise im Internet Explorer und Firefox begutachten, auf dem Mac in Firefox und Safari. Weitere Vorschauen mit anderen Browsern wie Opera lassen sich jederzeit hinzufügen. Gleichzeitig ist es möglich, andere Webseiten wie das Online-Handbuch des bevorzugten AJAX-Framework einbinden.


Die Webapplikation wird standardmässig über den integrierten Jetty-Webserver ausgeliefert. Man kann aber auch zu jedem beliebigen anderen Webserver eine Verbindung aufnehmen. Ebenfalls integriert ist der von Aptana entwickelte AJAX-Server Jaxer, der über Aptana Studio komplett kontrolliert werden kann. So ist es auch möglich, auf den Activity Monitor oder die Server-Shell zuzugreifen.



Zum Debugging von JavaScript setzt Aptana Studio primär auf Firefox und die populäre Erweiterung Firebug sowie ein eigenes Add-on. Für den Internet Explorer hält die Professional-Version ebenfalls einen Debugger bereit. Das Debugging erfolgt über eine separate Ansicht, über die sich unter anderem Breakpoints setzen oder Variablen überwachen lassen.
Zur Übertragung respektive Synchronisation seiner Arbeit auf andere Server ist Unterstützung für FTP integriert. Wer FTPS oder SFTP nutzen will, braucht die Professional-Version. Schade ist, dass Unterstützung für Refactoring fehlt. Benennt man eine Datei wie eine JavaScript-Bibliothek um, wird diese Änderung nicht projektweit nachvollzogen. Immerhin wird im References View darauf hingewiesen, dass die referenzierte JavaScript-Bibliothek nicht gefunden werden kann.


Von AIR bis iPhone

Weitere Funktionalität lässt sich mit Hilfe von Plug-ins nachrüsten, die man über das Software-Update laden kann. Sie bieten Unterstützung für die Entwicklung von PHP- und Ruby-on-Rails-Anwendungen (RoR). Zudem helfen sie bei der Verwendung von Adobe AIR und der Vorbereitung von Webanwendungen fürs iPhone.


Die PHP-Umgebung ist noch recht spartanisch und bietet abgesehen der üblichen Editor-Features wie Syntax Highlighting und Code Completion nicht viel. So mangelt es beispielsweise an einem projektweiten Klassenbrowser, Debugging-Werkzeugen, einem Profiler oder einem PHP-Executable, um die Scripts auszuprobieren – kein Vergleich mit den Fähigkeiten des Zend Studio for Eclipse, das in InfoWeek 06/2008 vorgestellt wurde.



Deutlich umfangreicher ist da schon die RoR-Unterstützung namens RadRails, die fast schon ein separates Produkt ist. Sie bietet neben der üblichen Unterstützung beim Editieren von Code unter anderem Assistenten und Generatoren zur Erstellung der Vorbereitung von Rails-Projekten, Unterstützung beim Refactoring, ermöglicht die Nutzung von Mongrel oder Webrick als internen Webserver zu Vorschauzwecken und verfügt oder eine Shell mit Command Hints zur Erzeugung respektive Manipulation von Rails-Projekten. Dazu kommen Debugging- und Profiling-Werkzeuge, letztere sind aber nur in der Pro-Version verfügbar.


Das iPhone-Plug-in bringt vor allem einen Emulator mit, der die Webapplikation nicht nur so darstellt, als würde sie vom iPhone-Browser gerendert, sondern auch eine Bedienung nach dem Vorbild des Originals ermög­licht. So kann man nicht nur ein Gefühl dafür bekommen, wie seine Webanwendung im iPhone zu benutzen ist, sondern auch herausfinden, wie sie beispielsweise mit dem Umschalten zwischen normaler und Breitbildansicht zurechtkommt. Dazu kann man die aktuell bearbeitete Applikation dem iPhone respektive iPod Touch direkt aus der IDE zum Testen zur Verfügung stellen und Kommandos an den iPhone-Browser senden respektive Vorgänge loggen, was beim Debugging hilft.


Mit Hilfe des AIR-Plug-in lassen sich nicht nur AIR-Projekte vorbereiten, sondern man kann sie direkt aus der IDE exportieren und somit ein installationsfähiges Paket erstellen. Die obligate Vorschau im AIR-Look ist selbstverständlich auch dabei.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Was für Schuhe trug der gestiefelte Kater?
GOLD SPONSOREN
SPONSOREN & PARTNER