Vergleich von Clojure-Web-Frameworks
Gibt es ein paar web-frameworks für Clojure
und auch einige Bibliotheken für den Umgang mit bestimmten web-Entwicklung Teilaufgaben, wie
- Enlive für templating
- Schluckauf für templating
- Ring zu handhaben lower-level " - Sachen mit Anfragen/Antworten
- ClojureQL für die Persistenz (es scheint nicht sehr aktiv, obwohl)
Gibt es auch Hunderte von Java-Bibliotheken verwendet werden. Einige Aspekte wurden bereits diskutiert hier und zwei von Ihnen im Vergleich ein bisschen.
Ich Frage mich, wie diese frameworks/Komponenten vergleichen, in Bezug auf Laufzeit, Umfang, einfache Entwicklung, Django/RoR-feeling, etc.
InformationsquelleAutor der Frage Adam Schmideg | 2010-07-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als ich die ersten Schritte mit web-Entwicklung, war es mit Clojure. Ich hatte keine Vorherige Erfahrung mit web-Entwicklung an alle. Ich konnte nicht für das Leben von mir, Abbildung Compojure aus. Ich weiß nicht, ob Anfänger Dokumentation wurde verbessert, da dann (es war nicht so lange her) oder nicht, aber zu der Zeit, ich konnte nicht verwalten. Ein Freund wies mich auf Schnurrbart, und nach dem Lesen der README, ich war in der Lage zu werfen zusammen, was ist http://try-clojure.org der aktuelle Zustand. Also, So weit wie Benutzerfreundlichkeit geht, ich denke, Schnurrbart nimmt den Kuchen für mich.
Jedoch, wenn diese hat zu der Zeit gab es, ich könnte eine andere Melodie singen.
Zaubern, sieht sehr cool, wenn auch sehr verschiedenen von den anderen frameworks. Aufgrund meiner sehr begrenzten Erfahrung mit web-Entwicklung im Allgemeinen habe ich nicht viel zu sagen haben in dieser Angelegenheit, aber Zaubern fühlt sich irgendwie unclojurey zu mir. Es fühlt sich einfach nicht Recht. Es mag sein, dass ich ' m nicht verwendet, um die Art und Weise Dinge.
UPDATE: Es hat eine Weile, da ich dies schrieb. Viele Dinge haben sich geändert. Nicht viele Menschen nutzen Schnurrbart mehr, und es ist nicht wirklich aktiv gepflegt, obwohl es abgeschlossen war genug (und einfach genug), dass es wohl doch noch funktioniert, jetzt möchte ich empfehlen, geht mit Compojure oder Noir statt. Beide sind aktuell gepflegt frameworks und beide sind hervorragend in Ihrem job sind.
UPDATE 2: Noir ist veraltet und für eine ganze Weile und die meisten Funktionen verschoben, um eine Bibliothek entwickelt, um verwendet werden, von compojure/anderen ring-basierten web-frameworks genannt lib-noir.
InformationsquelleAutor der Antwort Rayne
Ich weiß, diese Frage ist ein bisschen veraltet... aber ich konnte nicht helfen, aber empfehlen Noir als eine sehr schöne option.
Noir verwendet eine Kombination von Ring -, Compojure, und Schluckauf, um den job zu erledigen. Check it out!
InformationsquelleAutor der Antwort NickSuperb
Wie erwähnt, in Björn Lindqvist Kommentar obenNoir ist tot. Details hier.
Erwägen Sie stattdessen, mit Compojure und lib-noir.
InformationsquelleAutor der Antwort overthink
Denken in Bezug auf die Rahmenbedingungen ist wahrscheinlich ein Fehler. Der bessere Ansatz ist, zu denken, in Bezug auf die Bibliothek-Komponenten, die Sie stellen, zusammen, um den 'Rahmen', die Ihren Anforderungen am besten entspricht.
Benutzt habe ich eine Reihe von frameworks in der Vergangenheit. Die meisten von Ihnen tun, einen guten job zu bekommen, den Sie mit einer basic-Anwendung Recht schnell. Allerdings, ohne Ausnahme, die ich gefunden habe, alle von Ihnen bekommen nur frustrierend, mehr als oft nicht. Oft ist es aufgrund von zu viel boilerplate oder gerade haben zu springen durch Reifen, die nicht relevant sind für die Anwendung Ihrer Entwicklung.
Beim ersten kommen zu Clojure, ich begann, mich für die Rahmenbedingungen, aber dann gemerkt das war der falsche Ansatz. Stattdessen fand ich es viel besser, starten Sie einfach mit einem basic-ring-Anwendung, und fügen Sie dann die Bibliotheken, als ich Sie brauchte. Dies kann scheinen, wie eine größere Lernkurve, um mit zu beginnen, aber in Wirklichkeit es stellt sich heraus, genau so effizient, weil Ihr nicht gezwungen, zu lernen einen ganzen Haufen von Rahmengerüst, die Sie oft nicht brauchen.
Jedoch habe ich gefunden auf der Suche an verschiedenen frameworks wirklich nützlich, wie es gibt mir Ideen, wie am besten integrieren, eine Bibliothek und noch wichtiger ist IMO, wie Sie am besten die Struktur der lein-Projekt.clj-Datei am besten für den workflow, den Sie wollen.
Habe ich Folgendes gefunden-Vorlagen wirklich sinnvoll. Ich benutze keine von Ihnen 'so wie Sie ist', sondern müssen angepasst/gestohlene Ideen von vielen von Ihnen zu entwickeln, den Rahmen, die am besten für die app-ich arbeite
Luminus und Luminus-Vorlagen bietet ein sehr umfangreiches framework. Ich finde Sie ein wenig 'schwer' für viele Anwendungen, aber es gibt einige großartige Beispiele dafür, wie die Integration verschiedenster Clojure-Bibliotheken in Ihre app. Die Haupt-website hat auch einige nützliche Dokumentation.
Reagenz-Projektumfasst ein Reagens Vorlage bietet einen guten Ausgangspunkt für eine app mit Reagenz (react.js) ClojureScript unterstützen. Ich habe festgestellt, dass dies eine der einfachsten ClojureScript-Bibliotheken zum erstellen einer app mit guten Javascript-integration.
lein-figwheel ist wirklich eine interessante Vorlage mit figwheel zu bieten, das dynamische laden von clojurescript, so dass Sie sehen, dass Ihre ClojureScript änderungen in der browser, wie Sie Ihren code so modifizieren. Viele andere templates haben nun diese Funktionalität in Ihre eigenen Vorlagen. Ursprünglich entwickelt mit Om im Hinterkopf, Luminus und Reagenz-Vorlagen jetzt auch integrieren Figwheel Funktionalität in Ihre Vorlagen. Wirklich zeigt einige der Vorteile von Clojure und ClojureScript für die interaktive Entwicklung.
Compojure Vorlage ist ein guter Ausgangspunkt. Es wird eine sehr einfache compojure basierte Projekt mit dem basic ring und compojure Zeug. Toller start mit Clojure web-Entwicklung, denn es ist einfach und ermöglicht Ihnen die Konzentration auf das wesentliche vor dem ertrinken unter den anderen Optionen.
Gibt es viele andere Vorlagen und frameworks, von denen viele habe ich nicht Zeit gehabt, zu schauen, noch. In diesen Tagen, fange ich oft mit entweder compojure Vorlage oder Reagenz-Vorlage und fügen Sie dann zusätzliche bits wenn erforderlich. Ich in der Regel auch gehören selmar für-Vorlagen und verwenden im wesentlichen die gleiche Konfiguration Luminus verwendet.
Vielleicht der wichtigste Teil des Erhaltens einer guten 'Rahmen' für Sie die web-Entwicklung zu Experimentieren und zu verstehen, wie lein-Werke und die lein-Projekt.clj-Datei. Mit einem guten Projekt.clj-Datei wird festgelegt, Ihren workflow. Mit den richtigen Profilen, die Fähigkeit zu starten repl-in unterschiedlicher Weise und laden von verschiedenen libraries mit denen Sie kick-off-figwheel oder ein browser-repl oder erzeugen einer jar etc ist alles über Ihr Projekt.clj-Datei. Holen Sie sich dieses rechts und Ihre Umgebung bieten nur die Workflows, die Sie benötigen.
InformationsquelleAutor der Antwort Tim X
Einen neuen Spieler erschien in der Szene als eine gute alternative zum implementieren von REST-services ist Befreier. Macht es einfacher zu setzen Ihre Daten als Ressourcen, während automatisch die Einhaltung aller relevanten Anforderungen der HTTP-Spezifikation RFC-2616 und spielt schön mit http-kit und Compojure.
Ziemlich glücklich mit http-kit btw, der live-code-reload-Funktion ist sehr praktisch.
InformationsquelleAutor der Antwort Jaime Agudo
versuchen, die Straße-framework für die schnelle web-dev
https://github.com/zhujinxian/road
InformationsquelleAutor der Antwort ainixian2004