I'm no expert, but the arguments I have seen against Swing are almost always about the API, so they do not really apply to seesaw.
The other arguments were about the non-native look, but I seem to remember that seesaw took care of that too. On Sunday, 4 May 2014, Timothy Baldridge <tbaldri...@gmail.com> wrote: > I highly recommend taking a look again at JavaFX2. The latest version > (released as part of Java 8 or as a separate jar with Java 7) has a very > unified API and is a joy to work with. > > I've been hacking on a library that provides a data centric API to > JavaFX2. The cool thing is that most of it is self writing. Since the API > is so consistent, reflection can be used to discover how most of the > components work. Here's an example of what the UI description layer looks > like. > > > https://github.com/halgari/com.tbaldridge.slide/blob/master/src/com/tbaldridge/slide.clj#L266 > > This library uses core.async to bind components to data. So the binding > :text<- (bindings/get-in a [:text]) will bind a control's text to whatever > is in the atom a at the path [:text]. Likewise the :text-> > (bindings/assoc-in a [:text]) will keep the atom up to date with the > contents of a text box. > > I haven't tested this on any platform but Mac, but I've seen tutorials of > JavaFX2 running on Linux and Windows, so I assume it's all fully cross > platform. > > Timothy > > > On Sun, May 4, 2014 at 4:44 AM, Daniel Kersten <dkers...@gmail.com> wrote: > > I'm a massive fan of Qt and have done a lot of Qt/QML in C++ in the past, > but lately when I've needed to do a GUI (and could use Clojure), I've been > making it Web based and using ClojureScript with Om. Since jetty/http-kit > run nicely as embedded servers, you could have your application run locally > and launch a browser (rather than running it on a server) if you wanted, > and if you have the ClojureScript talk to the Clojure "server" through > sente, you _almost_ won't even notice its not all plain Clojure since > communication looks more or less like a core.async channel. > > Might be a bit much to learn if you're new to Clojure, though. > > I haven't used swing or Qt in Clojure, so can't comment on them. > > > On 4 May 2014 10:44, Cecil Westerhof <cldwester...@gmail.com> wrote: > > 2014-05-04 10:20 GMT+02:00 Cecil Westerhof <cldwester...@gmail.com>: > > > > > 2014-05-04 10:09 GMT+02:00 Colin Fleming <colin.mailingl...@gmail.com>: > > There's really no "only" way to do anything in Clojure, since you can > always drop down to Java interop. So anything that's available to Java is > available to Clojure, too. Not all the options have a nice Seesaw-like > wrapper over it of course, but they're generally still quite usable. I do a > reasonable amount of Swing work without Seesaw, mostly because it takes a > while to start up, but Seesaw has a lovely API if that's not such an issue > for you. Swing is generally a fine option, if you look at IntelliJ you'll > see it's possible to make it quite pretty and functional, although it's a > lot of work to get to that stage. > > Other options are QTJambi or SWT - I don't know anything about Pivot and > the demos didn't work for me either in Firefox or Safari but it looks like > that might be an option too. JavaFX may also be an option, although I don't > know much about it. Or you can go for more esoteric options like embedding > Chromium in a native app wrapper and use ClojureScript, which is what > LightTable and other projects do. > > It really depends on your requirements, but the above are all viable > options. > > > Well, I am a newbie with GUI, so best to start with seesaw if there is no > real reason not to use Swing I think then. (I do not remember why Swing was > discouraged.) I have to look into the start-up time. I did not know about > that. > > By the way: as I understood it JavaFX is only an option if you only > develop for Windows. > > > I see that there is also clj-swing. What would are the advantages of > either compared to the other? > > -- > Cecil Westerhof > > -- > 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> > > -- > “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<javascript:_e(%7B%7D,'cvml','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<javascript:_e(%7B%7D,'cvml','clojure%2bunsubscr...@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<javascript:_e(%7B%7D,'cvml','clojure%2bunsubscr...@googlegroups.com');> > . > For more options, visit https://groups.google.com/d/optout. > -- 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.