Before coming to Clojure I did 2 years of work on WPF/Silverlight apps, and
let me say what those platforms offer blows the web stuff out of the water.
Yes it's not cross-platform, but the ability to describe a layout with data
is unparalleled in the web world. I could sit down, and have a UI to a CRUD
app in half a day. No CSS, no DOM elements to force into a layout I wanted,
etc. Ask anyone who's worked with WPF and they'll tell you "yep it's based
on mutability, but writing a UI is really easy".

JavaFX comes close to this, but I'd like to use pure data to interact with
it. I did some work on that in the past, and came up with something that
was pretty usable, but I think a React approach could take it even further.
Anyways, the results of my work allowed you to create JavaFX interfaces
like this:


{:type   :border-pane                     :center {:type     :group
                          :children [{:type    :circle
                         :radius  (planet-sizes size)
                        :centerY (/ (planet-sizes size) 2)
                             :centerX 0}]}                     :bottom
{:type       :stack-pane                              :maxHeight  110
                            :prefHeight 110
  :children   [{:type :pie-chart
     :data (map                                                    (fn
[{percent :planet.biome/percentage
                     type    :planet.biome/type}]
                                (slide/build-item {:type
:pie-chart-data
                 :name  (str type)
                                    :value percent}))
                                  (:planet/biomes planet))}]}}

Notice how you don't have to muck with all the junk found in the
browser, you just describe an panel, say what you want to put where
(center, bottom, etc). and the layout engine takes care of the rest.
And this entire thing is GPU accelerated so drawing of the GUI is
pretty fast. The web side of things has a place, but it's also mired
in decades of legacy, that's stuff you don't find in modern UI
toolkits like JavaFX, QT and WPF.


Timothy


On Tue, Jan 13, 2015 at 12:46 PM, Gary Trakhman <gary.trakh...@gmail.com>
wrote:

> On Tue Jan 13 2015 at 2:05:03 PM Christopher Small <metasoar...@gmail.com>
> wrote:
>>
>> On the other hand, while the web app route may feel a bit overwhelming,
>> it really is worth learning. Once you program web, you can deliver to any
>> platform. It's ubiquitous. And once you get the hang of it, the paradigm
>> isn't really all that challenging. But up to you obviously.
>>
>>
> This rationale is the basis for my last 1.5 years of extra-work effort.
> Good luck :-).
>
> Coming from clojure, React really made investing in the web seem sane and
> worthwhile by offering composable abstraction.  I still think it's a good
> idea to learn web tech, but it was kind of a frustrating slog.
>
> Another really helpful piece of 'tech' that fits with clojure philosophies
> is http://suitcss.github.io/
> https://github.com/suitcss/suit/blob/master/doc/design-principles.md
>
> I think that plus React are great starting points.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
“One of the main causes of the fall of the Roman Empire was that–lacking
zero–they had no way to indicate successful termination of their C
programs.”
(Robert Firth)

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to