Wow - a lot of answers. Great community! First of all, just to clearify. My aim is to have smooth user experience while utilizing Django and replicate as little code as possible on the client and the server. Think, reuse of server code on the client.
I've looked at AngularJS and it has a rendering layer that doesn't work without JS. Hence, no google support since google still requires us to deliver HTML snapshot<https://developers.google.com/webmasters/ajax-crawling/docs/getting-started>. Which means it violate my first requirement. AngularJS doesn't seem to offer help in this regard.https://groups.google.com/forum/?fromgroups=#!topic/angular/yClOeqR5DGc Almost all JS frameworks in the wild, violate simple SEO rules, so it's not confined to AngularJS at all. jQuery doesn't dictate client-side rendering. but doesn't offer any structure at all. Albeit it's great to build your own structure on top of. Thanks for the list of frameworks. I haven't look at Knockout yet but it seems to require JS to do it's data bindings. Cheers, Jon. Den onsdag den 5. september 2012 20.14.29 UTC+2 skrev Amyth: > > I am not sure what you are exactly trying to achieve. A more issue > specific topic would have been easy to understand though i can suggest you > following frameworks (in particular order): > > 1. KnockoutJS > 2. BackboneJS > 3. Cappucino > 4. Ember.Js > 5. Sammy.JS > 6. Spine.JS > 7. JavascriptMVC > > On Wed, Sep 5, 2012 at 8:04 PM, Kelly Nicholes > <kelbol...@gmail.com<javascript:> > > wrote: > >> It would be a travesty to not mention backbone.js. >> >> >> On Tuesday, September 4, 2012 7:39:49 AM UTC-6, dotnetCarpenter wrote: >>> >>> Hi all. >>> >>> I'm new here and just took over a Django project for the first time. I'm >>> still getting to grip with Django but as a front end dev for the past 5 >>> years, I'm also looking for a client-side library/framework to go together >>> with my project. >>> My requirements for a JS framework is that it: >>> >>> 1. is unobtrusive (Django rendered HTML will be shown to scraper >>> bots like google) >>> 2. provides some sort of structure (MVC, MVP, MVVM ect.) >>> 3. embraces standards >>> 4. doesn't conflict with Django templates or does so intentionally >>> 5. ideally uses the same template language as Django >>> >>> In the ideal world a request/response scenario would look like this: >>> >>> 1. A client make a (HTTP) request to the (django powered) web site >>> with (HTTP) Accept header text/html >>> 2. Django response in the usual way by rendering the assign View >>> (django template) >>> 3. The view figure out if JS is supported (implemented in JS). If >>> no, this scenario stays in loop 1-3. If yes, then 4. >>> 4. The client (usually a browser) wire up the client-side app >>> structure, hook in to URI links, add transitions between views, >>> data-bindings ect. >>> 5. Subsequent request are now handle by the JS framework, either >>> user initiated (e.g. clicking a link) or app initiated (e.g. pulling >>> extra >>> data), that will modify the request header to Accept header >>> application/json or application/django-template. >>> 6. If django receive a request with an application/django-template >>> header it will serve the view as plain text. E.g. Content-type: >>> text/plain. >>> On the other hand if django receive a request with application/json, it >>> will send the object model defined in the view as JSON. >>> 7. The client-side JS framework will receive a template to render in >>> the first request and the data to render in the template in the second >>> request. A promise object could be used to synchronize the two calls. >>> >>> This way django will work as intended for non JS clients and silently >>> convert to a RIA in clients that supports JS, with minimal double work for >>> the two execution contexts. >>> A big pro in this is the fact that both django and the JS framework >>> share template and data (only has to defined once - in django) - we'll duck >>> type all the way. But does this JS framework exist? Does anyone have any >>> experience with working with django and JS frameworks? Is there any obvious >>> pitfalls in my ideal world scenario in regard to Django? And finally, is it >>> possible to serve templates as plain text with django? >>> >>> >>> Cheers, Jon and thanks in advance >>> >>> PS. I accidentally cross-posted this to the Django Developers group >>> before realizing it was the wrong forum. Sorry about that. >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To view this discussion on the web visit >> https://groups.google.com/d/msg/django-users/-/PF4D-xIEovcJ. >> >> To post to this group, send email to django...@googlegroups.com<javascript:> >> . >> To unsubscribe from this group, send email to >> django-users...@googlegroups.com <javascript:>. >> For more options, visit this group at >> http://groups.google.com/group/django-users?hl=en. >> > > > > -- > Thanks & Regards > ---------------------------- > > Amyth [Admin - Techstricks] > Email - aroras....@gmail.com <javascript:>, ad...@techstricks.com<javascript:> > Twitter - @a_myth_________ > http://techstricks.com/ > -- You received this message because you are subscribed to the Google Groups "Django users" group. To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/gf7axOKJ5a4J. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.