[Python Wpg] Has anybody worked with Pyjamas?

Stuart Williams stuart at swilliams.ca
Mon Sep 27 19:46:03 EDT 2010

I've heard of it, but not tried it.  The other option for Python in the
browser is IronPython via Silverlight (Windows) or Moonlight (Linux).  I
also remember pypy has a JavaScript (more accurately called ECMAscript to
avoid confusion with Java) back-end and their web page claims it's working.

At the technical level, I'd be worried about performance of Python compiled
to JavaScript.


On Fri, Sep 24, 2010 at 4:15 PM, Kevin Veroneau <kveroneau at gmail.com> wrote:

> Hello everyone,
> Pyjamas is a Python-to-Javascript compiler, an AJAX framework and a Widget
> Set API. Pyjamas started life as a Python port of Google Web Toolkit<http://code.google.com/webtoolkit/>,
> the Java-to-Javascript compiler.
> The above is copied and pasted from their project website:
> http://pyjs.org/
> It is very similar to programming a GTK application in Python, and uses
> many of the same ideas from GTK development.  Since it compiles to pure
> javascript(which is by default cross-browser compatible), no server-side
> software is needed.  In fact, you can run it locally from "file:///" if you
> really wanted to.  However, one will need a server in order to bind widgets
> to a backend database for example.  It comes with a full JSON library as
> well.  However, for anything that does not require a datastore, and uses
> pure python modules, it make any Python application available through the
> web.  For example, you have a current Python application which uses a CLI,
> does not need to save or load data from storage, you can use this solution
> to make a nice UI which is cross-platform and easy to share with others.
> Pyjamas developers state that you can take any widely available Python
> module and convert it to pure javascript using their compiler.  As long the
> module is made in pure Python code, not a C module, for example.  A module
> which has been demonstrated to compile to javascript is PureMVC.  PureMVC is
> a cross-platform cross-language model-view-controller library.  It has been
> ported to Python, C, and many other languages.  It can be found here:
> http://puremvc.org/
> Best of all, to use Pyjamas one only needs to know Python, HTML is
> optional.  CSS is good, as it is used to style the various widgets.  I began
> using Pyjamas recently to make websites as I prefer to make both the
> frontend and the backend in Python, with little coding in HTML/JS/CSS.
>  Think of it as a PURE PYTHON website.  It also keeps the frontend and
> backend completely separate from eachother.  Forming a complete
> model-view-controller, none of the code from the frontend sees the backend,
> and vise versa.  Pyjamas also comes with a complete example of a Gmail
> clone, their version resembles ms-outlook more than Gmail, but is a great
> example of it's potential.
> Pyjamas Examples: http://pyjs.org/examples/
> My favorite example(using HTML5 canvas, compatible with Firefox):
> http://pyjs.org/examples/asteroids/output/Space.html
> The source for the above example:
> http://pyjs.org/examples/asteroids/Space.py
> I think this is a good example, as it shows extensive use of the Python
> math and random libraries to do calculations which are compiled to
> Javascript.
> In effect, why make the server do all those complex calculations in Python,
> when most modern computers and browsers with JavaScript can do them pretty
> fast and even cross platform.  However, for those very very
> complex calculations, a simple JSON request to a server-side python script
> can be done easily.  Mind you, Google Chrome has a very optimized JavaScript
> engine and may perform at the same speed as a Python interpreter.
>  Benchmarks anyone?
> Let me know what you think of this python-to-javascript compiler and what
> uses you think it may come in handy for.
> Kevin.
> _______________________________________________
> Winnipeg Python Users Group mailing list
> http://WinniPUG.ca
> Winnipeg at python.org
> http://mail.python.org/mailman/listinfo/winnipeg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/winnipeg/attachments/20100927/4d431709/attachment.html>

More information about the Winnipeg mailing list