javelin
electric
Our great sponsors
javelin | electric | |
---|---|---|
4 | 24 | |
799 | 1,630 | |
0.5% | 3.1% | |
6.3 | 9.2 | |
6 months ago | 4 days ago | |
Clojure | Clojure | |
- | Eclipse Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
javelin
-
Is there a reframe/cljfx-like subscription/memoization-context library available?
An aspect that flex has that is important when using it with UI frameworks is the ability to control when to start listening to something and when something updates. This is why it differentiates between "signals," which are pure calculations that are inert unless actively being listened to, and "effects" which do side effects and can be started/stopped. In React and other GUI frameworks, you need to be able to abide by the lifecycle of the framework, which means you may need to wait to start running updates until the component your effect is used in has actually appeared in the UI. This is provided by effect and listen returning a function that, when called, starts listening and calling the return value of that stops. Javelin does not give you quite this much control; defc= is eager and will start listening and updating immediately. See https://github.com/hoplon/javelin/issues/27 for their discussion about this very topic.
-
Functional Core, Imperative Shell (2012)
I asked around and there is another option. Something called "Incremental Computations". Here is a Clojure library. I think the examples kinda demo how it works
https://github.com/hoplon/javelin
electric
-
LiveView Is Best with Svelte
The cleanest way to handle the backend and frontend charade I've seen until now is using https://github.com/hyperfiddle/electric which is a clojure DSL on top of react
-
Imba – The friendly full-stack language
Opa was ahead of its time by at least 10 years. Have you seen Electric Clojure [0]?
[0] https://github.com/hyperfiddle/electric
- Htmx is part of the GitHub Accelerator
- London Clojurians talk: Electric Clojure — compiler managed datasync for rich web apps
-
Should all Clojure functions be polymorphic by default?
Scala's ZIO/ZLayer is a great implementation of this idea where the monadic types are visible to userland DSL. Electric Clojure (which I lead) is a Clojure implementation of similar ideas (specialized to web development) where the types are concealed, "just write Clojure". In practice with Electric, we are building really complex/dynamic abstractions (think pure functional app-builder and highly concurrent UI) and we haven't even felt a need to implement multimethods yet. https://github.com/hyperfiddle/electric
- Isomorphic Development
- Humble Chronicles: Managing State with Signals
-
Use of Posh for frontend development?
I'd expect your auth stuff to mostly just work with some minor jiggling of the middlewares. We have a few out of the box approaches to routing, the tutorials app uses hyperfiddle.router which is an experimental composable router (may be a bit hard to use), the easiest starting point would be a simple goog.history integration. Someone posted a retit integration in the slack iirc. And you can of course roll your own.
-
lumberdev/tesserae: A Clojure spreadsheet and more!
Built with Electric Clojure and Missionary! https://github.com/hyperfiddle/electric
What are some alternatives?
flex - flex is a reactive signal library for Clojure(Script)
fulcro - A library for development of single-page full-stack web applications in clj/cljs
missionary - A functional effect and streaming system for Clojure/Script
hoplon - Simple and powerful tool for building web apps out of highly composable elements in ClojureScript.
subscriptions - A subscriptions library over a source of data (forked + extracted from re-frame)
posh - A luxuriously simple and powerful way to make front-ends with DataScript and Reagent in Clojure.
helix - A simple, easy to use library for React development in ClojureScript.
ldap3 - A pure-Rust LDAP library using the Tokio stack
odoyle-rules - A rules engine for Clojure(Script)
Scoop - A command-line installer for Windows.