Dragonfly: Firebug für Opera

image

Es gibt viele Gründe, den Firefox-Browser zu benutzen. Ein ganz wichtiger Grund ist aber mit Sicherheit die Firebug-Extension, mit der man HTML, CSS und JavaScript einer Webseite hervorragend analysieren kann. Dieses Tool hilft wie kein zweites, den Code zu verstehen und allfällige Fehler zu eliminieren.

Ein ähnliches Tool gibt es inzwischen auch für den Opera-Browser: Es heisst Dragonfly und ist ab Opera 9.5 im Lieferumfang enthalten. Dragonfly muss im Menü “Extras > Weiteres > Entwicklerwerzeuge” aktiviert werden und wird wahlweise in der unteren Hälfte des Browsers oder als separates Fenster ausgeführt.

Nun ist der Opera-Browser zwar kostenlos, aber nicht Open Source Software und hat eigentlich in diesem Blog nichts verloren. Dragonfly hingegen unterliegt der BSD-Lizenz und kann somit frei genutzt werden. Momentan befindet es sich allerdings noch im Alpha-Stadium. Interessant ist übrigens der Ansatz, dass sich Dragonfly automatisch aktualisiert, sobald eine neue Version vorliegt – Opera nennt dies vollmundig “hybrid application”.

Google Doctype: Die Wikipedia für Web-Entwickler?

Unter dem Namen Google Doctype hat Google kürzlich ein Wiki aufgeschaltet, das sich am besten als Dokumentation für Web-Entwickler beschreiben lässt. Sowohl die Artikel als auch die Code-Beispiele unterliegen einer sehr liberalen Lizenz – einfach gesagt reicht es aus, Google Doctype als Quelle zu nennen, ansonsten können sämtliche Inhalte des Wikis kopiert und modifiziert werden (Details zur Lizenzierung).

Google Doctype ist – wie Mark Pilgrim im obigen Video freimütig zugibt – höchst unvollständig. Dies betrifft sowohl die Themenauswahl als auch die Detaillierung der einzelnen Themen. Gerade wer SELFHTML kennt wird vielleicht etwas enttäuscht sein. Doch was nicht ist, kann noch werden, denn jedermann kann Inhalte von Google Doctype ergänzen und verbessern; die einzige Voraussetzung ist ein Google Account.

Wenn ich das Interview richtig deute, dann ist es nicht so, dass Google mit Doctype eine grosse strategische Offensive lanciert hat, sondern ganz einfach ein internes Dokumentations-Tool freigegeben hat. Dadurch können andere Web-Entwickler vom Erfahrungsschatz der Google-Entwickler profitieren (insbesondere im Bereich der Cross-Browser-Kompatibilität), auf der anderen Seite erhofft sich Google aber auch Input von der Community.

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.

KDiff3, die Alternative zu WinMerge für Linux und Mac OS X

kdiff3.jpg

Natürlich gibt es auch für Linux und Mac OS X Open Source Tools, welche die Aufgabe von WinMerge (vgl. Open Source Essentials: WinMerge) erledigen. Unbedingt anschauen sollte man KDiff3 von Joachim Eibl, das nicht nur zwei, sondern bis zu drei Files vergleichen und zusammenführen kann und auch aus anderen Gründen eine prüfenswerte Alternative zur Compare-Funktion in Apples Xcode darstellt.
KDiff3 läuft unter Linux (mit KDE3), jedem anderen Unix-Betriebssystem (soweit es die Qt-Library von Trolltech unterstützt), Apple Mac OS X (Universal Binary für PowerPC und Intel verfügbar) und Windows. Es untersteht der GNU General Public Licence (GPL).

Open Source Essentials: WinMerge

Nicht nur als Programmierer kann man in die Situation kommen, dass man herausfinden muss, ob zwei Textdateien identisch sind und wo die Unterschiede liegen. Für Programmierer allerdings ist eine Software wie WinMerge schlicht unverzichtbar. Sie erlaubt es, zwei Versionen eines Programmcodes Seite an Seite zu vergleichen, die Unterschiede farbig hervorzuheben und fallweise die eine Version in die andere zu übernehmen. Nur dank solchen Programmen ist überhaupt verteilte Software-Entwicklung möglich, bei der mehrere Personen am gleichen Code arbeiten und ihre Änderungen anschliessend zusammenführen (“mergen”).

