from Hacker News

Coast on Clojure

by adamkl on 4/5/22, 11:47 AM with 60 comments

  • by gleenn on 4/5/22, 6:00 PM

    I always struggle with the idea that "frameworks are bad, combine libraries instead," it makes sense and makes orthogonal libraries not step on each other or make things more complicated. The thing lost is having an easy time getting up and running quickly. I was always a big Liminus champion fir this reason, they tried really hard to group a good set of libraries and document it all well. Bur this work is also fantastic. Sometimes, you really just want to get something done, and the batteries included solution might be the thing that gets your project done. I came from Ruby on Rails and will always miss that ability to get a DB connected, Javascript enabled, dynamic website onto something like Heroku from 0 to production in like... 20 minutes. So thanks for Coast, looks like it will help fill in an important part of the tooling spectrum.
  • by phyrex on 4/5/22, 7:59 PM

    I loved Coast and wrote at least one production app with it (and very quickly and pleasantly at that), but it needs to be said that swlkr is the only developer, and he seems to have mostly moved on to Janet (https://janet-lang.org/). Case in point, the last real updates to Coast were 2 years ago, and - unlike other Clojure libraries - not because this project was /finished/.
  • by swlkr on 4/5/22, 6:54 PM

    Always nice when one of my projects makes it to the front page!

    I haven’t worked on this one much lately, but I’m happy to answer any questions!

  • by janetacarr on 4/5/22, 6:54 PM

    This is cool, but, aside from error messages, it resembles Clojure's biggest problem right now: Everyone keeps trying to re-invent the wheel with respect to creating the "Rails" for Clojure.

    We have several production grade libraries and frameworks for serving webpages. Reitit(router), yada(http standards), bidi(router), aleph (netty wrapper), ring (jetty wrapper), pedestal (bundle of libraries), luminus (self described micro-framework), the list goes on, yet Clojure's biggest pain point is the lack of other production grade libraries for other/mundane things.

    If the libraries do exist, they can barely cut a stable release (like 2.0.0-alpha24) or keep up with changes to prevent software rot.

  • by cube2222 on 4/5/22, 5:56 PM

    Slightly OT, but whenever I see Clojure projects I think: "I'd love to write something bigger in Clojure one day, experience it, and see if it's all it was promised to be."

    That said, I don't really have any good use case for it right now, whether at work, or among my side projects.

  • by 0xferruccio on 4/5/22, 8:33 PM

    Love to see Coast getting some attention again! I got my start into Clojure with it working with Sean on small web apps written in Coast. I even gave a talk about it at the Berlin Clojure conference

    https://youtu.be/24PRtDJGvW8

    The first project we built together with it was called magehash, and it was an app to monitor websites for Magecart attacks (code injection stealing credit card data).

    That project ended up not working out, but I’m using a lot of the lessons I learned with Sean at my new project (https://www.june.so) which is ironically a Rails app and we keep in touch on Twitter regularly

  • by maxfurman on 4/5/22, 6:16 PM

    This looks very nice! Happy to see something batteries-included for the Clojure crowd. How does this compare to Luminus?
  • by phtrivier on 4/5/22, 8:25 PM

    Unless I missed something in the doc, it seems like it's the "Fullest full stack framework" as long as you're only interested in the "handling web server request and reply with html" part of the full stack.

    Any reason why this should be used instead of cooking up ring / hickup / whatever ?

  • by mark_l_watson on 4/5/22, 6:58 PM

    Thanks for posting this. I might want to give it a try with my very old 'smart' nutrition and cooking website [1] that I wrote in Clojure about 10 years ago and have not touched it in years. I wanted to update it a few years ago but the Clojure web libraries/frameworks I used are no longer supported.

    [1] http://cookingspace.com

  • by the-alchemist on 4/5/22, 6:23 PM

    Looks great! I also like the informal, conversational tone of the documentation. :)
  • by elwell on 4/6/22, 1:36 AM

    Perhaps I'm being too quick to judge, but it appears to basically be ring/compojure.