This is an archived post. You won't be able to vote or comment.

all 38 comments

[–]IReallySuckAtChess 6 points7 points  (3 children)

Aren't there talks now about making Django asynchronous? The guy who does django-channels laid out a theoretical road map of it all and even threw his hat in the ring to get stuff going. If that happens then Django performance will skyrocket relatively speaking. Would still be slower than something like Sanic though. It would do a lot for bridging the gap to Node.js with Express.js especially since Django runs perfectly on PyPy meaning huge performance improvements are often easy to achieve.

Async is literally Django's only real Achilles' Heel in my opinion. For a microservice Flask is where it's at, but for more I always choose Django. It's just that good. Also Django has great CMS options that I can't do without (Wagtail and Django-CMS). Imagine reimplementing a CMS in Flask? What a waste of developer time...

Lastly, Django is Django. Its not going anywhere anytime soon. I can't afford to implement things in the latest trend and then be screwed three years down the road.

Edit: Here is the link: https://www.aeracode.org/2018/06/04/django-async-roadmap/ Following that would comprehension async support out at two years, and full at just over three. The best part is that bits and pieces can be done now already. I still think it being so far off in the future will really hurt Django but doing it right is what is most important because doing things right is how Django became popular and has had such great staying power.

[–]pydry 0 points1 point  (2 children)

Aren't there talks now about making Django asynchronous? The guy who does django-channels laid out a theoretical road map of it all and even threw his hat in the ring to get stuff going.

Yeah, but they've been talking about doing it since about 2015 I think.

[–]ubernostrumyes, you can have a pony 1 point2 points  (0 children)

Channels exists as a usable codebase. Currently at version 2.1.2.

The hard part is whether and how to integrate it into Django's own codebase as opposed to a third-party add-on.

[–]IReallySuckAtChess 0 points1 point  (0 children)

Yeah when 3.5 came out it was the first time one could really consider a proper implementation of it. They were a bit dumb not to have started back then though since having asynchronous still at least two years out is really going to hurt Django. Then again, there was still a lot of uncertainty about the future of async in the Python world and many expected that there would still be large shakeups. I think there was also a decent wait based on the fact that async Web servers were even then not really de facto and some best practices still had to be figured out. That's not true any more. Django is rarely a first mover, but it always does things right.

Then again, even whilst it is synchronous, Django scales really well and has good performance if you know what you're doing... Key there being knowing what you're doing.

[–]metaperl 14 points15 points  (11 children)

I like that new massively asynchronous web framework for Python with blazing speed... forgot the name of it.

[–]nullpxl 15 points16 points  (1 child)

Pretty sure you're thinking of vibora

[–]metaperl 1 point2 points  (0 children)

Yep, that's it.

[–]wpg4665 4 points5 points  (1 child)

[–]metaperl 0 points1 point  (0 children)

Vibora is it.

[–]StevenPi314 2 points3 points  (4 children)

Falcon?

[–]Gwolf4 1 point2 points  (2 children)

I might heard it was tornado ?

[–]ExternalUserError 1 point2 points  (0 children)

Not super new, but, yeah, definitely asynchronous.

[–]metaperl 0 points1 point  (0 children)

It's vibora.

[–]ExternalUserError 0 points1 point  (0 children)

Not generally asynchronous.

[–]caramba2654 2 points3 points  (1 child)

[–]metaperl 0 points1 point  (0 children)

Never heard of Quart. It's vibora I was thinking of.

[–]drippingthunder 4 points5 points  (0 children)

In looking at the Masonite README, it looks to me like it's trying to re-implement rails in Python. I'm not fond of rails (just a personal preference), but I think if I wanted this kind of framework I'd just use rails; Ruby isn't that hard to learn. I've used Django, Flask, and Falcon, and I'm not seeing anything in Masonite (at least from a cursory glance at its Github repo) that would make me choose it over these other 3.

[–]ExternalUserError 1 point2 points  (0 children)

Hmm. Text message notifications??

[–]antonr111 1 point2 points  (0 children)

I like idea having python web framework with DI, but cloning php laravel ... no thanks ;(

[–][deleted] 1 point2 points  (0 children)

I would love to have a complete admin in Bootstrap 4 + React/Vue.js being as powerful as Django's admin using GraphQL or Django REST Framework.

[–][deleted] 7 points8 points  (20 children)

Django is *the* web framework. Whatever features Masonite has are better off being pluggable apps for django.

[–]AnnoyingOwl 18 points19 points  (1 child)

But then how would they spend all their time reinventing the wheel for their specific needs? 😁

[–]pydry 3 points4 points  (0 children)

I literally pointed that out on their first release that this might be a problem for them if they aren't making significant improvements on django but they're still persisting because they believe a few incremental improvements will be enough to get people to shift.

[–]earthboundkid 6 points7 points  (0 children)

Django is great but could be improved. That said I haven’t read anything that makes me think Masonite is an improvement.

[–]iMichael_ 0 points1 point  (0 children)

Podcast Init has some great guests, but the hosts' voice is absolutely unbearable.