Hi Everyone, I'd like to announce functional-vaadin, a library for building Clojure webapps using the Vaadin UI framework. Since Vaadin is Java-based, this can already be done - but it's clunky: lots of doto and setter calls, temporaries to hold parts of the UI being constructed, etc. etc. This library is aimed at making all that a thing of the past.
The code is open-source: https://github.com/wizardpb/functional-vaadin Jars are deployed to Clojars: https://clojars.org/com.prajnainc/functional-vaadin There is still work to be done, mostly on the documentation, as well as some final components and event handling The primary goal is to use the homoiconic nature of clojure to make the code that builds a UI as structurally similar as possible to the UI itself. The library provides builder functions for each component, these take constructor arguments and/or a configuration Map, as well as any children components. This effectively eliminates the clutter. The other main feature is an integration with RxClojure, which makes explicit event handling a thing of the past. Instead, sequences of Observers can be created, allowing arbitrary processing of events from the UI. It is quite possible have these chains receive an event, process it with arbitrary code, and return new data to other parts of the UI. Other features include a component naming scheme that allows access to components via their ID (eliminates temporaries), conversion functions that interface Clojure immutable data structures to Vaadin data binding objects, and a better Form mechanism, integrating FieldGroups, layouts and function-based validation and conversion. I hope you find this useful! Please feel free to contact me with any further questions. -- 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.