Hi,

As we are heavy ExtJS and DojoToolkit users we've encountered quite a much
problems since both frameworks do have their own toolchain and it doesn't
seem to fit to webpack or rollup or anything like that.

So if such a feature is planned for core I really hope that non mainstream
tools are left out, at least without possibility to make them work easily.


On Mon, Feb 11, 2019 at 12:50 AM Josh Smeaton <josh.smea...@gmail.com>
wrote:

> For the vast majority of users, right now, Vue or React are the only real
> options. Let's not try predicting the future, and just focus on what the
> trends currently are. Users going for newer targets are likely more
> advanced, and can figure out the necessary changes.
>
> Aymerics articles are fantastic, and our team has gotten a lot of value
> out of them for our newer projects. Especially the customisations to static
> files which removes the re-hashing of static content. I would be very keen
> for Django to provide a first class integration method with Webpack, in
> particular, but most popular bundler frameworks if the necessary interfaces
> exist.
>
> - "Importing" static content that has already been bundled and hashed
> - Automatic reloading of static content as it is being changed
> - Visual debugging in editors
>
> I think the idea of a how-to that considers authentication and
> communication between frontend and backend is also what we need.
>
> So while I don't think Django needs to bless a particular frontend
> framework, I think we have to provide a really nice integration story so
> that the most popular JS frameworks do not have to jump through a lot of
> hoops, including copy and pasting large sections of code, to get their
> existing tooling working with Django. I no longer think it's enough to
> require 3rd party django libraries to make the frontend integration
> possible.
>
> On Sunday, 10 February 2019 04:50:54 UTC+11, Dmitriy Sintsov wrote:
>>
>> Very nice tuturials! Although there is web components standard gradually
>> being adapted by major browsers, which should bring custom tags /
>> components not having to use the third party Javascript libraries like Vue
>> or React. So, while in Python world the leadership of Django is quite
>> stable and obvious one, in Javascript world it's not so easy to say whether
>> Vue and React would dominate in a long run. Maybe Marko or Stencil.js are
>> closer to the future vision of Javascript.
>>
>> On Sat, Feb 9, 2019 at 8:32 PM Aymeric Augustin <
>> aymeric....@polytechnique.org> wrote:
>>
>>> Hello,
>>>
>>> I wrote a three-part essay on this question last year:
>>> 1.
>>> https://fractalideas.com/blog/making-react-and-django-play-well-together/
>>> 2.
>>> https://fractalideas.com/blog/making-react-and-django-play-well-together-hybrid-app-model/
>>> 3.
>>> https://fractalideas.com/blog/making-react-and-django-play-well-together-single-page-app-model/
>>>
>>> Even though I took a narrower view — I only considered React — I found
>>> enough decisions factors to write over 2000 words in the first post, which
>>> is too long for a FAQ :-)
>>>
>>> On one hand, I'm not sure the Django docs should go into this level of
>>> detail and provide specific information about a particular JS framework. On
>>> the other hand, it's rather useless to talk about integrating Django with a
>>> JS frontend without discussing authentication and it's hard to discuss
>>> authentication in less than 2000 words — which were just for justifying my
>>> favorite solution, not for investigating every option!
>>>
>>> I think we need a how-to guide rather than a FAQ entry. I would find it
>>> nice:
>>>
>>> *A. To describe the Singe Page App model — where Django only serves the
>>> API*
>>>
>>> We need to explain CORS and CSRF in the clearest terms possible. Many
>>> devs end up shotgun-debugging CORS or CSRF errors, which always results in
>>> insecure deployments.
>>>
>>> My consulting experience suggests that we have a problem there: I never
>>> did an audit where the client got that right, even though they're all smart
>>> people trying to get things right.
>>>
>>> Perhaps a condensed version of my third post could do the job?
>>>
>>> Some may disagree with my recommendation against JWT, which may too
>>> opinionated for the Django docs. Again, in my experience, people tend to
>>> get security more wrong with JWT, which is why I prefer discouraging it and
>>> letting those who know what they're doing ignore my advice.
>>>
>>> *B. To say something about integrating a modern JS framework with
>>> django.contrib.staticfiles *
>>>
>>> It's perfectly doable and provides all the benefits of
>>> django.contrib.staticfiles. However, it requires a bit of duct tape, as
>>> shown in my second post.
>>>
>>> I'm a huge fan of this technique for simple website but I'm afraid I'm
>>> biased by my experience with Django. This is unlikely to be a popular
>>> option for those who are more familiar with a modern frontend framework
>>> than with django.contrib.staticfiles.
>>>
>>> The docs should at least give the general idea of "compile your frontend
>>> to somewhere Django can find the files, then run collectstatic".
>>>
>>> If someone starts writing documentation about this, I'm interested in
>>> reviewing it.
>>>
>>> Best regards,
>>>
>>> --
>>> Aymeric.
>>>
>>>
>>>
>>> On 5 Feb 2019, at 11:17, Carlton Gibson <carlton...@gmail.com> wrote:
>>>
>>> I think this topic is very interesting.
>>>
>>> Two sides of it:
>>>
>>> * Static files handling
>>> * APIs
>>>
>>> Curtis is right, there are other options but, Django REST Framework is
>>> (whilst not perfect) pretty solid on the API front. I think Django has a
>>> good story here.
>>> It's pretty hard not to find DRF if you follow any guide, or any
>>> searching at all.
>>>
>>> The static files story is a little different. It seems to me we don't
>>> tell the best story there.
>>>
>>> Rails has two things which we could be envious of, even if we didn't
>>> want to copy exactly:
>>>
>>> * The frontend framework integration that's already been mentioned.
>>> * The very easy "Ajax your form", with controllers (i.e. for us "generic
>>> views") automatically handling ajax form submissions.
>>>
>>> Both these features get users further quicker in these aspects than we
>>> are able to offer.
>>>
>>> We struggle to think of areas for improvements (re GSoC for example) but
>>> maybe here is an area.
>>>
>>> This ties into Claude's proposal here:
>>> https://groups.google.com/d/topic/django-developers/KYmNnvwXDUI/discussion
>>>
>>> My own story is, I've had lots of success with, and still use, Django
>>> Compressor.
>>>
>>>    - At it's simplest you just map a content type to a shell command to
>>>    run and then include your Sass/Less/React/Elm/whatever files in your HTML
>>>    (with script or link tags, almost in the old-school way).
>>>    - In development these are processed (& cached) per request.
>>>    - For deployment you just run an offline compression task
>>>    (management command) and then upload the files.
>>>    - That's it.
>>>
>>> It's not a coverall approach — a frontend engineer will come along and
>>> totally replace Compressor with whatever is this week's Top Javascript
>>> Build System™ BUT it is a good 80:20: it lets me do something (that
>>> approximates) respectable, without knowing hardly anything about the latest
>>> frontend hotness. (GNU Make FTW! 🙂)
>>>
>>> I think if we were to offer something out-of-the-box that got as far as
>>> Compressor, or further, we'd:
>>>
>>>    - satisfy most of our users,
>>>    - allow yet more to get off the mark quickly,
>>>    - and... well... those that need the full frontend toolchain would
>>>    still be free to use it.
>>>
>>> I worry we'd never get anything like this into core... but I think it
>>> would be good. (As I say, I think it's one area where we are lacking/behind
>>> the competition.)
>>>
>>> Kind Regards,
>>>
>>> Carlton
>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Django developers (Contributions to Django itself)" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to django-develop...@googlegroups.com.
>>> To post to this group, send email to django-d...@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/django-developers.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/django-developers/49deee81-0230-48a0-8c2a-b12eb0956810%40googlegroups.com
>>> <https://groups.google.com/d/msgid/django-developers/49deee81-0230-48a0-8c2a-b12eb0956810%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>>
>>> --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "Django developers (Contributions to Django itself)" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/django-developers/KVAZkRCq9KU/unsubscribe
>>> .
>>> To unsubscribe from this group and all its topics, send an email to
>>> django-develop...@googlegroups.com.
>>> To post to this group, send email to django-d...@googlegroups.com.
>>> Visit this group at https://groups.google.com/group/django-developers.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/django-developers/CBFA85F9-3EE1-4B74-B121-F178F551D9CD%40polytechnique.org
>>> <https://groups.google.com/d/msgid/django-developers/CBFA85F9-3EE1-4B74-B121-F178F551D9CD%40polytechnique.org?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "Django developers (Contributions to Django itself)" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-developers+unsubscr...@googlegroups.com.
> To post to this group, send email to django-developers@googlegroups.com.
> Visit this group at https://groups.google.com/group/django-developers.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-developers/b36c1ba6-0473-47d3-87e5-6b2c5c9ecbf9%40googlegroups.com
> <https://groups.google.com/d/msgid/django-developers/b36c1ba6-0473-47d3-87e5-6b2c5c9ecbf9%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>


-- 
Jani Tiainen

- Well planned is half done, and a half done has been sufficient before...

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/CAHn91ods4pS8t905EtFtUmkfomuNz4JTe-27Vx0XR-uqN-EwKA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to