I’ve try to make a python web framework based on bottle.py
I’m unhappy with several available web framework.
Some are too restrictive. Enforce me to learn so many alien things.
Some is good enough, but it hide many things, there is a lot of magic there.
Some is too simple, so make something other than “hello world” will be difficult.
I’m familiar with PHP, and I love CodeIgniter. But I think python is better than PHP. I like the whitespace indentation and it’s consistency, plus python has many available packages. But yet, I can’t find any comfortable web-framework. So, I try to make one: https://github.com/goFrendiAsgard/kokoropy
Before I continue to build things, I need to make sure, is there any web-framework which is simple, MVC oriented, portable, easy to learn, explicit, and has automatic routing already (something like codeIgniter)?
I’ve play with django and find it too difficult and too restrictive. (May be it is just me)
Web2py is good. But I hate how the models autoloaded. Also I don’t like how it implicitly import things. There are many work-around, like add if 0: import things etc, but it seems to tricky for me.
Also, what do you thing about my “hand-made” web-framework? It is not completed yet, but I will make something like core_model and core_controller class. It will be like CodeIgniter, but with more restrictive published function (e.g: there should be action_ prefix to make the function accessible via browser)
To my mind, django is the most mature Python framework for high-level web programming. For lower level tasks there is some choice (twisted, gevent and some others, though I prefer these two).
Nearly 5 years ago I have already been developing a web framework. It worked, it was used in several projects, and the process of development was useful from educational point of view.
However, though now there is a lot of code based on it, I admit that an attempt to develop an own framework and to use it in real projects was my mistake. It is not possible for a small team to make a framework comparable to django. Django develops faster, it is tested better, a huge community finds out bugs etc. It has a lot of third-party plugins and already supports a lot of things I currently don’t even think about.
So, my advice is: if your development aims at education and deeper understanding Python, WSGI, web development etc., you may continue to develop your framework. It is a great pleasure to develop one. 🙂 However, if you aim at building real projects on top of it, don’t waste your time on an own framework. You may use django (which is my preference: I think that following the main stream is usually reasonable), or not, it is up to you. But not an own framework.
Sorry if my oppinion is disappointing, and of course it is only my opinion based on my personal experience.