Brackets: Open Source Web-Editor von Adobe

Brackets Web-Editor (Screenshot)

Es mag erstaunen, dass ausgerechnet Adobe – Hersteller von Dreamweaver, dem unangefochtenen Standard bei den kommerziellen Web-Editoren – einen frei verfügbaren Web-Editor mit MIT-Lizenz herausbringt. Und doch ist Brackets eines der von Adobe unterstützten Open-Source-Projekte. Ebenfalls überraschend ist der Umstand, dass Brackets nicht in einer der für Desktop-Applikationen typischen Programmiersprache entwickelt wird, sondern mit den Web-Technologien HTML, CSS und JavaScript. Dadurch ist die Software vergleichsweise einfach erweiterbar.

Brackets zeichnet sich insbesondere durch folgende Eigenschaften aus:

  • Die Applikation ist schlank und effizient. (Dafür ist sie keine vollwertige Entwicklungsumgebung, sondern ein reiner Code Editor.)
  • CSS- und JavaScript-Code wird im HTML-Code inline dargestellt und editiert. Dies bedeutet, dass man nicht ständig zwischen verschiedenen Files wechseln muss.
  • Jede Änderung am Code wird sofort in einem parallel geöffneten Browser sichtbar – und zwar ohne die übliche Save & Reload-Prozedur. 

Wie sich der Editor in der Praxis anfühlt, kann man als Normalanwender allerdings nicht ohne weiteres ausprobieren: Nebst der eigentlichen Applikation (Brackets) benötigt man auch eine Shell für das jeweilige Betriebssystem (Brackets App). Ausserdem ist die Software noch nicht wirklich fertig:

“Brackets isn’t ready for general use yet. It’s still very early in development, is missing a lot of basic editor features, and probably has bugs.”

Das nachstehende Video zeigt allerdings schon recht genau, wie Brackets daherkommen wird und welches seiner herausragenden Eigenschaften sein werden:

Wer es etwas genauer wissen möchte, dem sei die Präsentation von Adam Lehmam bei Adobe empfohlen:

Bespin: Mozilla Labs lanciert einen browser-basierten Code Editor

image

Wie wäre es, wenn man Web-Applikationen ausschliesslich im Web-Browser entwickeln könnte? Dieser Frage sind einige Entwickler bei Mozilla Labs nachgegangen, und herausgekommen ist Bespin, der browser-basierte Code Editor.

Wie der obige Screenshot erahnen lässt ist dieser Editor derzeit nicht zu vergleichen mit einer voll ausgestatteten Entwicklungsumgebung. Bespin trägt auch erst die Versionsnummer 0.1 und wird offiziell als "early experimental prototype" bezeichnet. Im Sinne eines Proof of Concept zeigt er aber eindrücklich, wie performant ein in JavaScript realisierter Editor sein kann. Wer sich selbst davon überzeugen will, kann Bespin ab sofort nutzen. In einer der nächsten Versionen wird dann hoffentlich auch die Möglichkeit implementiert sein, dass man gemeinsam am gleichen Dokument arbeitet – der Collaboration Sidebar im obigen Screenshot ist im Moment nämlich nur eine Attrappe.

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.

Gobby: Gemeinsam Textdateien bearbeiten

image

Es gibt ganz unterschiedliche Lösungen, wenn mehrere, räumlich getrennte Personen gemeinsam einen Text bearbeiten wollen.

Da wäre beispielsweise der Überarbeitungsmodus von Textverarbeitungen zu nennen, der jede Änderung in einem Dokument protokolliert. Auf diese Weise lassen sich die Beiträge der einzelnen Autoren auseinanderhalten, akzeptieren oder verwerfen und (falls mehrere Versionen eines Dokuments existieren) zusammenführen. Dieses Prinzip eignet sich insbesondere dann, wenn es nicht nur um rohen Text, sondern um formatierte Dokumente geht und wenn die Autoren bei der Arbeit nicht immer online sein wollen. Zumindest diejenige Person, welche das Dokument am Schluss bereinigt, muss allerdings fortgeschrittene Anwenderkenntnisse besitzen.

