This proof-of-concept project combines:
- Flutter, from Google;
- ClojureDart, port of Clojure to Dart from Tensegritics; and
- Matrix, a reactive framework from moi.<p>So, yes, we can now program Flutter with a Lisp. Yay.<p>Project includes dozens of working examples and a full implementation of the TodoMVC classic to help tire-kickers play around.<p>Support installing freely available on the #matrix channel on the Clojurians Slack.
When working with Flutter I did dream "It would be pretty amazing to have a Lisp on top of this" - awesome work you're doing here!<p>Lots of interesting stuff happening in the Clojure space lately.<p><a href="https://github.com/squint-cljs" rel="nofollow">https://github.com/squint-cljs</a><p>It's a strange thought, but I wonder if Clojure (or rather, the clojure community) would somehow "migrate" from the jvm at this rate.
Are you basically saying that I can build my front end using clojure?<p>I really want to learn clojure and use flutter for a personal project... are there are any reasons not go down this path? (E.g. the "official" implementation of flutter is more secure?, etc.)<p>Thank you for the cool project
Ah Flutter. I burned a month making silly apps with it, but then I realized that I would probably be better off learning any other programming language than Dart (careerwise at least)
Consider:
<a href="https://flet.dev/" rel="nofollow">https://flet.dev/</a> + <a href="https://coconut-lang.org/" rel="nofollow">https://coconut-lang.org/</a><p>TL;RD; Functional Python on top of Flutter<p>From <a href="https://github.com/flet-dev/flet" rel="nofollow">https://github.com/flet-dev/flet</a>:<p>" Deliver to any device
Deploy Flet app as a web app and view it in a browser. Package it as a standalone desktop app for Windows, macOS and Linux. Install it on mobile as PWA or view via Flet app for iOS and Android."<p>From <a href="https://coconut.readthedocs.io/en/latest/HELP.html" rel="nofollow">https://coconut.readthedocs.io/en/latest/HELP.html</a>:<p>"Specifically, Coconut adds to Python built-in, syntactical support for:<p>pattern-matching<p>algebraic data types<p>destructuring assignment<p>partial application<p>lazy lists<p>function composition<p>prettier lambdas<p>infix notation<p>pipeline-style programming<p>operator functions<p>tail call optimization<p>where statements"
By popular request, a video[0] of my workflow using ClojureDart and Matrix to live code Flutter. The last few minutes show me probing a new bug! I experiment, and find a partial workaround that hints at a solution.<p>[0]: <a href="https://www.youtube.com/watch?v=qQiTfIc7nDo" rel="nofollow">https://www.youtube.com/watch?v=qQiTfIc7nDo</a>
Hello Kenny, that looks cool. I will try it later today.<p>I was very keen on Flutter a few years ago until a version bump broke my one application and I never spent the time to fix it.<p>Clojure is far from my favorite Lisp, but I like it well enough. What will sell your project to me is how nice the dev process is. I love Common Lisp and Scheme dev process, but I struggle to get the same level of happiness with Clojure.<p>Looks like a nice project!
In folks' opinion, what are the best resources to learn Flutter beyond the official docs? The official docs are pretty solid but I am looking for something else — maybe a book?