At the point at which the Horizon project first began (during the Cactus, I 
believe) the handful of folks working on it wanted a Python web framework that 
would get them up and running as fast as possible. That meant lots of built-in, 
“batteries-included” features so they didn’t need to reinvent a bunch of 
wheels; and that also meant something they had at least passing familiarity 
with. So they chose Django.

Speaking from personal opinion at this point (and as a former Horizon PTL and 
Django core developer): Flask is good for writing APIs or very simple sites, 
but not for large webapps. They would have had to write a ton of code for 
things other frameworks have built-in. And Pylons and Zope don’t have nearly 
the base of community, resources, or documentation that Django does. Twisted 
would have been another option, but the event-driven model of Twisted is hard 
for many people to wrap their heads around and wasn’t appropriate at the time.

All things considered I think the choice of Django was relatively sound (I had 
nothing to do with the original choice). It’s allowed the project to grow and 
scale effectively over the last 3+ years.

At this point, though, there’s a clear demand for a more responsive and 
real-time dashboard experience, and that generally means moving as much as 
possible into a client-side JavaScript-based webapp. That’s why the Horizon 
team has been making efforts to move towards things like angular.js and 
socket.io to help bring the next era of modern Horizon functionality. It’s not 
a simple or easy transition, but as that transition takes place a vast amount 
of the Django code will likely go away.

I hope that helps shed some light on the historical reason for “why Django” as 
well as why it may matter less that it was Django and not something else over 
time.

All the best,


-          Gabriel

From: Guillermo Alvarado [mailto:guillermoalvarad...@gmail.com]
Sent: Monday, August 18, 2014 4:20 PM
To: openstack@lists.openstack.org
Subject: [Openstack] Why Horizon use Django instead Flask or other?

Hello,

I am wondering why Horizon is built in Django instead other Python Framework 
Like Pylons, Flask, Zope or oher ?


Thanks for your time!
~GA

_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack

Reply via email to