Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

Entwicklung & Design

Erweitere dein JavaScript um Datenbank-Funktionen: TaffyDB macht’s möglich

TaffyDB: Zuckersüß und kinderleicht. #Flickr#

TaffyDB ist eine Open-Source-JavaScript-Bibliothek, die clientseitige Datenbank-Features in eure Web-App bringt. In diesem Artikel lest ihr, wofür das gut ist – und wie ihr diese Datenbank einsetzen könnt.

Die Idee hinter TaffyDB ist, dass gewisse Literale in JavaScript einen ähnlichen Aufbau wie klassische Datensätze haben – und mehrere davon eben in einer Datenbank resultieren. TaffyDB verwaltet eure Daten im JSON-Format, so könnt ihr eure Datenbank über einen JSON-String beziehungsweise eine JSON-Datei füttern und anschließend unter anderem  mit INSERT-, COUNT-, UPDATE-, DELETE- und sogar JOIN-Funktionen manipulieren.

#FLICKR#
TaffyDB: Zuckersüßes Datenbankmanagement. (Foto: stevendepolo / flickr.com, Lizenz: CC-BY)

Die Open-Source-Datebank wurde mit Fokus auf Web-App-Entwicklung und natürlich Node.js entwickelt. TaffyDB ist relativ klein und ist bedingt durch JavaScript und JSON natürlich cross-browser-fähig. Da TaffyDB auf den gängigen Webtechnologien basiert, funktioniert die Datenbank auch prima mit anderen Frameworks beziehungsweise SDKs – dieses Tutorial zeigt euch TaffyDB in Kombination mit Titanium.

So setzt du TaffyDB ein

Zuerst legen wir uns eine Datenbank mit entsprechenden Datensätzen an:

var friends = TAFFY([
    {"id":1,"gender":"M","first":"John","last":"Smith","city":"Seattle, WA","status":"Active"},
    {"id":2,"gender":"F","first":"Kelly","last":"Ruth","city":"Dallas, TX","status":"Active"},
    {"id":3,"gender":"M","first":"Jeff","last":"Stevenson","city":"Washington, D.C.","status":"Active"},
    {"id":4,"gender":"F","first":"Jennifer","last":"Gill","city":"Seattle, WA","status":"Active"} 
]);

Das nachfolgende Beispiel zeigt euch, wie ihr mit den Daten interagieren könnt:

// Datensatz von Kelly
var kelly = friends({id:2}).first();

// Ihr Nachname
var kellyslastname = kelly.last;

// Kelly hat eine neue Freundin
friends.insert({"id":5,"gender":"F","first":"Jennifer","last":"Gill","city":"Seattle, WA","status":"Active"});

//Kelly zieht um
friends({first:"Kelly",last:"Ruth"}).update({city:"Las Vegas, NV"});
});

Fazit zu TaffyDB

TaffyDB ist sehr einfach und „hacky“. Von Prototypen bishin zu kleineren Applikationen könnt ihr, nicht zuletzt durch die clientseitige Ausführung, recht schnell und einfach Daten aufbauen und verwalten. Durch die einfache Syntax ist die Lernkurve recht flach, wodurch TaffyDB auch für Einsteiger geeignet ist. Natürlich ersetzt die Datenbank allein aber nicht das Wissen, das benötigt wird, um relationale Datenbank-Modelle überhaupt entwickeln zu können.

Ihr könnt euch TaffyDB auf GitHub runterladen, die Dokumentation findet ihr hier.

Finde einen Job, den du liebst

Bitte beachte unsere Community-Richtlinien

7 Reaktionen
Marcus Woy

Hey Konstantin,

würde dich bitten den Link vielleicht durch den Verweis auf IndexDB zu ersetzen, weil die WebSQL das falsche Pferd ist. Diese wird auf kurz oder lang eingestellt.

Antworten
commentswelcome

Hi,

sind hier nur simple CRUD-Operationen möglich ?
"SQL-Datenbank" ist mir als Begriff zu vage - stehen Relationen zwischen Tabellen, Views, Stored Procedures zur Verfügung ? Wenn nicht würde ich nicht von einer Datenbank im üblichen Sinne sprechen, eher von einem flüchtigen Datenspeicher mit SQL-Abfragesprache.

Antworten
Konstantin

Kleiner Schreibfehler: [...] unter anderem mit INSERT-, COUNT-, UPDATE-, DELTE- und sogar JOIN-Funktionen [...] "DELTE" > "DELETE".

Auch zu erwähnen ist, dass es auch WebSQL Datenbanken in HTML5 gibt, die nativ schon komplett clientseitige SQL Datenbanken sind.

http://dev.w3.org/html5/webdatabase/

Antworten
Mario

Hey Mario,

danke dir für deine Antwort. Der Artikel ist sehr gut !!

Also wird es im Local Storage gespeichert. Behalte das mal im Auge, bis TaffyDB mit Indizes/Index arbeitet. Im aktuellen Benchmark schneidet TaffyDB nicht sogut ab.

Antworten
Mario Janschitz

Hallo Marcus, Hallo Karsten!
TaffyDB funktioniert mit JSON und ist für den HTML5-Web-Storage (https://t3n.de/news/html5-local-storage-daten-offlinebetrieb-speichern-350314/) konzipiert. Wenn ihr Daten aber anders persistieren wollt, zum Beispiel über einen Sync zu einem Server, dann habt ihr freie Hand.

@Karsten
Wie ich im dritten Satz schreibe, funktioniert TaffyDB zusammen mit JSON (http://de.wikipedia.org/wiki/JavaScript_Object_Notation). Ich helfe gerne weiter, allerdings würde ich mich freuen wenn man den Artikel liest bevor man die Qualität einiger Artikel generell bemängelt.

Zu TaffyDB gibt es auch einen Beginners-Guide der euch vielleicht weiterhilft. (http://www.taffydb.com/beginner)

Antworten
Karsten

Möchte mich der Frage von Marcus anschließen: Wo bitte werden die Daten gespeichert? Gibt es eine (serverseitige) MySQL-Verbindung? Seltsam oberflächlich werden hier einige Themen abgehandelt bzw. vorgestellt.

Antworten
Marcus Woy

Wichtig wäre hier noch die Frage:
1. Wo werden die Daten gespeichert?
2. Wie sieht es mit Support für Mobile Devices aus

Antworten

Melde dich mit deinem t3n-Account an oder fülle die unteren Felder aus.

Abbrechen