Hacker News new | past | comments | ask | show | jobs | submit login

Those other systems don't have Reagent. Reagent is simply the best way to write user interfaces I've seen in 25 years, bar none. The only comparable jump in productivity that I can recall is moving from assembly language to a compiler.

Spending time with a profiler, we can probably improve the size and speed of a Clojure application (I've never tried using it for desktop software). No amount of time playing with Qt/Lazarus is going to give you Reagent, though.




So, you are saying that this :

    (ns example
      (:require [reagent.core :as r]))

    (def click-count (r/atom 0))

    (defn counting-component []
      [:div
       "The atom " [:code "click-count"] " has value: "
       @click-count ". "
       [:input {:type "button" :value "Click me!"
                :on-click #(swap! click-count inc)}]])
Is better than this :

    import QtQuick.Controls 2.3
    Button {
        property int count: 0
        onClicked: count++
        text: count == 0 
              ? "Click me!" 
              : "The value is : " + count
    }
? (testable here : https://tinyurl.com/rjgcfod)


I'm confused. Clojure doesn't have Reagent either. ClojureScript does. And Reagent is a pretty straightforward React wrapper, not so different from Rum. What do you think makes it special? Even Rum renders server-side.


The author of the post is the creator of cljfx https://github.com/cljfx/cljfx which basically allows you to use the reagent model to build JavaFx GUIs. I believe that is what parent is referring too.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: