| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 3/16/2021 | |||||||||||||||||||||||||
2 | Started: | August 2017, by David Goldfarb <[email protected]> | ||||||||||||||||||||||||
3 | Authors: | David Goldfarb <[email protected]>, ... | ||||||||||||||||||||||||
4 | ||||||||||||||||||||||||||
5 | ||||||||||||||||||||||||||
6 | Usage | |||||||||||||||||||||||||
7 | ||||||||||||||||||||||||||
8 | This document is freely editable, in the hope that the community will add value. I realize | |||||||||||||||||||||||||
9 | that the Internet is a big place, and this may have been a stupid decision, so I reserve | |||||||||||||||||||||||||
10 | the right to edit or delete any changes that I find offensive, disturbing, wrong, or | |||||||||||||||||||||||||
11 | annoying; for any time, and for any reason. I also reserve the right to change access to | |||||||||||||||||||||||||
12 | this document in the future. | |||||||||||||||||||||||||
13 | ||||||||||||||||||||||||||
14 | If you don't like my decisions, you are free to make your copy at any time, and to use | |||||||||||||||||||||||||
15 | it for any purpose, private or commercial. | |||||||||||||||||||||||||
16 | ||||||||||||||||||||||||||
17 | ||||||||||||||||||||||||||
18 | readers, with respect. | |||||||||||||||||||||||||
19 | ||||||||||||||||||||||||||
20 | ||||||||||||||||||||||||||
21 | Overview | |||||||||||||||||||||||||
22 | ||||||||||||||||||||||||||
23 | Each time I start a new Clojure web project, I look around for the best framework. This | |||||||||||||||||||||||||
24 | ecosystem is changing incredibly fast (which is good), but it makes it very difficult to | |||||||||||||||||||||||||
25 | choose the right tools. | |||||||||||||||||||||||||
26 | ||||||||||||||||||||||||||
27 | I started this Google Sheet to summarize the different frameworks. I'm starting with | |||||||||||||||||||||||||
28 | information available in the README's of each project, but hope that: | |||||||||||||||||||||||||
29 | 1. Putting all this information in one place will already add value. | |||||||||||||||||||||||||
30 | 2. This sheet will grow with time and contributors to contain much more information. | |||||||||||||||||||||||||
31 | ||||||||||||||||||||||||||
32 | Please add to this document, including more frameworks; useful information that I | |||||||||||||||||||||||||
33 | omitted; and corrections of any mistakes or typos. | |||||||||||||||||||||||||
34 | ||||||||||||||||||||||||||
35 | ||||||||||||||||||||||||||
36 | Frameworks | |||||||||||||||||||||||||
37 | ||||||||||||||||||||||||||
38 | This section is an overview of each Framework. Detailed feature comparisons | |||||||||||||||||||||||||
39 | can be found in the next tab. (Framework maintainers are encouraged to add info!) | |||||||||||||||||||||||||
40 | ||||||||||||||||||||||||||
41 | ||||||||||||||||||||||||||
42 | Chestnut | https://github.com/plexus/chestnut | ||||||||||||||||||||||||
43 | ||||||||||||||||||||||||||
44 | Chestnut is an application template for Clojure/ClojureScript applications. It | |||||||||||||||||||||||||
45 | automatically includes support for a REPL-driven workflow; dev/prod/test | |||||||||||||||||||||||||
46 | builds; Figwheel integration; and basic test support. | |||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||
48 | It includes backend Compojure setup, and a front-end based on a choice of | |||||||||||||||||||||||||
49 | React wrappers. It is also well-integrated with Lighttable and Emacs/Cider. | |||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||
51 | Chestnut's general philosophy is minimalistic, with just enough support to | |||||||||||||||||||||||||
52 | help beginners get started and to give a reasonable configuration for experienced | |||||||||||||||||||||||||
53 | developers too. It tries not to be too opinionated. | |||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||
56 | Duct | https://github.com/duct-framework/duct | Undertow has a composition based architecture that allows you to build a web server by combining small single purpose handlers. The gives you the flexibility to choose between a full Java EE servlet 4.0 container, or a low level non-blocking handler, to anything in between. | |||||||||||||||||||||||
57 | ||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | Luminus | https://github.com/luminus-framework/luminus-template | http://62.182.86.140/main/2249000/28f0cc5d55d9932762f348cb51aedb00/Daniel%20P.%20Mannix%20-%20The%20History%20of%20Torture-eNet%20Press%20Inc.%20%282014%29.epub | |||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | Luminus is a Clojure micro-framework based on a large set of lightweight libraries. | |||||||||||||||||||||||||
62 | It aims to provide a robust, scalable, and easy-to-use platform. | |||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | Luminus does not offer a strong philosophy in any particular direction. Rather, | |||||||||||||||||||||||||
65 | it focuses on packaging many of the best libraries from the Clojure ecosystem and | |||||||||||||||||||||||||
66 | bringing them together in easy-to-use packaging. | |||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | [meta] | |||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | [meta] is an attempt at building the fastest path from idea to startup. | |||||||||||||||||||||||||
72 | It provides both an App Stack as well as a App Framework. | |||||||||||||||||||||||||
73 | Declarative and Generative applications can be built which enable reuse of features across deployments of [meta]. | |||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | Including Commercial Support + Automated Builds available from Degree9. | |||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | Mies | |||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | Minimal ClojureScript template. | |||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | Pedestal | https://github.com/pedestal/pedestal | ||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | Pedestal is a set of libraries that focuses primarily on the server side of client/server | |||||||||||||||||||||||||
85 | applications. | |||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | Released by Cognitect, Pedestal very strongly shows the philosophy of "simple" vs. | |||||||||||||||||||||||||
88 | "easy", with a strong focus on features that help create enterprise-level server | |||||||||||||||||||||||||
89 | products. | |||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | Many best-practice speed and security decisions are built-in. | |||||||||||||||||||||||||
92 | Much of the system is data-driven. | |||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | Reagent | https://github.com/reagent-project/reagent-template | ||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | Full-featured and opinionated template for client/server apps based on Reagent. | |||||||||||||||||||||||||
98 | Always includes a rich set of libraries, including devcards, Reagent forms, etc. | |||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 |