Django still lacks typing support. Does Plain improve on this at all? I didn't see typing mentioned in the docs..
If you want strong typing in a web framework, why wouldn’t you just use a language with strong typing?
Plain – a web framework for building products with Python
61–70 of 168 posts
Re: Plain – a web framework for building products with Python
#62Earlier quoted context omitted.
I'm a Django user and I'm happy to see a fork because while Django is mature, it's also stagnating because the project isn't able to break things by introducing new features. I don't think Plain will replace Django anytime soon but it might help guide decisions. Plain being backed by a for-profit company is also great because projects like Django could use more marketing. Vercel figured this out a long time ago.
I'm not sure Django is stagnating. It recently added task queues as a concept, which was desperately needed, but there's not a lot else that's truly necessary. The important thing for me here is that Django has a very mature extension model – apps, packages, backends, etc – that mean that most functionality can and should be implemented as separate packages that plug in well. Almost all the Plain features are either…
Re: Plain – a web framework for building products with Python
#63> Plain is a fork of Django Why. This makes me sad. Plain looks great, but Django's strength is its maturity and amazing, enduring community built on contributions from thousands. Forking it will at best split contributions and mean infrequent merges, and at worst means Plain users lose out on Django improvements and Django users lose out on Plain patches. It seems like Plain could be just a set of Django packages kn…
Because late stage open source capitalism is now bypassing the messy business of building something popular and going straight open-core/vercel-model on the back of already popular libraries and frameworks. The emerging playbook is: - Find successful open source project - Fork with "reasons" - Pour VC into helpful features, great docs, DX and evangelism - Run the Vercel playbook We're gonna see a lot more of this.
Re: Plain – a web framework for building products with Python
#64I don't know if Plain has a chance to succeed but I understand why it is a fork. Django leadership haven't been able to move Django forward outside of its old paradigms and every attempt, be it a fork or third-party app, counts.
Can you elaborate on this? What paradigms do you think are outdated? Generally speaking, I think Django has lagged a bit behind other frameworks. However, the continued advantage of being Python driven has left it useful in my book when working with Python data utilities in the back end. What’s your perspective here?
1. REST/HTTP API building needs to be built in for a batteries included framework. In 2025 it is already so so late. REST Framework is "finished" and even if it wasn't the third-party extensions including Ninja feel alien. They need their own routing (why?), their own serialization, have their own extensions or features (rate limiting) that should just be more generic.
2. Python optional typing is always rejected or postponed. Same with any effort to just make starting a project easier because Django doesn't want to ship any dependencies even if it means better outcomes. Recent discussions about shortening django-admin to django can give you enough information about how community decision making is difficult for bringing new (and great) ideas in.
3. Better approach for template components. Django should have good primitives so that people can built UI libraries on top. You can see 10+ third-party packages now but I think it should be included batteries.
4. Authorization. The whole authorization framework assumes that you run a website like the original newspaper. It absolutely cannot work with a multi-tenant SAAS apps that everyone wants to build.
5. Not being able to correct past mistakes or outdated stuff. For example still Django's user model is bad. I really don't understand how something so important cannot be fixed.
Re: Plain – a web framework for building products with Python
#65Earlier quoted context omitted.
I'm a Django user and I'm happy to see a fork because while Django is mature, it's also stagnating because the project isn't able to break things by introducing new features. I don't think Plain will replace Django anytime soon but it might help guide decisions. Plain being backed by a for-profit company is also great because projects like Django could use more marketing. Vercel figured this out a long time ago.
I'm not sure Django is stagnating. It recently added task queues as a concept, which was desperately needed, but there's not a lot else that's truly necessary. The important thing for me here is that Django has a very mature extension model – apps, packages, backends, etc – that mean that most functionality can and should be implemented as separate packages that plug in well. Almost all the Plain features are either…
It took me a while to find any information on this, so for others:
https://forum.djangoproject.com/t/django-tasks-bringing-back...
https://github.com/django/deps/blob/main/accepted/0014-backg...
Re: Plain – a web framework for building products with Python
#66It’s right (as explained in the about):
- to like Django and all the 1000s of contributions
- to be frustrated by its limits & to want to do more
- to fork and rearchitect if you can’t get there by debate
- that people may like it and come along or the ride
- in many of the features and design points
- to embrace HTMX
It’s wrong:
- to try to innovate on the Python/Django ecosystem
- to miss out on functional code for HTML composition
- to continue the framework paradigm - HTMX leads to server side which leads to devs reclaiming the application loop
If, like me, you feel that plain is on the right track, but want to go faster / further, then I encourage you to take a look at https://harcstack.org. [disclaimer, I am the author]
Re: Plain – a web framework for building products with Python
#67> Plain is a fork of Django Why. This makes me sad. Plain looks great, but Django's strength is its maturity and amazing, enduring community built on contributions from thousands. Forking it will at best split contributions and mean infrequent merges, and at worst means Plain users lose out on Django improvements and Django users lose out on Plain patches. It seems like Plain could be just a set of Django packages kn…
Because late stage open source capitalism is now bypassing the messy business of building something popular and going straight open-core/vercel-model on the back of already popular libraries and frameworks. The emerging playbook is: - Find successful open source project - Fork with "reasons" - Pour VC into helpful features, great docs, DX and evangelism - Run the Vercel playbook We're gonna see a lot more of this.
Re: Plain – a web framework for building products with Python
#68Earlier quoted context omitted.
I'm a Django user and I'm happy to see a fork because while Django is mature, it's also stagnating because the project isn't able to break things by introducing new features. I don't think Plain will replace Django anytime soon but it might help guide decisions. Plain being backed by a for-profit company is also great because projects like Django could use more marketing. Vercel figured this out a long time ago.
I'm not sure Django is stagnating. It recently added task queues as a concept, which was desperately needed, but there's not a lot else that's truly necessary. The important thing for me here is that Django has a very mature extension model – apps, packages, backends, etc – that mean that most functionality can and should be implemented as separate packages that plug in well. Almost all the Plain features are either…
A lot more testing needs to be done before adding anything. The community should welcome projects like Plain, that can move fast and break things, which in turn might inspire Django.
Re: Plain – a web framework for building products with Python
#69This feels right and wrong at the same time. It’s right (as explained in the about): - to like Django and all the 1000s of contributions - to be frustrated by its limits & to want to do more - to fork and rearchitect if you can’t get there by debate - that people may like it and come along or the ride - in many of the features and design points - to embrace HTMX It’s wrong: - to try to innovate on the Python/Django e…
Re: Plain – a web framework for building products with Python
#70This feels right and wrong at the same time. It’s right (as explained in the about): - to like Django and all the 1000s of contributions - to be frustrated by its limits & to want to do more - to fork and rearchitect if you can’t get there by debate - that people may like it and come along or the ride - in many of the features and design points - to embrace HTMX It’s wrong: - to try to innovate on the Python/Django e…
Do you have more posts about this? My main gripe about Django is that the usual html templating options are but-uggly (as opposed to those that ship with Rails), but I haven't tried one of the new options.
https://rakujourney.wordpress.com/2024/10/27/raku-htmlfuncti...
i’m planning a series of posts on HARC stack starting tomorrow (just finalizing first one)
you can use the RSS at https://raku.org or subscribe to https://rakudoweekly.blog/ to get them