Je suppose que c'est une question étrange pour l'immense majorité des programmeurs qui travaillent quotidiennement avec Java. Ce n'est pas mon cas. Je connais Java-le-langage, parce que j'ai travaillé sur des projets Java, mais pas Java-le-monde. Je n'ai jamais créé une application web à partir de rien en Java. Si je dois le faire avec Python, Ruby, je sais où aller (Django ou Rails), mais si je veux faire une application web en Clojure, non pas parce que je suis obligé de vivre dans un monde Java, mais parce que j'aime ce langage et que je veux essayer, quelles bibliothèques et quels frameworks dois-je utiliser ?
Réponses
Trop de publicités?Je vais ajouter mes deux cents pour Conduit également de @weavejester le mainteneur de Compojure et Ring.
A la base, il apporte Composant et le routeur Ring sous un même toit. Raisons pour lesquelles j'utilise Duct :
- Excellente base philosophique : il vous encourage à construire votre application comme une série de petits composants, et il trouve un bon équilibre entre le fait d'avoir peu d'opinions tout en fournissant des valeurs par défaut raisonnables.
- Chemin stable : Je ne parle que pour moi, mais au fil des ans, j'ai eu l'impression que la communauté Clojure a présenté un framework web peu crédible après l'autre. Quelques-uns m'ont semblé tout simplement trop expérimentaux (mon expérience avec Om et Pedestal côté client) pour " faire avancer les choses " (non pas qu'ils ne se révèlent pas supérieurs par la suite). D'un autre côté, j'ai l'impression que @weavejester a apporté la même stabilité et le même progrès mesuré à Duct qu'à Compojure et Ring, ce qui a été superbement démontré par la communauté.
- C'est super léger, et hors du chemin de mes composants.
Principales caractéristiques :
- Organise les routes par "points de terminaison", de petits composants que vous pouvez considérer comme des mini-serveurs web (ou, de petites sections transversales de vos routes HTTP).
- Prise en charge prête à l'emploi de la Flux de travail rechargé .
- Intégration parfaite avec Ring et Compojure.
- Configurations de développement et de production (ce qui, selon moi, manque cruellement ailleurs).
- Bonne documentation avec des exemples.
Note : Il va sans dire, mais pour le bénéfice des nouveaux arrivants en matière de développement web, que comme la plupart des choses Clojure, Duct nécessite une solide maîtrise de Clojure le langage. Je vous recommande également de lire d'abord Component.
Sur une autre note personnelle, j'utilise Duct dans plusieurs applications de production depuis plus d'un an maintenant et j'en suis extrêmement satisfait.
Vous pouvez également essayer Clojure sur Coils, http://github.com/zubairq/coils - avis de non responsabilité : je suis l'auteur
Un autre serveur web intéressant est Http-kit . Il offre de bonnes performances, est compatible avec les anneaux et prend également en charge les WebSockets. Il est fait principalement en clojure, et n'a pas certaines des choses étranges de Jetty/Tomcat.
Il est facile de le bricoler.
Arachne est un nouveau framework web. Je cite la description du site :
Arachne est un framework de développement web complet et hautement modulaire pour Clojure. Il met l'accent sur la facilité, la simplicité et une conception solide et évolutive. conception.
Il dispose d'un campagne de démarrage qui prétend offrir une expérience de "démarrage" similaire à celle de Rails. Il est développé par un Cognitect.
Ici est une bonne discussion à ce sujet avec l'auteur de Luminus (yogthos).
1 votes
Je me demandais si vous souhaitiez utiliser les API natives de Java ou celles de Clojure ?
0 votes
Ande : Je ne suis vraiment pas sûr, car je connais très peu le monde Java à cet égard (mais j'utilise Java, le langage, depuis un certain temps déjà au travail).
0 votes
Je pense que ce serait bien si cette question se terminait par une liste de frameworks web Clojure, avec une réponse chacun, et que chacun puisse voter pour son préféré. Je pense que la réponse de Meredydd est définitivement celle de Compojure. Je vais en ajouter une pour Webjure et ce serait bien d'avoir une comparaison.
0 votes
Pupeno ! Je suis arrivé ici en cherchant "applications web avec clojure". Cette page était le premier résultat dans Google.
2 votes
Voir aussi la question connexe stackoverflow.com/questions/3325033/
0 votes
Notepad(emacs) : fait . Pas de rasage : fait . Manmode : ON
0 votes
@AdamArold : avez-vous sérieusement comparer Emacs à Notepad ? Comme, vraiment ? ?!
0 votes
Emacs est un sur-ensemble du Bloc-notes si vous le voyez de cette façon (Emacs peut être utilisé à la place du Bloc-notes).
0 votes
Je vous propose de faire le point sur l'état d'avancement du développement web de Clojure ... consultez le site juxt.pro/blog/posts/yada-1.html Yada. (assez funkin' new as of Jun 2016)