Thursday, August 13, 2009

Scripting the browser with Python - Gestalt

Gestalt is a new project by Microsoft MIX labs that uses Silverlight to allow you to use Python and Ruby to script the browser in the same way that you use Javascript. It is open source and has a home on codeplex:
  • Gestalt.js is a library released by MIX Online Labs that allows you to write Ruby, Python & XAML code in your (X)HTML pages. It enables you to build richer and more powerful web applications by marrying the benefits of expressive languages, modern compilers, AJAX & RIAs with the write » save » refresh development model of the web.
  • Gestalt is a way of building more powerful web applications without changing the way you work. Learn more
  • Gestalt is built on IronRuby and IronPython for Silverlight
  • This CodePlex project makes available the sample and source code for Gestalt.
Gestalt is still young but Steve Gilham has been trying out the beta:
The Python-in-the-page concept for Mix's Gestalt is great -- but as a beta still has some rough spots. This is the result of some initial playing...

Recompressing the .xap file at high compression will get you around ~25% reduction in size (for the python .xap, at least). The extra 5k saving for minifying the loader script is small change by comparison.

External script files () appear to be not (yet?) supported -- I get an unhandled error when I split the python code for the 02_python.html sample out.

The round-the-houses Invoke() style needed to call into DOM properties is a bit tedious (as seen in the canvas sample).

There do appear to be some subtle interactions with existing scripts -- adding a hello-world button into an existing page with scripts+canvas+... silently did nothing for me -- I've not yet stripped this down to a simple problem case, but do be wary of this.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.