Personally, I would have a hard time justifying Angular for new work, especially if it's a commercial project. Given recent announcements from the devs, you are left with a choice of using the 1.x versions, which will not be compatible going forward, or planning around the 2.x release which won't be released until next fall. Neither of those are acceptable for commercial projects, which makes Angular dead in the water at the moment. For personal projects, sure, but then you have to consider if that's really where you want to invest your time?
I'm not sure exactly why you require some comprehensive framework, so I'll give a few options based on different requirements. First, if you're looking for something with 2 way data binding, so you can slap components together and call it a day - well, React isn't really designed for that anyway. There are of course many frameworks out there that do that kind of thing, with Ember probably being the leader now that Angular has committed project suicide. I'm not really sure how much Clojurescript brings to the table in that case - it's going to depend on your project. If you need complex coordination with back-end systems, then core.async brings a lot to the table, but you will be doing a lot of interop with a framework like Ember that wants to be in charge of everything. You stated a preference for React, so you probably see the benefit of a reactive/functional UI model, so you're probably more interested in native integration or look and feel. For integration, Cordova has you covered in most cases with their plugins. For look and feel, there are lots of libraries out there with mobile widgets - jQuery mobile, Kendo, ChocolateChip, Clank to name a few. Just use Clojurescript and React for the bulk of your app and integrate widgets from other libraries as needed. This is no different than say, dropping a D3 chart into your app. What I have found is that often I can just use the HTML/CSS for a widget and easily replace their JavaScript with my own React component. Bootstrap is a good example - I never include the bootstrap.js file because most of the components I need can be easily replicated, often times as simply as toggling various css attributes on various nodes. Scanning through the source code or even just observing the DOM as you interact with the component will usually tell you all you need. For more complex components, just integrate them. There have been several blog posts on integrating things like D3 charts with Om, just google it. If you prefer Reagent (as do I) there are several examples of integrating third party components in the reagent-cookbook project (although they use jQuery to select the DOM node in all the examples, which I don't like, but they're useful as a starting point). Reagent also makes it pretty easy to integrate regular React components now (not sure about how to do this in Om, or if it's even possible). The community of React components is starting to grow, either as native replacements or convenient wrappers around existing libraries, and even though those don't use Clojurescript, at least they follow the React model and are suitable to drop into your app without worrying about an impedance mismatch. -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojurescript+unsubscr...@googlegroups.com. To post to this group, send email to clojurescript@googlegroups.com. Visit this group at http://groups.google.com/group/clojurescript.