Hi, While I don't plan to work on the new AUR, I have experience with both Flask and Django. I generally don't like the kind of comments that go "it would be nicer if you do X and Y" from people that won't actually participate, but I still feel it's relevant: On 24-05-20, Ricardo Band wrote:
I'm a python programmer for a while now and I really like the small size and simplicity of Flask. But let me give you one advice here. If you're dealing with a more complex application Flask tends to become more complex and very hard to manage. All of a sudden you integrate about 10 Flask addons. Some of them are not well maintained. Some droppen support for others etc. You have to manage all those dependencies.
Personally I prefer Django in more complex projects as it comes with everything included. You rarely have to add something to your dependencies.
I completely agree with this. Flask is fantastic for simple projects. But once you start adding users, authentication, an admin panel, command-line scripts, and so on, it quickly becomes a mess. Django is much more structured, which is a big advantage for complex projects. Regarding databases and migrations, Django is much nicer to work with than SQLAlchemy / Flask-SQLAlchemy. For instance, with Flask-SQLAlchemy I've had serious consistency issues between PostgreSQL and Sqlite, something that I had never seen with Django. Also, the Flask ecosystem is not exactly bustling with activity. On the positive side, this is because things are remarkably stable and working as intended. On the negative side, it means some amount of bit-rot and unmaintained projects, although it's clearly not to the point of complete disrepair.
My personal rule of thumb is to use Flask for everything simple. When users are involved it immediatly becomes complex and I switch to Django.
Very nice rule of thumb indeed!
So for example a small API without user database is good job for flask. A blog like app where I have to deal with users, registrations etc is a good job for Django.
With all that being said, if the people that will be developping the new AUR don't know anything about Django, it would mean investing time to learn Django. Baptiste