Code Name "Autumoon"
首先解释一下“Autumoon”这个词的来历:Autumoon是Autumn和Moon的合成词,意为“秋月”,因为我的原创中文网名是“清秋冷月”。
到目前为止,“Autumoon”还只是一个开发代号,尽管我在软件界面上、Logo上都使用了“Autumoon”的标志,但是不排除将来正式命名后全面更换标志的可能性。当然,也不排除将来就将“Autumoon”作为这款软件的正式名称的可能性。
Autumoon是一款基于.NET 2.0的Blog客户端编辑软件,在功能方面类似于DreamMail、Foxmail之类的邮件客户端,但是不同于看天下、新闻蚂蚁之类的Blog阅读工具。在开发工作开始之初,我通过Google查找了一下现有的Blog客户端编辑软件,美国有两款,其中我下载了Anconia RocketPost V1.0.196作为参考,国内仅找到了Rabo V1.0 Beta2也就是中国博客网的客户端编辑软件。由于这两款软件都是非开源性质的,而且RocketPost还有使用期限限制(共享软件),所以我仅仅是在做界面的时候参考了一下RocketPost,而从网上下载Rabo的时候已经将界面做完了,所以这款软件对我的帮助不大,只是看了看它的界面设计,感觉主窗体还可以,其它的子窗体就显得有些粗糙和简陋了。
好了,不对其它的软件做过多的评论了,还是来介绍一下Autumoon吧。我虽然很少公开地发表关于这款软件的一些介绍性文章,不过从一开始我就没打算要“秘密开发”,呵呵。不过在此之前的确只是在极少数知情的朋友当中探讨一下。现在在这里发表一篇介绍性和探讨性的文章,感兴趣的朋友可以出谋划策,在下洗耳恭听!
之所以Autumoon是基于.NET 2.0的,不仅仅是因为这几年来我一直专注于.NET(C#)方面的技术发展,其实这里面还有个小小地插曲。最开始我实际上是用Visual Studio .NET 2003来做开发的,也即是说那时候Autumoon是基于.NET 1.1的。但是Visual Studio .NET 2003默认提供的界面控件拿现在的眼光来看的确是太简陋落伍了。于是我便上网找了一些支持C#的第三方界面控件库,经过筛选后采用了XtraNavBar Suite V2.0.7 for VS.NET 2003,做出来的界面在视觉上的确提升了不少档次!但是,它是一款收费软件,如果不交费购买许可证当然也可以使用,只不过只要是打开使用了该控件库元素的窗体,无论是在IDE中还是运行编译后的应用程序,总是会弹出开发商的广告框。这是个很烦人的地方,而购买许可证的费用又是1000元RMB,就目前的开发成本预算来说,我不可能自己掏腰包来购买这个尽管很令人眼馋的控件库。很遗憾,所以我想到了Visual C# 2005 Express Beta2。以前我只是用它来做一些试验性的小项目,而从未想过在正式版推出之前用它来作正式的开发,毕竟它还只是个测试版。我简单地做了一个WinForm,默认界面风格是Office2003样式的,感觉还不错,虽然还是不如XtraNavBar Suite做出来的好看,但是至少这个不会老是弹出广告框了。但是我的思维仍然在犹豫和徘徊,于是便给.NET技术前辈GHT(某软件学院教师)发了一封e-mail,详细介绍了一下该项目目前遇到的困难和我的想法,并希望得到他的建议。在他肯定地支持下(他认为VS2005虽然还是测试版,但是Beta2的稳定性不会太差,跟正式版的差别也不会太大,同时只要将界面和逻辑分离,即使以后更换正式版也不会有多少问题),我很快就决定正式转为用VC#2005Express开发了。
又花了一天时间重做了所有窗体界面(上一次用了3天),整个项目也因此而延误了十来天时间(毕竟目前只能用业余时间来开发)。不过已经开始了下一步的工作,编写中间层的代码。在这个软件的内部层次关系方面,我主要是借鉴MVC模式,不过并没有严格地采用,但大体思路是类似的。界面层里面很少牵扯到实际的代码,任何对XML文件的操作都封装在中间层代码里面,两个层之间实际的牵连性是很小的,目的是为了便于以后维护和版本升级。
这样一个软件基本上没有必要使用到数据库的,至少我就没有用到。所有信息都保存在XML文件当中,不论是软件设置还是Blog草稿。我对XML是有一定好感的,尽管我目前还不精通它,不过它给我的感觉就像魔法花园中会飞的小精灵一样,精巧、灵活、可爱!而对于.NET/C#,我也很喜欢,最主要的原因可能是因为它们更加接近我的审美观和个人偏好(相对于Linux/Java)。曾经看到过一句最简捷地介绍.NET的话就是:“.NET的本质就是XML Web Service”,虽然这句话可能还没有得到任何强有力的证实,同时也有些人认为这句话的观点有点儿偏颇,不过说实话,.NET当中对于XML的支持和操作的确非常好!
在这款软件的开发中,很多技术其实都是我过去并没有接触过的,比如SOAP、Web Service以及C# Network Programming等等,不过这正好符合我喜欢挑战的个性!正因为有阻碍,所以才有动力前进,也许人就是这么叛逆!
Autumoon的第一版目前暂不公布预计发布时间。至于功能方面,主要是实现各Blog网站普遍提供的功能,很好地实现在线浏览、离线编辑、提交保存等主要功能。至于细节功能方面嘛就不在此赘述了,一般来说Blog网站上有什么,Autumoon就会提供什么。
并且,暂不考虑将该软件作为开源项目,并不是我自私,我也不考虑拿这个软件来换点儿零花钱,只是我目前对于“开源”还没有理清自己的观点,并不想盲从。不过该软件将会作为免费软件发布,主要提供技术支持和交流的方式是通过电子邮件(zerocool127@163.com)和我的Blog(http://ZeroCool.cnblogs.com/ & http://blog.hexun.com/ZeroCool/)以及MSN(ITBoy127@hotmail.com),各位感兴趣的朋友可以通过以上方式和我进行交流,望不吝赐教!目前开发工作正在进行当中,我也就不说太多了。
空口无凭,实战见分晓!
posted @ 2005-10-24 12:12
ZeroCool 阅读(690)
评论(1) 编辑 收藏 网摘 所属分类:
程序感悟