感叹Silverlight中的JavaScript智能感应
中国有一句老话:工欲善其事,必先利其器
最近在学习Silverlight 1.0 的开发,逻辑代码需要用JS来书写。用过的朋友都知道,用VS来编写JS代码只能提供最基本的智能感应,不能提供SL中的库函数提示和说明。所以编写起来会有一些困难。
不过一个爱戴墨镜的老外ברוכים הבאים就自己写了一个开源工具,来帮助我们书写带有智能感应的SL代码。
他的文章Silverlight 1.0 full Javascript Intellisense和视频。
看过他的文章和视频,我的感触很深。
为了我们在编写SL的JS代码时能让VS提供智能感知功能,他另外编写了相应的JS代码来提供一系列与SDK文档中提供的接口不同函数供我们调用(配合文档说明)。但是缺点是我们在发布的时候需要添加额外的1M多的JS文件(可以减少到400K),并且降低了函数的执行性能(毕竟是在原SDK函数上进行了一层包装)。
所以为了克服这个缺点,他又提供了一个小工具,用来将智能感应的JS代码转化为非感应的代码(使用原始的SDK函数),这样就可以避免增加额外的文件与性能的损失。
虽然现在的新版本的SDK(2.0+)可以使用.net环境编辑逻辑部分,但是这种思想给了我很大的启发。同时这也是学习JS的一个很好的范例:)