Frameworks und Bibliotheken zu verwenden hat viele Vorteile. Vor allem spart es aber Zeit, weil viele Funktionen so schon out of the box zur Verfügung stehen und wozu auch für jedes Projekt das Rad neu erfinden. In diesem Blogeintrag will ich alle Bibliotheken und Frameworks vorstellen, die ich für meinen aktuellen Feed Reader rsslounge verwendet habe. Die Liste ist als kleine Empfehlung zu verstehen und soll gleichzeitig einen kleinen Einblick in rsslounge geben.
Zend Framework
Das Zend Framework ist ein objektorientiertes PHP Framework, das auf dem MVC Pattern basiert und viele viele Funktionen bietet. Das Zend Framework ist in diesem Blog ja ohnehin ein Thema und deshalb will ich an dieser Stelle dazu nicht schreiben. Einen ersten Überblick gebe ich hier, wobei natürlich innerhalb des letzten Jahres einiges hinzu gekommen ist.
jQuery
Auch jQuery ist mittlerweile kein Geheimtipp mehr und wie eine Umfrage des Webstandard Blogs zeigt, auch das beliebteste JavaScript Framework. Ich kann das gut verstehen, nachdem ich bisher auf prototype und script.aculo.us gesetzt habe, hat mich jQuery sofort überzeugt.
Alle weiteren JavaScript Bibliotheken basieren auf jQuery. Die Auswahl an Plugins ist schier unendlich und es gibt eine große Zahl an hervorragenden Projekten, die auf jQuery aufsetzen.
jQuery UI
Aufbauend auf jQuery gibt es jQuery UI, eine Bibliothek, die verschiedene Widgets und Funktionen bietet. Neben Widgets deckt jQuery UI das ab, was bei prototype durch script.aculo.us ergänzt wird: Drag n Drop, sortierbare Listen und animierte Effekte. In rsslounge basiert der Slider für die Priorität, das Drag n Drop der Feeds und Kategorien, sowie die Processbar für den ajaxbasierten Update auf dieser Bibliothek.
Impromptu
Es gibt ja eine ganze Reihe guter Lightbox Skripte. Für rsslounge habe ich aber ein LightBox Skript gesucht, das sich besonders gut für Dialoge eignet. Impromptu bietet hier eine einfache Möglichkeit Buttons zu setzen und eigene Funktionen an die verschiedenen Aktionen der Popup-Box zu binden. Lediglich bei der Positionierung der Box, die pauschal auf top:15% gesetzt ist, war ich nicht zufrieden. Allerdings hat man hier vollen Einfluss auf das CSS, so dass auch das kein echtes Problem ist. Eine sehr gute Alternative wäre die ModalBox gewesen. Diese basiert allerdings auf prototype.
Date Picker
Ein hervorragendes Skript für die Auswahl eines Datumbereichs ist der Date Picker von Stefan Petre. Date Picker für die Auswahl eines einzelnen Datums gibt es ja viele, so bietet jQuery UI hier auch ein grundsolides Widget. Aber wenn es darum geht einen Bereich zu wählen, wird die Auswahl plötzlich sehr klein. Der Date Picker hat ein schickes Design und kann sehr genau konfiguriert und mittels CSS gestaltet werden.
jgrowl
jgrowl orientiert sich an dem Benachrichtigungssystem von Growl, welches für Mac OS X verfügbar ist. Es zeigt Benachrichtigungen in einer kleinen Box am Bildschirmrand an. rsslounge nutzt dieses Skript nur recht selten, für Fehlermeldungen und wichtige Informationen ist es aber hervorragend geeignet.
Ajax Upload
Mit Hilfe dieses jQuery Plugins können bei rsslounge OPML Dateien importiert werden. So lässt sich der Dateiupload mit einem Klick auf den entsprechenden Menüpunkt starten, ohne das explizit ein neu Laden der Seite oder das Datei Eingabefeld nötig ist.
Tipsy
Das Plugin Tipsy ermöglicht beliebige ToolTipps zu erstellen. Diese verwende ich für den Eingabedialog von neuen Feeds. Manchmal bleiben die ToolTipps noch hängen, hier muss ich also nochmal genauer testen. Der erste Eindruck ist aber sehr gut und die zusätzlichen Informationen sind für Neulinge dann doch eine gute Hilfe.
SimplePie
Das Herzstück von rsslounge ist die Bibliothek SimplePie. Diese PHP Bibliothek ermöglicht es sehr einfach RSS Feeds zu lesen und zu verarbeiten. Ich habe mich für SimplePie und nicht für Zend_Feed entschlossen, da es um einiges ausgereifter ist, mit keinem Feed Probleme hat und sich bereits in vielen Applikationen bewährt hat. Ein erster Test hat dann auch gleich gezeigt das SimplePie schwer zu toppen ist. rsslounge selbst ist so aufgebaut, dass sich problemlos SimplePie durch eine andere Bibliothek ersetzen lässt (oder eine zweite Bibliothek optional gewählt werden kann), bisher gab es aber keinen Grund dafür. SimplePie besteht lediglich aus einer Datei und einer Hand voll Klassen.
WideImage
Für das Erzeugen der Thumbnails verwende ich die Bibliothek WideImage, welche sich zwar noch in Beta befindet, aber im Test super funktioniert. WideImage basiert auf der GD2 Erweiterung und kapselt alle Funktionen in eine Klasse und erlaubt es komfortabel Bilder zu laden, zu verkleinern oder anderweitig zu verändern. Ein Beispiel wie das dann aussehen kann:
wiImage::load('image.png')->resize(50, 30)->saveToFile('new-image.jpg');
Icons
An der Stelle will ich auch nicht die Icons vergessen. Diese stammen von DryIcons, welche die Sticker Icons unter einer Free Lizenz anbieten, sowie vom Smashing Magazine. Letztere erlauben eine freie Verwendung der Icons (auch für kommerzielle Zwecke, ohne Einschränkungen).
Die Liste ist ganz schön lange, aber bestätigt mich darin laufend gute Skripte zu sammeln. Besonders Funktionalitäten, die sich gut kapseln lassen, oder kompliziert zu entwickeln sind, sind für eigene Projekte eine wahre Bereicherung.










Hinterlasse eine Antwort