For those unfamiliar with Pyjamas, the quickest way to describe it is as a Python port of GWT. It allows you to manipulate HTML, CSS, and JS directly through Python, without writing a line of JS. Pyjamas then “compiles” the code in cross-browser JS. Unlike GWT, which is fairly stable and known by now, Pyjamas is still bleeding-edge, and has quite a few issues to address before mainstream adoption. Even now, however, Pyjamas offers several advantages over GWT:
- Python is easier to code in than Java (shorter development time)
- Pyjamas can run as a stand-alone application outside the browser in pure Python using Pyjamas-Desktop, GWT’s hosted mode on the other hand is only suitable for debugging
- Python is more similar to JS than Java is (dynammic typing, etc.) and therefore it’s already more compatible with JS, before you even write any code. If you want proof, just compare the source code. Pyjamas accomplishes similar functionality in several thousand lines of code that GWT needs hundreds of thounsands lines for.
Yes, GWT is definitely ahead right now, but Pyjamas has higher velocity. Pyjamas is a community effort, employing “if you need a feature, add it yourself” methodology. While I appreciate the flexibility, I think this is the kind of approach that was hurting Linux until the user-friendly distributions like Ubuntu came along, and is likely to drive away beginners before they have a chance to understand what Pyjamas is. It’s hard to employ different methodology in a small project with no funding (although I do wish working proprietary functions like google groups wouldn’t be replaced with buggy non-fully tested Pyjamas-based ones). So I urge you to stick through the learning curve, it’s definitely worth it.
At this point I should probably give a quick tour by showing you a “Hello World” app, but I think a link to already written Pyjamas examples would be a lot more convincing.