<?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"
	>
<channel>
	<title>Comments on: Building a Python Web Application, Part 1</title>
	<atom:link href="http://blog.paulbonser.com/2008/06/26/building-a-python-web-application-part-1/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.paulbonser.com/2008/06/26/building-a-python-web-application-part-1/</link>
	<description>Paul Bonser's blog about programming, technology, and other stuff</description>
	<pubDate>Thu, 20 Nov 2008 23:54:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: frank</title>
		<link>http://blog.paulbonser.com/2008/06/26/building-a-python-web-application-part-1/#comment-1480</link>
		<dc:creator>frank</dc:creator>
		<pubDate>Thu, 24 Jul 2008 14:40:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.paulbonser.com/?p=78#comment-1480</guid>
		<description>&lt;p&gt;One odd thing, to stop the server (at least under Windows) I have to press Ctrl-C and reload a page before the server loop will exit. This is the same behavior that you see under Google's AppEngine; maybe they are both using simple_server, I haven't checked.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>One odd thing, to stop the server (at least under Windows) I have to press Ctrl-C and reload a page before the server loop will exit. This is the same behavior that you see under Google&#8217;s AppEngine; maybe they are both using simple_server, I haven&#8217;t checked.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: links for 2008-07-08 &#171; Bloggitation</title>
		<link>http://blog.paulbonser.com/2008/06/26/building-a-python-web-application-part-1/#comment-1309</link>
		<dc:creator>links for 2008-07-08 &#171; Bloggitation</dc:creator>
		<pubDate>Tue, 08 Jul 2008 00:44:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.paulbonser.com/?p=78#comment-1309</guid>
		<description>&lt;p&gt;[...] Building a Python Web Application, Part 1 (tags: python web wsgi programming blog) [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] Building a Python Web Application, Part 1 (tags: python web wsgi programming blog) [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Programando una aplicación web con Python</title>
		<link>http://blog.paulbonser.com/2008/06/26/building-a-python-web-application-part-1/#comment-1057</link>
		<dc:creator>Programando una aplicación web con Python</dc:creator>
		<pubDate>Wed, 02 Jul 2008 14:59:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.paulbonser.com/?p=78#comment-1057</guid>
		<description>&lt;p&gt;[...] más en: Building a Python Web Application, Part 1.         Archivado en Diseño Web, Miniblog, Programación Deja aquí tu comentario &#8595; [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] más en: Building a Python Web Application, Part 1.         Archivado en Diseño Web, Miniblog, Programación Deja aquí tu comentario &darr; [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: rascunho &#187; Blog Archive &#187; links for 2008-06-29</title>
		<link>http://blog.paulbonser.com/2008/06/26/building-a-python-web-application-part-1/#comment-1038</link>
		<dc:creator>rascunho &#187; Blog Archive &#187; links for 2008-06-29</dc:creator>
		<pubDate>Sun, 29 Jun 2008 20:34:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.paulbonser.com/?p=78#comment-1038</guid>
		<description>&lt;p&gt;[...] PIBlog » Blog Archive » Building a Python Web Application, Part 1 Recently, I’ve been interested in writing web applications in Python, and one of the fun things that I discovered was the Python Web Server Gateway Interface, which is a standard interface for Python web servers, web applications, and something called m (tags: blog.paulbonser.com 2008 mes5 dia28 at_home Python web blog_post) [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] PIBlog » Blog Archive » Building a Python Web Application, Part 1 Recently, I’ve been interested in writing web applications in Python, and one of the fun things that I discovered was the Python Web Server Gateway Interface, which is a standard interface for Python web servers, web applications, and something called m (tags: blog.paulbonser.com 2008 mes5 dia28 at_home Python web blog_post) [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: pib</title>
		<link>http://blog.paulbonser.com/2008/06/26/building-a-python-web-application-part-1/#comment-1030</link>
		<dc:creator>pib</dc:creator>
		<pubDate>Sun, 29 Jun 2008 00:16:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.paulbonser.com/?p=78#comment-1030</guid>
		<description>&lt;p&gt;I would also say that it's not just if the goal is to develop simple web applications.&lt;/p&gt;

&lt;p&gt;Another perfectly acceptable reason is education.&lt;/p&gt;

&lt;p&gt;By developing my own fairly complete (albeit simple) framework, I can better understand how things work at a lower level. This will, among other things, help me to make a good decision about what framework to use for more complex applications.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I would also say that it&#8217;s not just if the goal is to develop simple web applications.</p>

<p>Another perfectly acceptable reason is education.</p>

<p>By developing my own fairly complete (albeit simple) framework, I can better understand how things work at a lower level. This will, among other things, help me to make a good decision about what framework to use for more complex applications.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Max</title>
		<link>http://blog.paulbonser.com/2008/06/26/building-a-python-web-application-part-1/#comment-1029</link>
		<dc:creator>Max</dc:creator>
		<pubDate>Sat, 28 Jun 2008 23:05:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.paulbonser.com/?p=78#comment-1029</guid>
		<description>&lt;p&gt;Pid, it depends on the goal. If the goal is to develop simple web applications than it is fine to take bits and pieces from different sources. I personally do not think there is much progress this way. I think we need few stable frameworks so that wen start developing complex plugins and specifications so that we can start programming at an even higher layer that any of us do know. Let's say I see a web app that has a nice widget. I want to be able to get the widget (literally grab it from the web page) and paste it into my app and it should just work. We'll never get there if people we continue bottom-up development. web2py API have been frozen for 8 months (we only add features and fix bugs, but never break backward compatibility) because we going to move to the next level.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Pid, it depends on the goal. If the goal is to develop simple web applications than it is fine to take bits and pieces from different sources. I personally do not think there is much progress this way. I think we need few stable frameworks so that wen start developing complex plugins and specifications so that we can start programming at an even higher layer that any of us do know. Let&#8217;s say I see a web app that has a nice widget. I want to be able to get the widget (literally grab it from the web page) and paste it into my app and it should just work. We&#8217;ll never get there if people we continue bottom-up development. web2py API have been frozen for 8 months (we only add features and fix bugs, but never break backward compatibility) because we going to move to the next level.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: links for 2008-06-28 &#171; Donghai Ma</title>
		<link>http://blog.paulbonser.com/2008/06/26/building-a-python-web-application-part-1/#comment-1018</link>
		<dc:creator>links for 2008-06-28 &#171; Donghai Ma</dc:creator>
		<pubDate>Sat, 28 Jun 2008 04:34:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.paulbonser.com/?p=78#comment-1018</guid>
		<description>&lt;p&gt;[...] PIBlog » Blog Archive » Building a Python Web Application, Part 1 (tags: python webdev programming wsgi webapp web) [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] PIBlog » Blog Archive » Building a Python Web Application, Part 1 (tags: python webdev programming wsgi webapp web) [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: pib</title>
		<link>http://blog.paulbonser.com/2008/06/26/building-a-python-web-application-part-1/#comment-1017</link>
		<dc:creator>pib</dc:creator>
		<pubDate>Sat, 28 Jun 2008 01:51:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.paulbonser.com/?p=78#comment-1017</guid>
		<description>&lt;p&gt;@Max:
I agree that starting completely from scratch is probably not a good idea. However, I wouldn't say that we need to encourage people to use high-level frameworks. Or at least, we don't need to encourage people to use entire high-level frameworks.&lt;/p&gt;

&lt;p&gt;That's the nice thing about wsgi, you can take bits and pieces from all over the place and glue them together with relatively little effort.&lt;/p&gt;

&lt;p&gt;Unless you're creating an application which fits perfectly into the model of a given framework, it will probably take you less time to make your own framwork which matches your needs exactly. Not &lt;em&gt;from scratch&lt;/em&gt;, but from existing standalone pieces. Otherwise, you'll end up spending a large chunk of time working around quirks in the framwork you've chosen, or even worse, you'll find yourself locked into a given framework even when it proves to not fit as well as another would.&lt;/p&gt;

&lt;p&gt;This is especially bad when you run into issues of scalability. If you make your application out of loosely coupled components, you can easily swap out the chunk that doesn't scale well. With some framworks, this (swapping out bits and pieces) can be difficult to do.&lt;/p&gt;

&lt;p&gt;In my next post on this subject I'll be going into more detail of using preexisting components to build you own application, so you'll see I'm not advocating building a whole application at such a low level. This starting post was just to give an idea of what will lie below everything.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Max:
I agree that starting completely from scratch is probably not a good idea. However, I wouldn&#8217;t say that we need to encourage people to use high-level frameworks. Or at least, we don&#8217;t need to encourage people to use entire high-level frameworks.</p>

<p>That&#8217;s the nice thing about wsgi, you can take bits and pieces from all over the place and glue them together with relatively little effort.</p>

<p>Unless you&#8217;re creating an application which fits perfectly into the model of a given framework, it will probably take you less time to make your own framwork which matches your needs exactly. Not <em>from scratch</em>, but from existing standalone pieces. Otherwise, you&#8217;ll end up spending a large chunk of time working around quirks in the framwork you&#8217;ve chosen, or even worse, you&#8217;ll find yourself locked into a given framework even when it proves to not fit as well as another would.</p>

<p>This is especially bad when you run into issues of scalability. If you make your application out of loosely coupled components, you can easily swap out the chunk that doesn&#8217;t scale well. With some framworks, this (swapping out bits and pieces) can be difficult to do.</p>

<p>In my next post on this subject I&#8217;ll be going into more detail of using preexisting components to build you own application, so you&#8217;ll see I&#8217;m not advocating building a whole application at such a low level. This starting post was just to give an idea of what will lie below everything.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: The Burgeoning Openly Owned Web &#187; links for 2008-06-28</title>
		<link>http://blog.paulbonser.com/2008/06/26/building-a-python-web-application-part-1/#comment-1016</link>
		<dc:creator>The Burgeoning Openly Owned Web &#187; links for 2008-06-28</dc:creator>
		<pubDate>Sat, 28 Jun 2008 01:13:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.paulbonser.com/?p=78#comment-1016</guid>
		<description>&lt;p&gt;[...] PIBlog » Blog Archive » Building a Python Web Application, Part 1 (tags: python webdev wsgi webapp) [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] PIBlog » Blog Archive » Building a Python Web Application, Part 1 (tags: python webdev wsgi webapp) [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Max</title>
		<link>http://blog.paulbonser.com/2008/06/26/building-a-python-web-application-part-1/#comment-1012</link>
		<dc:creator>Max</dc:creator>
		<pubDate>Fri, 27 Jun 2008 19:10:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.paulbonser.com/?p=78#comment-1012</guid>
		<description>&lt;p&gt;pib, I agree. Your article is in fact quite excellent. The problem I see is that while Python is an excellent language for web development (because of wsgi) most of the examples posted out there scare non-python programmers away, they are too low level. This is the point I tried to make with my comment and with my work. I do not think we should encourage people to program at this low level because they &lt;em&gt;may&lt;/em&gt; create very insecure applications (no url validation, no input validation, no secure cookies, no escaping of output, etc.) Python may get the same bad reputation as PHP does. We need to encourage people to use a high level framework (web2py or Django or TurboGears, etc.) that will give access to the power of python but that will take care of many issues for them. There is no progress if we all start from scratch. There is progress we all "stand of the shoulders of giants".&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>pib, I agree. Your article is in fact quite excellent. The problem I see is that while Python is an excellent language for web development (because of wsgi) most of the examples posted out there scare non-python programmers away, they are too low level. This is the point I tried to make with my comment and with my work. I do not think we should encourage people to program at this low level because they <em>may</em> create very insecure applications (no url validation, no input validation, no secure cookies, no escaping of output, etc.) Python may get the same bad reputation as PHP does. We need to encourage people to use a high level framework (web2py or Django or TurboGears, etc.) that will give access to the power of python but that will take care of many issues for them. There is no progress if we all start from scratch. There is progress we all &#8220;stand of the shoulders of giants&#8221;.</p>]]></content:encoded>
	</item>
</channel>
</rss>
