2012-04-14 9 views
6

Ich bin vertraut mit der Entwicklung von Desktop-Anwendungen in Clojure (geschrieben ein Multithreaded interaktive Visualisierung). Ich bin jedoch ziemlich neu in der Web-Entwicklung mit Clojure.Backend für Web-Entwicklung mit Clojure/ClojureScript

Ich plane Clojure auf dem Server für die Handhabung von Logik zu verwenden; und ClojureScript für die Übergabe von clientseitigen Arbeiten. Ich weiß jedoch nicht, was ich für meinen Datenbankserver verwenden soll. Sollte ich etwas wie Monogodb benutzen? oder Hadoop? Oder .... ?

Die App ist etwas sehr einfaches; ein grundlegendes Forum. Die Gesamtzahl der gleichzeitigen Benutzer ist < 100 zu einem bestimmten Zeitpunkt. Eine Sache, die mir wichtig ist, ist die Fähigkeit, Backup/Datenkonsistenz leicht - es ist sehr sehr wichtig für mich, dass ich leicht tägliche Backups machen kann (und nicht alle Daten verlieren.)

Vielen Dank!

+0

Ist das interaktive Visualisierungssystem öffentlich? Ich arbeite an Clojure/ClojureScript-Datenvisualisierung mit der C2-Bibliothek, und ich wäre daran interessiert, andere Clojure-Programme in dieser Domäne zu sehen. –

+0

@Kevin: Entschuldigung, das ist ganz privat; obwohl wir in der Lage sein könnten, einige der GUI-Elemente freizugeben. –

+0

[Datomic] (http://www.datomic.com/about.html) ist in Clojure, vom Schöpfer von Clojure geschrieben. Vielleicht solltest du [Light Table] (http://lighttable.com/) verwenden, das in ClojureScript für die Entwicklung geschrieben wurde :) – nawfal

Antwort

5

Sie können viele Datenbanken verwenden; Wenn die Datenbank eine API für Java hat, sollten Sie gut gehen. MySQL, MongoDB, Postgres, Hadoop ... und mehr.

Für einen schönen Überblick über das Webstack in Clojure, schauen Sie sich article on the matter von breaut an.

Um schnell mit Clojure und ClojureScript loszulegen, versuchen Sie ClojureScriptOne.

Es gibt viele Möglichkeiten zu schreiben, was Sie schreiben möchten; Wenn Sie mit Clojure bereits vertraut sind, sollte es nicht zu schwierig sein, loszulegen.

+0

Das ClojureScriptOne-Video ist exzellent. –

+0

BTW, wissen Sie, was Backend ClojureScriptOne verwendet? –

+0

Es verwendet Ring/Compojure/Enlive als Server-Side-Stack. Es gibt keine Datenbank in der App, obwohl Sie natürlich eine hinzufügen könnten. – Isaac

4

Habe es nicht selbst benutzt, aber Datomic (http://datomic.com/) sieht gut aus für jeden, der aus Clojure kommt.