<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0">
    <channel>
      <title>manatlan's news</title>
      <link>http://manatlan.com/</link>
      <description>manatlan's news</description>
      <webMaster>me@manatlan.com</webMaster>

      <language>en</language>

		<item>
			<title><![CDATA[Wobpy takes form]]></title>
			<link><![CDATA[http://manatlan.com/blog/wobpy_takes_form]]></link>
			<guid><![CDATA[http://manatlan.com/blog/wobpy_takes_form]]></guid>
			<description><![CDATA[<p>Sure, <a href="/page/wobpy">wobpy</a>'s going in the right way now. Til I decided to make it a <a href="http://www.wsgi.org">wsgi utility</a>, the APIs are going simpler. And it will be easier to setup it in any wsgi compliant frameworks. It's now more natural to declare a wobpy object. Here is a simple example in a full wsgi stack :</p>

<pre><code>from wobpy import *

class WTest(Wobpy):
    def init(self):
        b=Button("OK")
        b.connect("onclick",self.onClick)
        self.add(b)

        self.t=TextBox()
        self.add(self.t)

    def onClick(self):
        self.t.set_value( self.t.get_value() + "!" )

def simple_app(environ, start_response):
    start_response('200 OK', [('Content-type','text/html')])
    yield """&lt;script type="text/javascript"
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"&gt;&lt;/script&gt;"""
    yield str( WTest() )

if __name__ == "__main__":
    from wsgiref.simple_server import make_server
    make_server('localhost', 8011, WobpyMiddleware(simple_app)).serve_forever()
</code></pre>

<p><em>simple_app</em> is the most simple wsgi app, which send back the include script for <a href="http://www.jquery.com">jquery</a>, and the html's form of the wobpy object WTest.
All the backend (the ajax communication between the page and the server) is done via the middleware, badly nammed WobpyMiddleware.</p>

<p>It's a lot better than before. I have no dates for a public release yet. I'm working on a way to open modal dialog, and I need to fix apis. But for sure, it's really amazing to do. And it works very well.</p>

<p>Another amazing thing, it should work "as is" with <a href="http://www.codeplex.com/IronPython">ironpython</a>., at least 95% of the code base.</p>
]]></description>
            <author>manatlan</author>
			<pubDate>Sat, 14 Feb 2009 10:23:06 GMT</pubDate>
		</item>
		<item>
			<title><![CDATA[Wobpy in live, on facebook]]></title>
			<link><![CDATA[http://manatlan.com/blog/wobpy_in_live__on_facebook]]></link>
			<guid><![CDATA[http://manatlan.com/blog/wobpy_in_live__on_facebook]]></guid>
			<description><![CDATA[<p>To try <a href="/page/wobpy">Wobpy</a>, I've made a little facebook app called <a href="http://apps.facebook.com/bastons/">Bastons</a> which uses it a lot. It works. The app is hosted on <a href="http://appengine.google.com/">GAE</a> with the <a href="http://code.google.com/p/pyfacebook/">pyfacebook api</a>. Really amazing. <a href="http://appengine.google.com/">GAE</a> is definitively a great platform for facebook app too.
<a href="/page/wobpy">Wobpy</a> works well, but I need to find a better way to communicate between <a href="http://webpy.org">webpy</a> (and others python web frameworks) and wobpy ; it's not very natural.</p>
]]></description>
            <author>manatlan</author>
			<pubDate>Sun, 23 Nov 2008 23:08:35 GMT</pubDate>
		</item>
		<item>
			<title><![CDATA[Introducing wobpy]]></title>
			<link><![CDATA[http://manatlan.com/blog/introducing_wobpy]]></link>
			<guid><![CDATA[http://manatlan.com/blog/introducing_wobpy]]></guid>
			<description><![CDATA[<p>Forget my <a href="/blog/near_the_perfect_ajax_method__1">last post</a>. Since that day, I'm working on another concept, which is a lot more interesting. It uses <a href="http://webpy.org">webpy</a> and <a href="http://jquery.com">jQuery</a> too. I've found a way to make some kind of <em>server components</em>.  So it will be easy to code a web form like we code a <a href="http://gtk.org">gtk</a> window : instantiate a widget, add some objects (textarea, button, checkbox ...), declare theirs events ... and code in python only (no html, no javascript, no ajax call).</p>

<p>It's fully ajax, and coders shouldn't write any line of javascript. All states and events are transfered during the ajax call, silently. On the server side, objects keep in sync with the client.</p>

<p>Yes, it's yet another kind of <em>GUI on the web</em>, but it's amazing for me ;-). It's based on webpy, and should be an external lib. So I named it : wobpy (like webpy), wob for "web object".</p>

<p>here is an example : </p>

<pre><code>class MyForm(Wobpy):
    def __init__(self):
        Wobpy.__init__(self)

        self.t = TextArea()
        self.add(self.t)

        b=Button("go")
        b.connect("onclick",self.onbclick)
        self.add(b)

        self.l = Label()
        self.add(self.l)

    def onbclick(self):
        v=self.t.get_value()
        self.l.set_text( v )
</code></pre>

<p>When instantiate in a webpy mapped class, it will display a textarea, where you can enter some text, and when you click on the button 'go', it will put the entered text in a label.</p>

<p>Note that it looks like a gtk.Window, and could be easily mapped to gtk. It's really amazing.</p>

<p>It will be <a href="/page/wobpy">there</a> when it'll ready for prime time.</p>
]]></description>
            <author>manatlan</author>
			<pubDate>Tue, 11 Nov 2008 22:20:44 GMT</pubDate>
		</item>
    </channel>
</rss>
