+1 regarding the AngulaJS talk with web2py by Amber Doctor. Kudos to Amber for a talk well given!
I've been studying AngularJS a little and haven't written any code, yet, but my web Spidey sense is giving off alarms. I think Amber's talk underscores a potential danger of client-side MVC. First, correct me if I'm wrong, but there's nothing in AngularJS that you can't already do in web2y using components. The difference is that Angular does it client side without needing to make an http call, so it potentially runs faster. And AngularJS seems to have a more compact way of doing things we do in jQuery with _onclick="blah blah blah" and other such ajax("url",["target"],":eval"); or web2py_component(...) stuff. The danger highlighted by Amber's example is that Angular makes it much easier to create a client-side model that gets out of synch with its server-side web2py model. And keeping them in synch violates DRY principles, requiring the http calls that you would have had to do anyway if you did a web2py-component-only approach. For instance, if Amber's talk had been about a collaborative recipe app and someone was updating the recipe database serverside while somebody else was perusing the db clientside, then it would be easy for the clientside user to get an out of date recipe and stay ignorant of that fact for a very long time. That's because the local copy of the data is fetched only once when the recipe is first clicked, assuming I understood her app correctly. Further exiting and entering the recipe would not do an http call, whereas the web2py component approach would naturally force an http call, thereby keeping the user in synch. AngularJS seems to offer nifty, high-performance clientside business logic ability. But unless structured carefully, it's not clear that it'll save http calls without endangering synch between client and server. And it could introduce even more complexity in terms of debugging and verbosity in terms of supporting two MVCs for the same app. The thought of that makes me wince. Anybody else have an opinion about this? -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.