On Tuesday, March 17, 2015 at 6:53:59 AM UTC+11, Michael Campagnaro wrote:
> First off, re-frame looks really great, Mike. Thanks for writing it.
> 
> My team has been working on a Reagent SPA for half a year and it's our first 
> CLJS project so we are feeling some pain due to design choices that were not 
> the best. We really like the re-frame pattern and want to transition over to 
> it. I'm attempting to work out a plan for this. Either creating a new app on 
> the side and porting code over to use re-frame or gutting the current app in 
> place. 
> 
> Since re-frame is so new it's hard to tell what the limitations are. On one 
> hand the codebase is small, simple and nothing stands out as being a 
> potential problem in a large app. On the other hand I can't help but be 
> skeptical and curious :) 
> 
> So I'd love to hear about anyone's experience using re-frame to power a 
> non-trivial app, preferably in production. Are there things that I should be 
> mindful of when scaling the re-frame pattern?

Sceptical and curious is the only sane mindset!!  Me too.

I'm reminded of Chou En Lai's comment in 1972:  he was asked what he thought 
was the historic impact of the French Revolution. He considered the question 
and replied:  "It's too soon to tell."

We have developed three apps with re-frame. Two small ones and one larger. By 
larger, I mean many panels (dynamic arrangement of them under user control), a 
few non-trivial popups (dialog like), sophisticated undo, drag 'n drop, showing 
warnings, going into and out of consequential error states, some limited 
interaction with a server, etc.  So far it has been as Mike Haney said 
"ridiculously easy" which is the ultimate compliment. BUT we also tend to 
develop slightly atypical web apps - they tend to be very desktop-app-ish, so 
our experience might not generalise.

Be aware that I'm also a relative browser-tech neophyte. I have decades of 
experience in other tech (Flash/Flex, QT, MFC, Interviews, python, C++, q, k, 
Smalltalk, etc), but I've only been in the HTM5 world for 18 months (although I 
do seem to remember dabbling with "DHTML" in 1998 :-)).  So I'm still learning. 

Problems:
   - drag/drop was a pain, but that was more to do with the hideous HTML5 API, 
interacting with badly with reagent/react, I did solve it in the end. Easy next 
time. 
   - the re-frame testing story is not yet complete (but it looks likely to 
turn out well, I think)
   - we still don't have a good enough story for animations (but equally we 
haven't properly focused on it yet).
   - getting the more complicated subscriptions correct can be "too subtle". 
I'm wrestling with a design tweak which will make this easier (less subtle). 

I'm also cautious about how we are going to integrate with js libraries like 
D3. Might be easy or hard, haven't tried.


--
Mike

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to