Mono und Moonlight: Freie Alternativen zu .NET und Silverlight

image

Das .NET-Framework von Microsoft ist nicht nur Voraussetzung für einige interessante Desktop-Applikationen (z.B. Paint.NET), sondern bildet insbesondere die Grundlage für viele Web-Applikationen. Allerdings gibt es das Framework nur für Windows.

Nun ist es allerdings so, dass .NET eine Imlementierung des CLI-Standards darstellt, und dass es für diesen Standard auch andere Implementierungen gibt – insbesondere das von Novell unterstützte Mono. Mono ist freie Software und läuft auf Linux, Mac OS und Windows (wobei man sich natürlich fragen kann, wie sinnvoll der Einsatz unter Windows ist). Damit werden .NET-Applikationen plattformunabhängig – zumindest wenn diese nicht die neuste .NET-Version voraussetzen, denn das Mono-Framework ist erst bei der Version 2.x angelangt, während Microsoft schon .NET 3.5 ausliefert und .NET 4.0 ankündigt.

image

Zum Mono-Projekt gehört auch die Entwicklungsumgebung MonoDevelop. Somit kann man im Prinzip .NET-Applikationen entwickeln, ohne auf proprietäre Software angewiesen zu sein.

Noch eine weitere Microsoft-Technologie ist als Teil des Mono-Projekts in die Unix-Welt portiert worden: Unter dem Namen Moonlight steht in Form eines Firefox-Plugins eine Implementierung von Silverlight zur Verfügung – auch hier gibt es aber erst die Version 1.0, während Microsoft bereits das deutlich leistungsfähigere Silverlight 2.0 ausliefert.

Aptana Studio: Entwicklungsumgebung für HTML, CSS, JavaScript, PHP, Ruby on Rails, Python und mehr

image

Lassen Sie mich zunächst eines klarstellen: Ich bin kein Entwickler. Ich habe zwar ganz gute HTML- und CSS-Kenntnisse und schreibe zur Not auch einfache PHP-Skripts, aber mein übriges Wissen über Programmierung ist rein theoretischer Natur. Insofern kann ich Aptana Studio nicht bis ins letzte Detail beurteilen – aber das, was ich verstehe, gefällt mir ausserordentlich.

Aptana Studio ist eine Entwicklungsumgebung (Integrated Development Environment IDE), die – abgesehen von Microsoft-Technologien und Java – so ziemlich alle Sprachen unterstützt, welche derzeit angesagt sind, wenn es um Web-Applikationen geht. Das beginnt bei HTML und CSS, geht weiter über JavaScript (wobei zahlreiche populäre AJAX Frameworks wie Scriptaculous, YUI, Prototype, Mootools, jQuery oder ExtJS zum Lieferumfang gehören) und schliesst auch PHP, Ruby on Rails sowie Python ein.

Die Entwicklungsumgebung glänzt mit guter Unterstützung zur Fehlervermeidung und -suche: Bereits beim Schreiben des Codes werden Syntaxfehler moniert, und es gibt einen Debugger, der die Fehlersuche zur Laufzeit ermöglicht. Elegant ist auch die Art und Weise, wie man ein Skript (z.B. PHP) direkt ausführen und erst noch in unterschiedlichen Browsern ausgeben kann – und zwar ohne dass man einen lokalen Webserver installieren müsste.

Aptana Studio basiert auf Eclipse und kann entweder als Eclipse-Plugin oder als eigenständige Applikation für Windows, Mac OS oder Linux installiert werden. Die Community Edition ist kostenlos und kann wahlweise unter der GNU General Public Licence oder unter der Aptana Public Licence genutzt werden. Interessant ist übrigens das Businessmodell von Aptana: Während die IDE kostenlos zur Verfügung gestellt wird (sofern man nicht die Pro-Version wählt) ist die Nutzung der Server in der Aptana Cloud kostenpflichtig. Und weil das Deployment mit Aptana Cloud so elegant in Aptana Studio integriert ist, wird sich wahrscheinlich manch ein Entwickler entschliessen, seine Test- und Live-Umgebungen bei Aptana zu betreiben.

tyClipse: TYPO3-Entwicklungsumgebung auf Basis von Eclipse

image

Das Projekt tyClipse hat zum Ziel, eine umfassende, betriebssystem-unabhängige Entwicklungsumgebung mit Open-Source-Lizenz für TYPO3 zu schaffen. Dabei sollen die Konzepte von SweeTS (vgl. TypoScript editieren mit SweeTS) auf die Eclipse-Plattform portiert werden. Da es für Eclipse auch ein PHP Development Tool gibt, könnten TYPO3-Entwickler damit sowohl TypoScript- als auch PHP-Code auf einer einzigen Plattform schreiben.

Im Moment ist tyClipse erst ein Projekt im frühen Planungsstadium. Die Idee, ein Entwicklungs-Tool für TYPO3 auf der bestens eingeführten Eclipse-Plattform zu schaffen erscheint aber auf jeden Fall vielversprechend. tyClipse sucht derzeit noch Entwickler und Sponsoren – hoffen wir, dass schon bald erste Alpha-Versionen für die TYPO3-Community zur Verfügung stehen.

TypoScript editieren mit SweeTS

image

