Looking for Reagent-based framework/library suggestions

123 views
Skip to first unread message

Jonathon McKitrick

unread,
Jan 29, 2018, 12:53:33 PM1/29/18
to ClojureScript
My last non-trivial app used Reagent, but I did the rest of the wiring manually. Now that there are many alternatives out there, I'd like to hear your suggestions and comparisons, as I'm about to select one for a non-trivial team (not personal) project.

Re-frame is the obvious choice, but I've seen several alternatives. What experiences have you had? What factors might help me choose one over another?


Daniel Compton

unread,
Jan 29, 2018, 4:12:51 PM1/29/18
to clojur...@googlegroups.com
Hi Jonathon

I'll put my cards on the table up-front, I work at Day8 and do a lot of work developing re-frame apps and working on re-frame + Day8's re-frame libraries. 

I think re-frame is a great UI framework, and we have had success building and maintaining large (50,000 LOC) applications with complex UI's over the last three years. I'm not sure if you've seen it, but https://github.com/Day8/re-frame/blob/master/docs/FAQs/DoINeedReFrame.md is a pretty good description of what re-frame gives you/why you'd want to use it.

To help answer your question further, it would be good to know more about the team and project. How many people will be working on it? What are their backgrounds with front-end web development, and ClojureScript? How big is the application going to be? Is it mostly about building forms and shuttling remote state to and from the client, or do you need more complicated UIs? Is this a project that will be built in a few weeks/months and then parked for a while, or is it going to undergo continuous development? What are the values that are more or less important to you (documentation, performance, testing, debugging, scalability, community, library ecosystem, long-term support, maintainability, novelty e.t.c.)?

re-frame has been around for almost 3.5 years and has a pretty healthy community. Using the Lindy effect (things that have been in existence for a long period of time can be considered more robust/antifragile, i.e., more likely to continue to survive, than new things that haven't passed the test of time), then we can expect it to be around for another 3.5 years.

At Day8 we have a lot invested in re-frame, so it's not going anywhere for us, and because we've written so much code in it, we are very unlikely to make any kind of radical changes that require rewriting your code.

Hope that helps,
Daniel.

On Tue, Jan 30, 2018 at 6:53 AM Jonathon McKitrick <jmcki...@gmail.com> wrote:
My last non-trivial app used Reagent, but I did the rest of the wiring manually. Now that there are many alternatives out there, I'd like to hear your suggestions and comparisons, as I'm about to select one for a non-trivial team (not personal) project.

Re-frame is the obvious choice, but I've seen several alternatives. What experiences have you had? What factors might help me choose one over another?


--
Note that posts from new members are moderated - please be patient with your first post.
---
You received this message because you are subscribed to the Google Groups "ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojurescrip...@googlegroups.com.
To post to this group, send email to clojur...@googlegroups.com.
Visit this group at https://groups.google.com/group/clojurescript.

jmcki...@gmail.com

unread,
Jan 30, 2018, 7:50:16 AM1/30/18
to clojur...@googlegroups.com
Hi Daniel,

thanks for the response!

I'm going to spend some time today reading through the docs you sent, and working up an example app. In the meantime, here are answers to your questions.

There are 3 of us on the team. We have a senior with a few years of experience with ClojureScript (myself), and 2 intermediate developers with backgrounds in web development and functional languages but new to ClojureScript. They both have worked with ReactJS, however. Both are very excited to learn Clojure and ClojureScript.

This app will not be huge, since it's a pilot project in a sense. We want to deliver a standalone project a low risk. It will be complex in the sense that it will render a landing page to the customer, but a WYSIWYG UI to an administrator for customizing the content. Not a lot of form processing.

 We want it to be a model for ClojureScript projects going forward, if possible, even if development slows after requirements are met. Testing and debugging are paramount, and we want it to be approachable by non-ClojureScript developers in the future, if necessary.


You received this message because you are subscribed to a topic in the Google Groups "ClojureScript" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojurescript/79ZbN8Ll5MM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojurescrip...@googlegroups.com.

To post to this group, send email to clojur...@googlegroups.com.
Visit this group at https://groups.google.com/group/clojurescript.
--
Jonathon McKitrick

Jeaye

unread,
Feb 4, 2018, 5:44:48 PM2/4/18
to clojur...@googlegroups.com
I lead a team building a React Native app with Reagent + re-frame that's nearing 10K lines across 124 source files. re-frame took a while to really click, but, boy, it's amazing. To make matters better, folks like Daniel and the community have provided excellent support. If I had to do it again, I'd still be using re-frame.
Reply all
Reply to author
Forward
0 new messages