Fragliche Skalierbarkeit
Es gibt nur wenige Erfahrungen und Berichte über die Skalierbarkeit von größeren Python-Anwendungen, so dass man hier keine zuverlässige Aussage treffen kann. Die Verwendung von Python für durchaus größere Websites wie Youtube mag allerdings ein Indiz sein, dass sich Python-Anwendungen durchaus skalieren lassen. Anders sieht es mit dem Monitoring aus, wo man Konzepte wie JMX vermisst.
Bei der Tool-Unterstützung liegt Python mit PHP etwa gleichauf. Die gängigen Java-IDEs verfügen zum Beispiel über Python-Plug-ins. Anfang dieses Jahres wurde sogar eine Unterstützung für Microsofts Visual Studio angekündigt.
Fazit: Python ist eine moderne, leicht lesbare, objektorientierte Skriptsprache. Sie vereint die einfache Erlernbarkeit von PHP mit vielen Vorzügen von Java. Es ist jedoch nicht so leicht, passende Entwickler für ein Python-Projekt zu finen, was den Einsatz der Sprache im Vergleich zu Java und PHP erschwert.
- 1. Adobe Spry
Spry ist ein leistungsfähiges Ajax-Framework, das die Entwicklung moderner Web 2.0-Anwendungen beschleunigt und vereinfacht. Selbst Designer mit geringen Javascript-Kenntnissen können damit dynamische und interaktive Seiten erstellen. - 2. Dojo Toolkit
Mit Dojo lassen sich Desktop-typische Funktionen wie Drag & Drop und Kontextmenüs leicht in Web-Anwendungen implementieren. Das Framework überzeugt auch durch seine hohe Performance und Cross-Browser-Kompatibilität. - 3. JQquery UI
JQuery UI liefert ein flexibles und ausgereiftes Framework, das sich in der Praxis bewährt hat. Durch Konzepte wie Modularisierung und Wiederverwendbarkeit macht es die Entwicklung komplexer Web-Frontends deutlich effizienter. - 4. YUI Library
YUI dient als solides Fundament für anspruchsvolle Web 2.0-Clients. Bei der Frage nach dem richtigen Javascript-Framework für eigene Projekte sollte es unbedingt in Betracht gezogen werden. - 5. Glow
Neben den Standardfunktionen, die bei keinem Javascript-Framework fehlen dürften, bietet Glow tolle UI-Widgets, eine exzellente Dokumentation, die den Einstieg erleichtert, sowie professionelle Performance. - 6. Prototype
Bei komplexeren Web-Anwendungen ermöglicht Prototype Entwicklern, die bewährten Konzepte der Objekt-Orientierung auch auf der Client-Seite anzuwenden. Dass namhafte Unternehmen wie Apple und Twitter das Framework einsetzen, spricht für die hohe Robustheit und Leistungsfähigkeit der Lösung. - 7. Scriptaculous
Scriptaculous überzeugt durch ein umfangreiches Feature-Set, die einfache Handhabung, sowie eine ausgezeichnete Online-Dokumentation mit vielen Code-Beispielen, die den Einstieg erleichtern. - 8. MooTools
MooTools gehört zu den wichtigsten Frameworks für fortgeschrittene JavaScript-Entwickler. Dass es vom Unternehmen wie Chrysler, Ferrari, MTV Deutschland oder die Commerzbank eingesetzt wird, zeigt, dass es sich hier nicht um irgendwelches Framework handelt, sondern um eine ausgereifte und professionelle Lösung. - 9. JavaScript MVC
JavaScriptMVC bringt Software-Engineering-Konzepte und -Tools der Enterprise-Klasse in die Welt der JavaScript-Programmierung. Das Framework eignet sich in erster Linie für mittelgroße und große Web-Projekte, bei denen Modularität und Wiederverwendbarkeit groß geschrieben werden. - 10. Cufon
Typographie stellt ein zentrales Gestaltungselement im Web-Design dar. Dank Cufón müssen Designer keine Kompromisse mehr eingehen und können jede noch so exotische Font in ihren Web-Projekten verwenden, ohne dabei auf Flash oder externe Bildressourcen zurückgreifen zu müssen.
Ruby
Die Skriptsprache Ruby (Rubin) ist ungefähr genauso alt wie Java und stammt von dem japanischen Entwickler Yukihiro Matsumoto. Genauso wie bei Java war Auslöser der Neuentwicklung die Unzufriedenheit mit traditionellen Sprachen. Ruby ist quelloffen, plattformunabhängig und vollständig objektorientiert. Im Gegensatz zu Java gibt es also keine primitiven Datentypen und die damit verbundenen, notwendigen Wrapper-Klassen und häufig notwendigen Typwandlungen.
Die Erweiterbarkeit und Flexibilität von Ruby-Anwendungen ist exzellent. Es gibt inzwischen viele Bibliotheken, deren bedeutendste das Web-Application-Framework "Ruby on Rails" ist. Die Ruby-Implementierung JRuby basiert auf der Java-Laufzeitumgebung und verbindet die neue Skriptwelt mit der Enterprise-Architektur von Java-Anwendungen.
Nicht die Schnellste
Die Typisierung der Skriptsprache Ruby kann nicht so wie in Java auf Compiler-Prüfung ausgelegt sein, sondern funktioniert dynamisch, wobei Variablen nicht deklariert werden müssen. Was die einen als bestechenden Vorteil empfinden, kann sich bei Laufzeitfehlern als mangelnde Robustheit äußern. Es gibt Untersuchungen, die zeigen, dass Ruby die langsamste Sprache dieses Vergleichs ist. Wie bei Python bereits erwähnt, muss sich das bei einer Web-Anwendung nicht unbedingt so stark auswirken. Tatsache ist jedoch, dass sich die genannten Konzepte wie Interpreter und dynamische Typisierung im Laufzeitverhalten niederschlagen.
Kritisches in Java auslagern
Was die Skalierbarkeit von Ruby-Anwendungen angeht, gibt es keine guten Vergleiche und vor allem wenig Anwenderberichte. Es ist aber möglich, der Frage aus dem Weg zu gehen, indem man JRuby einsetzt und damit die Möglichkeit hat, den kritischen Teil des Codes in Java auszulagern. Monitoring ist wie bei den anderen Skriptsprachen zwar möglich, aber ein mit Java vergleichbares Konzept sucht man bisher vergeblich.
Als moderne Programmiersprache stehen die Lesbarkeit des Programms und die konsequente Objektorientierung im Vordergrund. Die Modularisierung und Kapselung (fünf Gültigkeitsbereiche) machen es einfach, wartungsfreundliche Programme zu schreiben.
Die Tool-Unterstützung ist im Allgemeinen nicht so gut ausgeprägt wie bei den anderen Techniken dieses Vergleichs. Dabei hat Ruby von Java-Entwicklungsumgebungen Unterstützung erhalten: Sowohl Netbeans und Eclipse als auch die interessante Eclipse-Web-Entwicklungsumgebung Aptana unterstützen inzwischen Ruby. Als Edelstein unter den Skriptsprachen konzipiert, ist Ruby hierzulande eher ein Exot. Mit Skala und anderen Sprachen, die auf der Java-Laufzeitumgebung basieren, erhält Ruby zudem Konkurrenz. Es bleibt also abzuwarten, ob sich Ruby mehr als eine Nische erobern kann.