Hi Jon, 

I was just wondering if you made a decision on this? I'm looking at a 
similar approach and am wondering what direction you ended up taking and 
why? 

Currently looking at Knockout myself but open to suggestions. 

Thanks!

--Martha

On Thursday, September 6, 2012 4:30:30 AM UTC+1, dotnetCarpenter wrote:
>
> @Kelly Nicholes In backbone.js everything is in JS, meaning that there 
> could be no conflict between declarative code and Django handled templates. 
> If I can expose my python models, through auto serialization (JSON) from 
> Django, I can see a productivity win. But I'm a little afraid of the tight 
> coupling in data models between back-end and front-end. My main concern is 
> that I'll have to rewrite large parts of JS if/when the models change. Have 
> you any experience ironing out these issues? Maybe it's not a problem but I 
> lack experience with both frameworks.
>
> I'll look more into backbone.js :)
>
> Den onsdag den 5. september 2012 16.34.29 UTC+2 skrev Kelly Nicholes:
>>
>> 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/-/t2q8tpyWlf8J.
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.

Reply via email to