11 ms·
Luminus – A Clojure Web Framework
- lwb 7y agoIs this new? Or are there some new features? When I was writing Clojure a few years ago I thought that Luminus was the name of the framework of choice then.
- bgorman 7y agoI don't really think Luminus is really a framework, it is more like a template to get started with a curated list of libraries that has changed over time. I believe Luminus has had some pretty major changes over the years such as changing the default webserver, routing library and dependency injection system.
- simongray 7y agoYup, Luminus is really just a curated (and occasionally updated) set of libraries put together by https://github.com/yogthos https://github.com/yogthos Most Clojure devs find frameworks in the traditional sense quite limiting. Fulcro is probably the most framework-like thing in Clojure-land at the moment.
- olah_1 7y agoLooks like the website (and probably docs) was updated. Looks good imo.
- deleted 7y ago[deleted]
- vga805 7y ago"Reagent is the recommended approach for building ClojureScript applications with Luminus." Reagent is nice, but if you want global state management, re-frame adds most familiar concepts from redux but without as much boilerplate: https://github.com/day8/re-frame https://github.com/day8/re-frame
- throw03172019 7y agoI tried using reagent but wasn’t a fan of the atoms everywhere approach. Fine for small projectS IMO.
- reitzensteinm 7y agoDo you mean cursors everywhere, or actual atoms? I maintained a fairly large project (3 man years or so) that used local atoms only for ephemeral components where you'd want to lose their state when hidden. Components were passed cursors in to a single global atom, which more or less worked OK. I think I'd use the re-frame model starting from scratch, but managing the app's state was probably not a top 5 problem for me. Every program is different of course! Integrating external libraries, validating data, server side rendering, caching remote queries and tracking down compilation/logic errors would probably be my top 5. This was 5 years ago though.
- girishso 7y agoKeechma looks better than re-frame imo https://github.com/keechma/keechma https://github.com/keechma/keechma Wish it had tutorials for newbies like me.
- retro212 7y agoI am the author of the Keechma framework. If you have any questions please ping me on the Clojurians Slack (#keechma channel). I’ll be happy to help
- robto 7y agoI'm partial to kee-frame[0], which is the controller model from keechma implemented in re-frame. It's a tiny library but quite a nice starting place. [0]https://github.com/ingesolvoll/kee-frame https://github.com/ingesolvoll/kee-frame
- hellofunk 7y agore-frame still adds way too much boilerplate for my tastes, especially on solo projects. I personally greatly prefer to use reagent directly over using re-frame.
- yayitswei 7y agoFulcro is also worth a look. I've been using it for a few projects and have been happy with it so far.
- capableweb 7y agoHaven't myself dived into Fulcro too much (mostly do ClojureScript so don't need the full stack) but always found interesting ideas to borrow from. Especially around the UI State Machines that they have lots of docs around. http://book.fulcrologic.com/#_ui_state_machines http://book.fulcrologic.com/#_ui_state_machines
- Folcon 7y agoI've been trying it out as well, enjoying it so far. Link: https://fulcro.fulcrologic.com/ https://fulcro.fulcrologic.com/
- mping 7y agoI tried fulcro but the amount of concepts you needed to learn was a bit too much. Unfortunately I was experimenting with electron which made it more complicated. It sounds a great framework if you have the right requirements but personally I found reagent/reframe alot simpler for my use case. Also, the fulcro docs are thorough but it didn't click for me, I left with some questions unanswered.
- Folcon 7y agoThat I can agree with, I use re-frame quite a bit in my day job, it's straightforward and lets you get things done. I'm also of the opinion that the Fulcro docs are very substantial, but aren't always easy to get your question answered. I've been blogging little bits and pieces of things that I've figured out that I don't think were super easy to discover, considering the amount of work that's gone into it, I'm hopeful that the situation will improve. However it's an interesting change to see something designed that's trying to be a complete end to end solution, take the new RAD tools for example[0], there's some cool stuff going on there. There's a demo[1] available as well. - [0] https://github.com/fulcrologic/fulcro-rad https://github.com/fulcrologic/fulcro-rad - [1] https://github.com/fulcrologic/fulcro-rad-demo https://github.com/fulcrologic/fulcro-rad-demo
- cube2222 7y agoIf you're interested in this, check out the book about web development in clojure[0] from the author of luminus, I haven't yet read it all, but I really liked the first few chapters. [0]: https://pragprog.com/book/dswdcloj3/web-development-with-clojure-third-edition https://pragprog.com/book/dswdcloj3/web-development-with-clo...
- smnplk 7y agoThe other template i like is chestnut https://github.com/plexus/chestnut https://github.com/plexus/chestnut
- ertucetin 7y agoIf you want to build simple/basic routing + RESTful services I suggest: https://github.com/ertugrulcetin/patika https://github.com/ertugrulcetin/patika Disclaimer: I wrote it.
- devgoth 7y agoI tried using Luminus once and got super super super super super confused since I am new to Clojure development. I ended up learning the basics with Ring, Compojure, and Component. I felt like learning these things separately vs. learning something like Luminus was way better to understand what was going on "under the hood". I bet if I went back to try Luminus now I would enjoy it but from my experience it was not very beginner friendly.
- dimovich 7y agoAnother backend mini-framework is Roll. https://github.com/dimovich/roll https://github.com/dimovich/roll