I heard lots of good opinions about Python language. They say it's mature, expressive etc... I'm looking for production-ready enterprise application frameworks in Python. By "production ready" I mean :
Is it possible at all in Python world ? Or only choices are :
Python Web framework is a collection of packages or modules that allow developers to write Web applications or services. With it, developers don't need to handle low-level details like protocols, sockets or process/thread management.
Python can be used to build server-side web applications. While a web framework is not required to build web apps, it's rare that developers would not use existing open source libraries to speed up their progress in getting their application working. Python is not used in a web browser.
PyScript is a Python front-end framework that enables users to construct Python programs using an HTML interface in the browser.
Django seems like the obvious choice. It is by far the most stable and developed framework, used by several large corporations.
Because it is a Python framework, it can generally use any Python module, as well as the many modules that have been made for Django.
It should fulfill all of your needs, and is not terribly difficult to learn/deploy.
For the context, I work at a large private bank in Switzerland, writing Enterprise applications on the J2EE stack.
There are plenty of "Production Ready" web frameworks in Python. And there are plenty of large Python-based websites out there.
That said, I think Python is a poor choice for an Enterprisy application. It can be used as a glue language, or a scripting language (our deployment scripts are Python). The showstopper for me is backward compatibility (Python 3.x isn't backward compatible with Python 2.x). The Python philosopy seems to be more to innovate and make the language better, smoother, and not necessarily to support programs written 10 years ago.
On the Web framework side, I love Django, but it is definitely much too young and it evolves too rapidly to be used in the enterprise. I don't have much experience with other Python-based frameworks.
If you want an enterprise-oriented framework, you'll have to stay with enterprise stacks (Java / .Net).
On the other hand, even in the Java world, there is a tendency to use frameworks that are less enterprisy. Think Spring vs EJB2 or EJB3 being much lighter weight than EJB2. Or think Flex (which is far from an enterprise framework in my view) being used more and more in the enterprise. So if your enterprise is openminded enough, ready to jump into the future, using Django, RoR or other modern Web 2.0, community driven, Open Source, next generation, active record based frameworks ... might not be that much of a stretch ...
And finally, to answer a few of your points directly :
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With