Day 1

已经确定了要实现某个平台的客户端,现在还处于论证调研阶段,因为要采用C#.NET,还不清楚要实现哪个平台:

 

现在初步调研的情况如下:

 

有许多网站开放了API,调研的网站包括:新浪微博,腾讯微博,搜狐微博,网易微博,饭否,人人网,豆瓣。

首先,通俗的说,客户端的工作就是使用HTTP请求(get或post)来请求网站发送数据,数据格式为XML或者JSON,解析之后呈现在用户的面前,即完成所有工作,当然,里面涉及到了Oauth验证等工作,还需要进一步研究。

其次,有的网站提供了开源的SDK,包括java版,python版,php版等,人人网,新浪微博,腾讯微博都提供了C#版SDK。而人人的API相比于微博来看,难称规范严谨,接口也很少。腾讯微博的示例程序比较简单,易于上手,而新浪的微博客户端功能最为完整强大。

最后,我试用了新浪微博桌面,人人桌面和豆瓣桌面,比较下来,还是新浪比较成熟易用,人人客户端的问题和它的API一样,,如无法删除状态,无法发布日志等,应该还是受到了API的限制。豆瓣桌面是基于Adobe AIR的,风格类似苹果,在windows平台感觉很怪,此外还存在编码错误,无法连接等问题。

总结上面的调研的结果,我认为如果开发一个热门网站的PC客户端,我们可以借鉴新浪微博桌面版,开发人人或者豆瓣的客户端。语言技术采用C#,我想应该可以非常有效地发挥Windows平台的优势,同时界面完全可以采用WPF,给用户很好的视觉和应用体验。

至于平台的选择,微博开发相对来说很成熟,参考很多,而人人的api提供的虽然不尽如人意,但是对于我们开发三周的工作量来说,也已足够,至于豆瓣,除了中科大的Windows Phone应用意外,我并没有发现另一个完整的C#版的客户端,开发起来应该也可以满足我们的开发要求。

最后要提到我们的工作量问题,如果借用网站开源的SDK,底层的工作可以少做一些,而专注于上层的应用,比如微博,当然像豆瓣这样没有提供C#SDK的网站,或者对于提供的API不满意,完全可以自己封装API,这样底层的工作量就增加了,需要自己完成HTTP请求等功能的封装,当然无论那一层工作,都可以体现面向对象的思想。

 

所以,基本明确了我们的开发目标之后,我们下面要做的就是开始设计软件的功能,提出一个概要的设计。                                    

                                    (by runbrahms)

                                       

posted @ 2012-05-09 22:43  OOAD  阅读(165)  评论(0)    收藏  举报