You're comparing apples and oranges. You're comparing a community-led effort against a corporate-funded one; you're comparing a good couple of hundred thousand lines of code against tens of thousands; you're comparing a strongly-typed language against a dynamically-typed one; you're comparing a system which is tightly integrated into the Eclipse IDE against one which follows the unix ethos to "do one thing and do it well".

you really do need to look at the differences between the GWT infrastructure and the Pyjamas infrastructure. take a look for example at GWT's i18n and l10n internationalisation support: it's _tens_ of thousands of lines of code, and _hundreds_ of files, supporting over one hundred individual languages, each with number formats, date formats and so on. pyjamas internationalisation support: a pattern, comprising about .... 50 lines of code, because in over a year of development, only two people have ever asked about how to do internationalisation of applications.

our focus, as a community effort rather than a google-corporate-full- time-multi-man-team-funded effort, is therefore on the tools and the infrastructure that _we the contributors_ need and enjoy working on, which is a much smaller subset of functionality than "that which 'employees of google' are tasked with".

so, like lovelysystems, who have some amazing python and javascript engineers, you should utilise pyjamas if a) you feel that the use of GWT's infrastructure and libraries is not going to be worth tolerating the pain barrier of java b) you are prepared to dive in to the (very compact and readable) pyjamas libraries if the code doesn't do what you need, and to contribute.

however, it's particularly telling, and explicitly worth mentioning, that JSONRPC was the key reason why lovelysystems did not choose GWT, after around two months of full-time evaluation. JSONRPC highlighted severe flaws in java as a language, thanks to its lack of dynamic typing. the fact that a JSONRPC service could be implemented in fifty lines of python and could be used with one import, one statement and one decorator per function server-side, alongside almost as easy-to-use classes in the web browser, made the choice of pyjamas a no-brainer.