sugar.js ist eine kleine Library die den Sprachkern von JavaScript um viele nützliche Funktionen erweitert. Im Gegensatz zu jQuery und prototype ist es kein neues Konzept, Framework, nichts mit Animationen, DOM-Manipulation oder AJAX.
Die Library sugar.js setzt auf den 5 Grundlegenden Elementen des Sprachkerns (Array, String, Number, Date, Object, Function, RegExp) von JavaScript auf und hat sie einfach ein bisschen weiter gedacht. Jeder der jetzt denkt "Den Sprachkern erweitern? Das macht man doch nicht! >:(", sollte sich mal ein paar Minuten zeit nehmen und sich diesen Artikel durchlesen.
Die Seite von sugar.js bietet eine sehr gute und ausführliche Dokumentationen der Features, eine selbsterklärende API und darüber hinaus einen Builder, welcher es jedem erlaubt sich nur die benötigten Komponenten in eine eigene Version zu generieren. So wird unnötigen Overhead verhindert.
Die Library bietet z.B. union, add und indexOf für Arrays, Runden, mit Nullen auffüllen für Zahlen und noch viel, viel mehr.
Hier nur mal 2 kleine Beispiel, anhand dessen man schon den den Umfang und Handlichkeit von sugar.js erahnen kann.
Wenn man z.B. das Datum des nächsten Tages als Date-Objekt erzeugen möchte ist das über folgende Funktion sehr einfach möglich:
Date.create('tomorrow');
Sehr schön ist auch die relative Ausgabe eines Datums, was man z.B. aus Sozialen Netzwerken kennt: "vor 2 Stunden". Dank einer dynamisch Lokalisierung steht einer Benutzung eigentlich nichts im weg.
// "vor 9 Stunden"
Date.create('580 minutes ago').relative('de');
Die Library steht ebenfalls als node.js Modul zur verfügung was die Datums-Validierung und z.B. die escapeHTML Funktionen nochmal in einen ganz anderen Licht erscheinen lässt. Ich kann aus persönlicher Erfahrung sagen das sich sugar.js im praktischem Einsatz bewährt und ist auf jeden Fall eine Empfehlung wert.