Ein anderer Ansatz sind Wikis, welche ebenfalls jede Änderung festhalten. Im Unterschied zu Textverarbeitungen braucht es allerdings niemanden, der am Schluss den Text redigiert: Es gilt ganz einfach immer die letzte Version, und das Änderungsprotokoll dient lediglich dazu, alle Änderungen inkl. ihre Urheber anzuzeigen und im schlimmsten Fall rückgängig zu machen. Wikis sind Server-Applikationen, somit ist die aktuellste Version des Texts immer für alle Autoren verfügbar; dafür muss man immer online sein, und nicht alle Wikis bieten den Komfort von WYSIWYG-Editoren.

Ein drittes Konzept sind Programme, welche das kollaborative Schreiben in Echtzeit über LAN- oder Internet-Verbindungen erlauben. Nebst den kommerziellen Vertretern dieser Gattung wie MoonEdit oder SubEthaEdit gibt es auch eine entsprechende Open Source Software: Gobby. Hauptanwendungsgebiet solcher Texteditoren ist die gemeinsame Arbeit an Programmcode, aber natürlich kann man damit auch normale Texte schreiben – einfach ohne Formatierung.

Das Prinzip ist rasch erklärt (vgl. Screenshot): Nehmen wir an, ich arbeite an einem PHP-Skript und brauche dabei Unterstützung. Ich starte Gobby und eröffne eine Sitzung, wobei ich ein Passwort vergeben kann, falls ich den Zugang für andere Personen beschränken will. Nun fungiert mein Rechner als Host, und andere Personen können an der Sitzung teilnehmen.

Ich öffne die PHP-Datei, die ich bearbeiten möchte, und lade (z.B. über E-Mail oder Telefon) Max Muster ein, wobei dieser nur die IP-Adresse meines Rechners und allenfalls das Passwort wissen muss. Max startet ebenfalls Gobby, wählt die Funktion “Sitzung beitreten” und kann dann ebenfalls auf die PHP-Datei zugreifen. Wir können nun gleichzeitig Änderungen vornehmen, wobei über Farbmarkierung jederzeit klar ist, wer was eingegeben hat. Sofern man nicht sowieso per Telefon oder Chat in Verbindung steht, bietet Gobby eine integrierte Chat-Applikation, über die man miteinander diskutieren kann.

Wie gesagt: Das Prinzip ist rasch erklärt, und es ist bestechend. In der Praxis gibt es allerdings noch die eine oder andere Hürde zu meistern. So ist Gobby spürbar eine Linux-Applikation – unter Windows muss man GTK+ installieren, für den Mac muss man auf MacPorts zurückgreifen. In der Anwendung sind insbesondere die Angabe der korrekten IP und die Freischaltung der von Gobby benutzten Ports in der Firewall kritische Punkte. Wenn die Verbindung aber einmal steht, ist die Zusammenarbeit sehr einfach und ausgesprochen effizient.

(via T3N)

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.

Origo: Macht die ETH Zürich Sourceforge Konkurrenz?

image

Als Forschungsprojekt des Lehrstuhls für Software Engineering an der ETH Zürich ist dieser Tage die Software Development Platform Origo online gegangen. Origo selbst ist Open Source Software, die gehosteten Software-Projekte können aber sowohl Open Source als auch Closed Source sein. Zum Funktionsumfang der Plattform gehören klassische Komponenten wie Issue Tracker, Forum oder File Repository. Hervorzuheben sind die Plug-Ins, dank denen man aus einer Entwicklungsumgebung (z.B. Eclipse) heraus direkt auf Origo zugreifen kann.

Ob Origo allerdings wirklich eine Konkurrenz zu Sourceforge werden kann und will, wie das bei heise.de zu lesen ist, wird sich wohl noch zeigen müssen. Die Macher von Origo waren jedenfalls ziemlich überrascht von der Resonanz, die ihr Projekt erfahren hat, und was man derzeit auf der Plattform findet sind vor allem Demo-Projekte.

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.

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.

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:

css.php