Show HN: Programming Google Flutter with Clojure

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Access the most powerful time series database as a service
  • SonarQube - Static code analysis for 29 languages.
  • SaaSHub - Software Alternatives and Reviews
  • sdk

    The Dart SDK, including the VM, dart2js, core libraries, and more.

    That's in no way a bad thing, some may say that means it does one thing (an important thing) extremely well ;)

    I switched from a purely TS/JS stack (React-Native-Web to cover iOS/Android/Web, Typescript on the backend, with some stuff to share types), and just got way too tired of all the tooling, the configuration, etc.

    While I use Golang on the backend (compiled to WASM for serverless) I wouldn't be against using Dart on the backend if it had a WASM compiler...

    ....and upon doing some research to put a link in here, apparently you can as of seven days ago? https://github.com/dart-lang/sdk/blob/main/pkg/dart2wasm/dar...

  • flet

    Flet enables developers to easily build realtime web, mobile and desktop apps in Python. No frontend experience required.

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • flutter-mx

    Flutter + ClojureDart, with Matrix Inside(tm)

  • Carp

    A statically typed lisp, without a GC, for real-time applications.

    Have a look at Carp for real-time applications: https://github.com/carp-lang/Carp

    Carp is a statically-typed, GC-less Lisp that implements Rust’s borrow-checking. It is implemented in Haskell and compiles to C. It shares some syntax with Clojure, but I wish it was more Clojurey.

  • Coconut

    Simple, elegant, Pythonic functional programming.

  • jank

    A Clojure dialect on LLVM with gradual typing, a native runtime, and C++ interop

  • Binding.scala

    Reactive data-binding for Scala

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • mxtodomvc

    The TodoMVC Classic implemented with mxWeb and Matrix

  • language

    Design of the Dart language

    Off the top of my head, no access modifiers (so private variables, for example, are prefixed with `_`, by convention, not enforced by the compiler), no pattern matching (and obviously no exhaustive matching), no record types, no sum types, no json (de)serialization (requires 3rd party libary code gen, wow), mutability everywhere, everything is a statement (i.e. no implicit `return`, AKA everything is an expression), required semi-colons (which they'd like to get rid of but can't due to questionable design decisions made long ago -- for the gory details see here[1]).

    If you like Java 8 and earlier you'll probably feel at home with Dart.

    Obviously I'm biased, but I find Dart to be one of the most unpleasant languages I've had the misfortune of being exposed to; this despite Flutter and its instantaneous hot code reloading being quite amazing -- a bizarre mix of promise and despair.

    [1] https://github.com/dart-lang/language/blob/master/resources/...

  • sci

    Configurable Clojure/Script interpreter suitable for scripting and Clojure DSLs

  • calcit

    Lisp compiling to JavaScript ES Modules

  • htmx

    </> htmx - high power tools for HTML

    For sure. You could also build front-ends with Clojure using htmx. It really simplifies building dynamic front-ends by allowing you to return to the hypermedia model with server-side rendering. It has been fantastic. No ClojureScript. Just a normal Java Clojure REPL.

    https://htmx.org/

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts