我基本上希望能够:
- 用 Python 编写几个函数(附加元数据尽可能少)
- 将这些函数转换为 Web 服务(尽量少的工作/样板代码)
- 自动生成一些用于 RPC 的 JavaScript 函数/对象(这应该可以防止我做很多愚蠢的事情,比如拼错方法名、忘记方法名、传递错误数量的参数)
示例:
Python:
def hello_world():
return "Hello world"
javascript:
...
<!-- This file is automatically generated (either dynamically or statically) -->
<script src="http://myurl.com/webservice/client_side_javascript"> </script>
...
<script>
$('#button').click(function () {
hello_world(function (data){ $('#label').text(data)))
}
</script>
一些研究向我展示了一些接近此目标的方法:
- 使用少量样板代码在Python中自动生成json-rpc服务,然后使用jquery和json进行调用(仍然容易出现方法名称错误-仍需要在调用时注意url,自己在firebug shell中编写这些调用非常烦人)
- 使用像soaplib这样的库从Python生成wsdl(通过添加大量类型信息)。然后将其转换为javascript(不确定是否有库可以实现此功能)