You might want to look at Azax approach as well:
besides the way it works (you define behaviors in XML files, that get
processed by a js engine)
it gathers Zope 3 help views, that let the developer define the behavior
in Python

Advertising

I think the stuff lennart talks about is CrackAjax, but IIRC it is not
really maintained
and let you kinda write javascript in Python: the python code is not
valid (can't be tested, etc..), but translated to valid javascript