Sidebar Gadget开发教程(2)

由于近期在努力学习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对象。

我的Gadget其实已经完成了,现在来考考大家了。虽然我平常工作比较忙,但仍然使用三个晚上的时间完成了这部分代码。那么我留出一周的时间,如果大家感兴趣,先自己试着开发一下。一周后,我会公布我的源代码给大家的。如果您在一周内完成了,欢迎打包成.gadget文件,通过邮件发送给我,说不定会有神秘礼品呢。

另外,也号召一下各网站的开发高手,发挥你的创意,为你的网站增加Gadget。抢占完用户的桌面,霸占了用户的IE,现在到了抢占用户Sidebar的时候了!让客户接受你,你就要有好的创意。如果贵网站在国内按流量综合排名在前一百以上,或者是比较酷的网站,有应用Gadget的好创意的话,也可以与我联系。Microsoft将会选择一部分网站做相关的市场活动。

BTW: 如果您的公司在开发类似于Forums、Blog等相关Web通用系统的话,如果想应用Gadget,或者想迁移到ASP.NET,或者想与Microsoft作一系列的市场活动,也可以与我联系。(曾经给Discuz!发过一封邮件,但石沉大海)

BTW Again: 如果贵公司或者个人精通Gadget,Expression,AJAX,Card Space,也可以与我联系。我们需要合作伙伴,帮助我们的客户进行培训与实施,并且支付相关费用。