Vor ziemlich genau einem Jahr hatte ich mich auf die Suche gemacht nach Tools, welche das Editieren von TypoScript-Code komfortabler gestalten als im TYPO3-Backend. Die Mindestanforderung war damals, dass der gesuchte Editor ein Syntax-Highlighting für TypoScript bieten musste. Damals war ich auch auf SweeTS (eine Sammlung von Konfigurationsdateien für den kostenlosen Editor PSPad) gestossen.

image Nach einem Jahr Praxis kann ich sagen: SweeTS ist für mich persönlich das Tool der Wahl, wenn es darum geht, mehr als nur ein, zwei Zeilen Code zu bearbeiten. Der Umstand, dass die TypoScript-Templates nicht in der TYPO3-Datenbank, sondern im Filesystem (fileadmin) liegen müssen, damit der Editor per FTP darauf zugreifen kann, empfinde ich inzwischen als Vorteil, weil so der gesamte Code an einem einzigen Ort liegt und sehr schnell zugänglich ist.

In der täglichen Arbeit schätze ich insbesondere folgende Funktionen von SweeTS:

Das (konfigurierbare) Syntax-Highlighting. Es ist nicht perfekt, aber nur schon Kommentare und Code visuell gut unterscheiden zu können ist viel wert. Und obwohl das Highlighting gelegentlich überraschende Formatierungen wählt, so ist es bei der Vermeidung von Tippfehlern dennoch eine grosse Hilfe.

image Die Markierung von Klammerpaaren. Nichts ist ärgerlicher als ein Fehler wegen einer vergessenen oder überflüssigen Klammer. SweeTS markiert automatisch das Gegenstück, sobald der Cursor auf einer Klammer steht, so dass man leicht überprüfen kann, ob die Klammersetzung korrekt ist.

image Die Autocomplete-Funktion. Beginnt man eine Wort zu tippen und drückt CTRL+J, so öffnet sich ein Popup mit allen passenden Schlüsselwörtern. Das beschleunigt das Tippen, überbrückt allfällige Gedächtnislücken und reduziert Tippfehler. Das Dropdown kennt auch CSS-Classen, die man schon einmal im Code benutzt hat – selbst definierte Elemente (z.B. temp.*) dagegen tauchen in der Liste nicht auf.

image Das Clip-Konzept. Per Tastenbefehl wird ein Popup mit Code-Snippets, sogenannten Clips, aufgerufen, die dann per Mausklick oder Tastendruck in den Code einkopiert werden können. Ähnlich schnell lassen sich Code-Bestandteile als Clip speichern (sie werden dabei in eine *.DEF-Datei im Verzeichnis Context geschrieben). Bei häufig wiederkehrenden Code-Blöcken reduziert dies die Tipparbeit dramatisch. Für meine Begriffe eher verzichtbar sind die sogenannten Interactive Clips oder Dialogue Macros, welche zunächst in einem Dialogfenster die Parameterwerte abfragen.

image Der Code-Explorer – mit Einschränkungen. Bei einer “richtigen” Entwicklungsumgebung für eine “richtige” Programmiersprache bietet ein Code-Explorer einen raschen, strukturierten Zugriff auf alle Identifikatoren, welche der Programmierer irgendwo in seinem Code definiert hat: Variablen, Konstanten, Funktionen, Klassen und was der Konstrukte einer Programmiersprache mehr sind. Bei SweeTS listet der Code-Explorer primär Elemente des TypoScript-Objektbaums – aber eben nur alphabetisch und nicht etwa strukturiert wie im TypoScript Object Browser des TYPO3-Backends.

Die kontext-sensitive Online-Hilfe. SweeTS bringt auch die offizielle TypoScript-Dokumentation mit und integriert sie in die Hilfe-Funktion von PSPad. Markiert man ein Word im Quellcode und drückt ALT+F1, so kann dieses Wort per Tastendruck in der Dokumentation gesucht werden.

SweeTS liegt seit einigen Tagen in der Version 1.15 vor und ist kompatibel zur neusten PSPad-Version 4.5.3. Ausserdem haben die Entwickler angekündigt, SweeTS auch auf gEdit unter Linux zu portieren.

NetBeans 6 unterstützt neu Ruby on Rails

Die freie Entwicklungsumgebung NetBeans IDE wird in der kommenden Version 6 auch Ruby on Rails unterstützen. Das ist eine frohe Botschaft für die Ruby- bzw. Rails-Gemeinde, war doch das Angebot an guten Entwicklungswerkzeugen für das Rails-Framework bisher eher bescheiden:

Insofern ist die Ankündigung der NetBeans-Entwickler wirklich ein Lichtblick. NetBeans ist nicht nur eine sehr potente Entwicklungsumgebung mit einer starken Community (die von Sun gesponsort wird), sondern ist auch für alle wichtigen Plattformen verfügbar (Windows, Mac OS X, Linux, Solaris) und unterstützt nebst Ruby auch C, C++, Fortran und natürlich Java (weitere Informationen zu NetBeans).

Wie gut Ruby on Rails von NetBeans unterstützt wird, lässt sich bereits aufgrund dieser beiden Videos erahnen: The Basics und Advanced Editing Features. NetBeans IDE 6.0 Milestone 7 kann hier heruntergeladen werden, die Ruby-Module können über das Update-Center (Menü “Tools”) nachgeladen werden.