本教程转自:http://hi.baidu.com/sidebar。
由于近期在努力学习Sidebar Gadget开发技术,并且也与中国汽车网合作做了一个Sidebar Gadget,所以耽误了一些时间,但同时,也通过这个机会加深了学习印象。
很多朋友在学习新技术的时候,都喜欢做Hello World。我原来也是这种情况。其实我认为这种方式有百害而无一利,就类似于学英语开始背单词一样,背了十多年,还没有背到F开头的单词呢。因为Hello world就让你产生了一种虚伪的成就感,而稍微一深入进去,遇到一点挫折,就会有畏难情绪,再也坚持不下去了。最后产生的结果无非就是眼高手低,或者眼低手低。
所以本教程我想使用一个实际项目开始,这个项目就是为ChinaCars.com开发一个小型的Gadget,要完成的主要功能如下:
1. 根据你选择的城市以及价格区间,以幻灯片形式来显示符合条件的车型图片;
2. 图片切换可以实现Powerpoint中的那种幻灯片切换效果;
3. 点击某个车型图片,可以显示该车型的详细信息。
功能需求很简单,但使用HTML+Javascript+CSS完成它,可能就需要时间了。因为:
◆ 开发Gadget没有一个IDE,无非所见即所得;
◆ 无法进行Debug,只能写Track信息来追踪;
◆ 资料比较少,只能看Windows Vista自带的Gadget源代码,或者去看SDK;
◆ 用ASP.NET时间久了,Javascript与HTML知识忘光光了。
另外一点,中国汽车网没有提供API怎么办?不会让我自己来去分析HTML吧?没有关系,我把这个接口暴露给大家,大家可以自己尝试一下。使用接口1,你可以得到一个车型信息列表;使用接口2,你可以得到一个车型详细信息的RSS。简单吧?具体参数的使用说明,自己多试几下就知道了。
那么建立远程HTTP连接呢?在.NET中我们还有HttpRequest来使用,在Javascript中,我们就只能使用Microsoft.XmlHTTP这个ActiveX对象了,不过也非常好用,而且像异步呀、状态信息呀都一个不少的实现了。分析XML也不必使用XmlDocument这个.NET类,你完全可以使用Microsoft.XmlDom这个ActiveX对象。