WinMerge wird regelmässig weiterentwickelt und ist gerade in der Version 2.6.6 erschienen. Die saubere Benutzeroberfläche erschliesst sich intuitiv und ist zudem in vielen Details konfigurierbar. Als Betriebssystem – der Name sagt es bereits – wird ausschliesslich Windows unterstützt. WinMerge untersteht der GNU General Public Licence.

OpenWebsuite.org: Freigabe von HTML-Editor entfacht Grundsatzdebatte

Die gestrige Meldung auf Heise “Webdesign-Suite unter GNU-Lizenz” hat eine heftige Debatte über HTML-Editoren und über Open Source Software ausgelöst. Worum geht es?

In der OpenWebsuite.org hat der Entwickler Christian Diekmann zwei schon länger existierende Tools zusammengefasst und unter die GNU General Public Licence (GPL) gestellt: den HTML-Editor (X)HTML-Format und das Analyseprogramm WebAnalyse. (X)HTML-Format ist kein WYSIWYG-Editor, sondern rein textbasiert und eignet sich deshalb nur für Webentwickler, welche von Hand HTML-Code schreiben wollen und dazu Syntax-Highlighting, Code-Bausteine und Assistenten (z.B. für Tabellen) benötigen. WebAnalyse überprüft die Gültigkeit von Links und hilft bei der Suchmaschinen-Optimierung. Optisch kommen die beiden Tools nicht besonders attraktiv daher, sie erfüllen aber ihren Zweck und laufen auf jedem Betriebssystem, für das es ein Java Runtime Environment gibt.

Das Echo auf die Freigabe von OpenWebsuite.org war gelinde gesagt durchzogen, wenn man die Kommentare auf heise.de als Massstab nimmt. Rasch war die Diskussion um den besten Quellcode-Editor lanciert, und bei diesem Vergleich schneidet (X)HTML-Format nicht besonders gut ab, weder was den Funktionsumfang noch was die Benutzeroberfläche betrifft. Die Kritik zielte allerdings nicht nur auf die Software, sondern auch auf den Entwickler (“Und wieder ein Ladenhüter als OSS entsorgt…”) und auf Heise (“Hauptsache Open – damit schafft es auch die letzte Schrott-Software in den Heise-Newsticker”).

Das Beispiel macht deutlich, dass auch bei Open Source Software die Ansprüche der Anwender steigen. Es stellt sich die Frage, ob diese Anspruchshaltung sinnvoll und gerechtigfertigt ist: Fördert sie die Qualität von Open Source Software – oder ist sie nur der Ausdruck einer Konsumhaltung, die selbst einem geschenkten Gaul ins Maul schaut? Christian Diekmann wird sich jedenfalls verwundert die Augen gerieben haben, als er statt Lob und Dankbarkeit vor allem Kritik erntete. Allerdings hat er sich dieser Kritik gestellt, und dies wiederum zeigt eine grosse Stärke der Open-Source-Bewegung: die offene Diskussion, die im besten Fall zu besserer Software führt.

Ruby on Rails: Version 1.2 veröffentlicht

Das Open Source Web Framework Ruby on Rails steht neu in der Version 1.2 zur Verfügung. Die Verbesserungen betreffen primär REST-Architekturen, MIME Types, HTTP Status Codes und Unicode-Zeichensätze. Oder wie es in der Ankündigung im offiziellen RoR-Weblog Riding Rails etwas blumig heisst:

“We got the RESTful flavor with new encouragement for resource-oriented architectures. We’re taking mime types, HTTP status codes, and multiple representations of the same resource serious. And of course there’s the international pizzazz of multibyte-safe UTF-8 wrangling.

That’s just some of the headliner features. On top of that, there’s an absolutely staggering amount of polish being dished out. The CHANGELOG for Action Pack alone contains some two hundred entries. Active Record has another 170-something on top of that.”

An gleicher Stelle wird auch klargestellt, dass der Sprung von 1.1 auf 1.2 ein “massive upgrade” darstellt, weil zentrale Teile des Frameworks neu geschrieben wurden. Die Version 1.2 soll zwar rückwärtskompatibel sein, trotzdem werden Entwickler ermahnt, ihre Applikationen nach dem Upgrade gründlich zu testen.

Was ist eigentlich Ruby on Rails?

