<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: The Shrinking Python Web Framework World</title>
	<atom:link href="http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/</link>
	<description></description>
	<pubDate>Wed, 17 Mar 2010 07:45:43 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Rahul</title>
		<link>http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/comment-page-1/#comment-151939</link>
		<dc:creator>Rahul</dc:creator>
		<pubDate>Mon, 15 Feb 2010 06:21:23 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/#comment-151939</guid>
		<description>I tried both Django (1.1 Final) and Web2py (1.74.11) I think both these are good frameworks. WEb2py is a tag easier than Django. Great job Missio!</description>
		<content:encoded><![CDATA[<p>I tried both Django (1.1 Final) and Web2py (1.74.11) I think both these are good frameworks. WEb2py is a tag easier than Django. Great job Missio!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: NicolasChauvat</title>
		<link>http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/comment-page-1/#comment-88831</link>
		<dc:creator>NicolasChauvat</dc:creator>
		<pubDate>Mon, 16 Mar 2009 07:14:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/#comment-88831</guid>
		<description>What about a robust and mature (started in 2000) Python framework that recently went public under the LGPL and has had for years the features that will be very hard to add to django, like multi-database support ? &lt;a href="http://www.cubicweb.org" rel="nofollow"&gt;CubicWeb&lt;/a&gt; is a semantic web application framework worth reading about.</description>
		<content:encoded><![CDATA[<p>What about a robust and mature (started in 2000) Python framework that recently went public under the LGPL and has had for years the features that will be very hard to add to django, like multi-database support ? <a href="http://www.cubicweb.org" rel="nofollow">CubicWeb</a> is a semantic web application framework worth reading about.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mormon</title>
		<link>http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/comment-page-1/#comment-25192</link>
		<dc:creator>mormon</dc:creator>
		<pubDate>Thu, 07 Aug 2008 04:57:36 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/#comment-25192</guid>
		<description>With regard to RoR's elephants, yeah.  It still lacks speed-wise and, ridiculously, requires multiple concurrent mongrels if you want any type of throughput.
The hope, however, is that using fibers, event driven DB access and Ruby 1.9's faster VM will help it avoid some of those problems, but...well...it ain't yet :)
Hopefully sometime.
Now to see if we can get Rails thread-safe...
Django is indeed nice.  I'd put it right up there with RoR, if not above.
-R</description>
		<content:encoded><![CDATA[<p>With regard to RoR&#8217;s elephants, yeah.  It still lacks speed-wise and, ridiculously, requires multiple concurrent mongrels if you want any type of throughput.
The hope, however, is that using fibers, event driven DB access and Ruby 1.9&#8217;s faster VM will help it avoid some of those problems, but&#8230;well&#8230;it ain&#8217;t yet :)
Hopefully sometime.
Now to see if we can get Rails thread-safe&#8230;
Django is indeed nice.  I&#8217;d put it right up there with RoR, if not above.
-R</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tom</title>
		<link>http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/comment-page-1/#comment-15509</link>
		<dc:creator>tom</dc:creator>
		<pubDate>Fri, 22 Feb 2008 22:54:09 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/#comment-15509</guid>
		<description>I started to use Django a few months ago and I am very impressed by its ease of use and performance. I was new to Python (coming from C#) and was a bit surprised by then quickly amazed by the simplicity and power of this language !

Concerning Python frameworks, Django is definitely my favorite ! I just found the frequency of the release a bit slow. A good start to evaluate other Python frameworks :
http://www.therightsoft.com/softwaretechnologies/webframeworks/?languageid=2

(though as said before in the discussion, all the items are not comparable...)</description>
		<content:encoded><![CDATA[<p>I started to use Django a few months ago and I am very impressed by its ease of use and performance. I was new to Python (coming from C#) and was a bit surprised by then quickly amazed by the simplicity and power of this language !</p>

<p>Concerning Python frameworks, Django is definitely my favorite ! I just found the frequency of the release a bit slow. A good start to evaluate other Python frameworks :
<a href="http://www.therightsoft.com/softwaretechnologies/webframeworks/?languageid=2" rel="nofollow">http://www.therightsoft.com/softwaretechnologies/webframeworks/?languageid=2</a></p>

<p>(though as said before in the discussion, all the items are not comparable&#8230;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Massimo</title>
		<link>http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/comment-page-1/#comment-1451</link>
		<dc:creator>Massimo</dc:creator>
		<pubDate>Sat, 13 Oct 2007 04:32:14 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/#comment-1451</guid>
		<description>&lt;a href="http://www.youtube.com/watch?v=VBjja6N6IYk" rel="nofollow"&gt;Here&lt;/a&gt; is a video respose to this discussion. It makes the list longer but I am trying to make a point about usability and software engineering: 1) you cannot require your average user to be as knowledgeble as the developers of the framework; 2) choose a top-down design, not a bottom-up one, otherwise your users will be disappointed by APIs that change on a weekly basis. With &lt;a href="http://mdp.cti.depaul.edu/examples" rel="nofollow"&gt;Gluon&lt;/a&gt; I have tried to address these two issues. Remember that our competitors are not other Python frameworks. Our competitors are JSP, PHP and perhaps Ruby on Rails.</description>
		<content:encoded><![CDATA[<p><a href="http://www.youtube.com/watch?v=VBjja6N6IYk" rel="nofollow">Here</a> is a video respose to this discussion. It makes the list longer but I am trying to make a point about usability and software engineering: 1) you cannot require your average user to be as knowledgeble as the developers of the framework; 2) choose a top-down design, not a bottom-up one, otherwise your users will be disappointed by APIs that change on a weekly basis. With <a href="http://mdp.cti.depaul.edu/examples" rel="nofollow">Gluon</a> I have tried to address these two issues. Remember that our competitors are not other Python frameworks. Our competitors are JSP, PHP and perhaps Ruby on Rails.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bir2su</title>
		<link>http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/comment-page-1/#comment-1229</link>
		<dc:creator>bir2su</dc:creator>
		<pubDate>Fri, 05 Oct 2007 10:46:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/#comment-1229</guid>
		<description>Django is the best framework not only in the python world. it is the best web framework ever built. Unlike other framework it is scalable and is ideal framework for the agile web development.
 
you can download the django book(pdf) at bir2su.blogspot.com</description>
		<content:encoded><![CDATA[<p>Django is the best framework not only in the python world. it is the best web framework ever built. Unlike other framework it is scalable and is ideal framework for the agile web development.</p>

<p>you can download the django book(pdf) at bir2su.blogspot.com</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Seeking Refuge</title>
		<link>http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/comment-page-1/#comment-1089</link>
		<dc:creator>Seeking Refuge</dc:creator>
		<pubDate>Mon, 24 Sep 2007 13:22:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/#comment-1089</guid>
		<description>Regarding RoR, I've arrived back at Python from Ruby,  finding that they have a much bigger elephant in their room,  probably several elephants.

First of all,  the only deployment game in town is currently Mongrel,  and the proposal is that you deploy 5 or so 30 meg Rails processes PER APPLICATION.  So you have a bunch of little clusters popping up everywhere hogging all the RAM,  and in lieu of a single server,  they propose that this all be managed by a thing called Capistrano.  I simply can't do this.

I went back to Django after seeing the simple and familiar Apache prefork deployment on mod_python.  Should be good enough.  RoR/Mongrel is some kind of bandaid.  Who thought of this per-app clustered architecture,  at 30 megs a pop?  Am I seriously willing to deploy that?  Guess I'll have to take a look...

Who knows though...maybe I'll end up going back.  Get to know Capistrano.  Seems to me they've become as complex as Java.  Hey,  maybe I'll just go back to Java.</description>
		<content:encoded><![CDATA[<p>Regarding RoR, I&#8217;ve arrived back at Python from Ruby,  finding that they have a much bigger elephant in their room,  probably several elephants.</p>

<p>First of all,  the only deployment game in town is currently Mongrel,  and the proposal is that you deploy 5 or so 30 meg Rails processes PER APPLICATION.  So you have a bunch of little clusters popping up everywhere hogging all the RAM,  and in lieu of a single server,  they propose that this all be managed by a thing called Capistrano.  I simply can&#8217;t do this.</p>

<p>I went back to Django after seeing the simple and familiar Apache prefork deployment on mod_python.  Should be good enough.  RoR/Mongrel is some kind of bandaid.  Who thought of this per-app clustered architecture,  at 30 megs a pop?  Am I seriously willing to deploy that?  Guess I&#8217;ll have to take a look&#8230;</p>

<p>Who knows though&#8230;maybe I&#8217;ll end up going back.  Get to know Capistrano.  Seems to me they&#8217;ve become as complex as Java.  Hey,  maybe I&#8217;ll just go back to Java.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sharp Programmer</title>
		<link>http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/comment-page-1/#comment-792</link>
		<dc:creator>Sharp Programmer</dc:creator>
		<pubDate>Sun, 09 Sep 2007 03:40:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/#comment-792</guid>
		<description>I just entered into Python world. I speak Perl. Once I grab up enough syntax, I'll look at the framework. Thanks</description>
		<content:encoded><![CDATA[<p>I just entered into Python world. I speak Perl. Once I grab up enough syntax, I&#8217;ll look at the framework. Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Orr</title>
		<link>http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/comment-page-1/#comment-513</link>
		<dc:creator>Mike Orr</dc:creator>
		<pubDate>Fri, 31 Aug 2007 19:54:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/#comment-513</guid>
		<description>It's interesting that some people now consider CherryPy "not a framework". When the angst over the burgeoning number of frameworks climaxed in 2005 at the PyWebOff talk in PyCon 2005, CherryPy was one of the foremost frameworks. So what happened?

TurboGears introduced the concept of "megaframework", which Django and Pylons are also competing in. It looks like this has now become people's concept of a "framework", and the simpler frameworks are now... framework components?

The original definition of a framework was "it calls you" -- i.e., a container for your application -- as opposed to a library where is "you call it". So all these server/dispatcher thingys are frameworks under this definition, including small ones like Paste and web.py.

Quixote is still maintained and in production sites. Its lack of activity is due to its stability as well as its minimalistic philosophy: fewer features means fewer bugs.  The Quixote developers have chosen not to compete in the megaframework arena but instead to let people come to it. It does what its paying sponsors need, in any case. :) Future development has been targeted to Qpy, which has a more extensible codebase.</description>
		<content:encoded><![CDATA[<p>It&#8217;s interesting that some people now consider CherryPy &#8220;not a framework&#8221;. When the angst over the burgeoning number of frameworks climaxed in 2005 at the PyWebOff talk in PyCon 2005, CherryPy was one of the foremost frameworks. So what happened?</p>

<p>TurboGears introduced the concept of &#8220;megaframework&#8221;, which Django and Pylons are also competing in. It looks like this has now become people&#8217;s concept of a &#8220;framework&#8221;, and the simpler frameworks are now&#8230; framework components?</p>

<p>The original definition of a framework was &#8220;it calls you&#8221; &#8212; i.e., a container for your application &#8212; as opposed to a library where is &#8220;you call it&#8221;. So all these server/dispatcher thingys are frameworks under this definition, including small ones like Paste and web.py.</p>

<p>Quixote is still maintained and in production sites. Its lack of activity is due to its stability as well as its minimalistic philosophy: fewer features means fewer bugs.  The Quixote developers have chosen not to compete in the megaframework arena but instead to let people come to it. It does what its paying sponsors need, in any case. :) Future development has been targeted to Qpy, which has a more extensible codebase.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Boddie</title>
		<link>http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/comment-page-1/#comment-320</link>
		<dc:creator>Paul Boddie</dc:creator>
		<pubDate>Thu, 23 Aug 2007 15:51:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.ianbicking.org/2007/08/21/the-shrinking-python-web-framework-world/#comment-320</guid>
		<description>"Not really. Pylons and Turbogears recommend Genshi or Mako templates which are both built for Unicode from the ground up."

Nice to see that there's a consensus. It wasn't always this way, I believe.

"There are issues remaining with unicode, but at this point its primarily a Python problem (and in some cases, a database problem, like MySQL which can present some encoding challenges); strings are still represented as bytestrings by default, and converting into unicode objects can be tricky."

Ignoring the database issues, which can be awkward, the "tricky" part of converting byte sequences (plain strings) into characters (Unicode) is hardly a "Python problem" unless that's a label for the work that framework developers don't want to do: it's a fundamental part of interpreting the data. Python 3000 doesn't magically solve this for you because the issues don't go away with Python 2.x. Instead, they reside in the nature of the data the framework is busy pumping backward and forward on your behalf - precisely at the point where the framework should be lending a hand.

I didn't bother exposing data as Unicode in WebStack for some time, mostly because I used the excuse that it was but a thin wrapper over other frameworks, but having full Unicode support for Java Servlets and "pot luck" for all the CPython stuff was highly embarrassing - it would be like an XML toolkit giving you plain strings and making you do encoding conversions manually.

If I wanted to point the finger at a guilty party on the subject of Unicode, encodings, and so on, it'd be the people who wrote the HTTP specifications, along with the people writing the next generation of them who are probably more inclined to dream up fancy new form widgets than define unambiguous behaviour. Nevertheless, other people have considered such matters before, and it isn't particularly sensible to just ignore their work, even if they aren't the "cool" people any more.</description>
		<content:encoded><![CDATA[<p>&#8220;Not really. Pylons and Turbogears recommend Genshi or Mako templates which are both built for Unicode from the ground up.&#8221;</p>

<p>Nice to see that there&#8217;s a consensus. It wasn&#8217;t always this way, I believe.</p>

<p>&#8220;There are issues remaining with unicode, but at this point its primarily a Python problem (and in some cases, a database problem, like MySQL which can present some encoding challenges); strings are still represented as bytestrings by default, and converting into unicode objects can be tricky.&#8221;</p>

<p>Ignoring the database issues, which can be awkward, the &#8220;tricky&#8221; part of converting byte sequences (plain strings) into characters (Unicode) is hardly a &#8220;Python problem&#8221; unless that&#8217;s a label for the work that framework developers don&#8217;t want to do: it&#8217;s a fundamental part of interpreting the data. Python 3000 doesn&#8217;t magically solve this for you because the issues don&#8217;t go away with Python 2.x. Instead, they reside in the nature of the data the framework is busy pumping backward and forward on your behalf - precisely at the point where the framework should be lending a hand.</p>

<p>I didn&#8217;t bother exposing data as Unicode in WebStack for some time, mostly because I used the excuse that it was but a thin wrapper over other frameworks, but having full Unicode support for Java Servlets and &#8220;pot luck&#8221; for all the CPython stuff was highly embarrassing - it would be like an XML toolkit giving you plain strings and making you do encoding conversions manually.</p>

<p>If I wanted to point the finger at a guilty party on the subject of Unicode, encodings, and so on, it&#8217;d be the people who wrote the HTTP specifications, along with the people writing the next generation of them who are probably more inclined to dream up fancy new form widgets than define unambiguous behaviour. Nevertheless, other people have considered such matters before, and it isn&#8217;t particularly sensible to just ignore their work, even if they aren&#8217;t the &#8220;cool&#8221; people any more.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.653 seconds -->