Ruby on Rails (oder kurz: Rails) ist ein Framework für die Programmiersprache Ruby – vergleichbar mit PEAR für PHP. Während es Ruby schon seit Mitte der 90er Jahre gibt (und insbesondere in Japan verbreitet ist), ist das Rails-Framework noch jung: Es wurde Mitte 2004 erstmals der Öffentlichkeit vorgestellt. Spätestens nach dem Google/O’Reilly Open Source Award 2005 und dem Artikel im Wired Magazine (“The Hottest Hacker on Earth”) wurde Ruby on Rails rasch populär. Es hat den Ruf, die Entwicklung von Web-Applikationen besonders einfach und elegant zu machen.

Die zentrale Person hinter Ruby on Rails ist der Däne David Heinemeier Hansson, einer der Partner von 37signals. Er ist der Entwickler der populären Web-2.0-Applikationen Basecamp, Backpack und Ta-da List. Heinemeier Hanson ist beispielsweise in diesem Promotion-Video zu sehen, das Apple über 37signals produziert hat:

Ruby on Rails ist für die Entwicklung von datenbank-basierten Web-Applikationen konzipiert und erleichtert Benutzeroberflächen mit AJAX. Um es zu nutzen benötigt man einen Webserver (Apache, lighttpd, Mongrel) und eine Datenbank (MySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2, Firebird). Rails läuft grundsätzlich auf allen Betriebssystemen, ist aber primär in der Unix/Linux-Welt zuhause und wurde ursprünglich auf Mac OS X entwickelt.

Ruby on Rails besteht im Prinzip aus drei Komponenten: Der Sprache Ruby, dem Paket-Manager RubyGems und dem Rails-Framework. Wer möglichst rasch zu einer Testumgebung für Ruby on Rails kommen will, greift zu Locomotive (für Mac OS X) bzw. Instant Rails (für Windows), welche Webserver, Datenbank, Ruby und das Rails-Framework in einem einfach installierbaren Package bereitstellen. Als Entwicklungswerkzeug werden der kommerzielle TextMate (für Mac OS X) oder RadRails für Eclipse empfohlen.

PHP PEAR als Open Book

Das Buch “PHP PEAR: Anwendung und Entwicklung” von Carsten Möhrke gibt es nicht nur in einer gedruckten und gebundenen Ausgabe, sondern auch als frei zugängliches Open Book im HTML-Format. Darin wird die PHP-Klassenbibliothek PEAR im Detail erklärt und gezeigt, wie man durch deren Einsatz die Entwicklung von Web-Applikationen massiv verkürzen kann.

Happy Birthday Eclipse

Vor genau 5 Jahren hat IBM den Quellcode der Entwicklungsplattform Eclipse veröffentlicht und damit den Grundstein zu einem der grössten Open-Source-Projekte gelegt. Dank seinem modularen Konzept dient Eclipse nicht nur als Java-Entwicklungstool, sondern unterstützt mit entsprechenden Plug-Ins auch C, C++, Perl, Python, Cobol, HTML, CSS, JavaScript, PHP und J2EE.

Mehr zum Thema:

Syntax Highlighting für TypoScript

Die Konfigurationssprache TypoScript ist zentral für das Open Source CMS TYPO3 – aber das Schreiben von TypoScript im TYPO3-Backend ist mühsam und fehlerträchtig, weil all das fehlt, was man von einer modernen Entwicklungsumgebung her kennt.

TYPO3-Administratoren behelfen sich in der Regel damit, dass sie umfangreicheren TypoScript-Code in einen Editor kopieren, bearbeiten und anschliessend wieder in das TYPO3-Backend zurückkopieren. Solche Editoren bieten in der Regel auch ein Syntax Highlighting für die wichtigsten Programmiersprachen an – TypoScript kennen sie aber in der Regel nicht.

Abhilfe schaffen selbst definierte Highlighting-Schemata. TypoScript-Schemata gibt es beispielsweise

Etwas eleganter geht es wie in der Anleitung von Christoph Runkel beschrieben: Mit Firefox, der Extension mozex und einem der oben genannten Editoren kann der TypoScript-Code aus dem TYPO3-Backend zum Editor geschickt werden.

Noch einen Schritt weiter geht SweeTS, das eine eigentliche Entwicklungsumgebung für TypoScript in Form eines Add-ons für den Freeware-Editor PSPad darstellt (vgl. auch diese Anleitung).

css.php