博客重新开张

衣明志 发表于 , 阅读 (18606)

近日花了一些时间把自己的博客内容和博客程序重新捣腾了一遍。把一些没什么实质内容的博文删除了,用MarkDown把幸存下的博文重新梳理了一遍,现在看起来干净了很多。博客的界面用了Twitter的Bootstrap,程序则使用NancyFx框架重写的。

Nancy是一个不错的轻量级开源.NET Web框架。如果想快速做个简单的Web应用,Nancy是个不错的选择。个人喜欢她具备以下几个优点:

  • 轻量:
    不依赖于ASP.NET这个庞大的框架,只为简单的Web开发做最基础的准备,胳膊也没像微软那样伸得太长,对开发人员的干扰很少。
  • 多样化的Host支持:
    框架本身不依赖ASP.NET框架,并提供了Host所需的基础支撑,所以可以很轻松的Host在ASP.NET、ASP.NET MVC、Console、WinForm、Windows Service、WCF等应用上。这使得我们的Web应用部署方式,有多种选择,而不必局限于IIS+ASP.NET的环境下。
  • 支持Mono:
    框架组件对Windows的依赖几乎为0,所以Nancy写的Web应用,自然也可以轻松部署在Linux上,而不必受服务器操作系统的限制。本博目前就是在Linux上跑着呢:)
  • 性能可接受:
    通过一些负载测试比较,用Nancy开发的Web应用性能还可以比较可以接受的,一些损失可以通过灵活的辅助方式对其进行弥补。
  • 支持多种视图引擎:
    支持Razor, Spark, dotLiquid等视图引擎,也提供了自带的SuperSimpleViewEngine。开发人员可以根据自己的喜好,选用不同的视图引擎。
  • 可测试性好:
    内部自带了对测试的基础支撑组件,可以方便的进行各种单元测试。
  • 干净轻量的路由机制:
    路由机制简单轻量但不失强大,可以方便的通过正则表达式制定路由规则。而其直接可读性,某些角度上看比ASP.NET MVC更好一些。

还有其他的一些不错的特性,这里就不详细累述了。

在本文发表时,NancyFX的版本号还仅仅是0.17.1,所以可想而知,仍然还有不少问题需要解决和改善。本博系统的开发过程就稍微遭遇了几个牵绊的地方,只能先通过一些方式绕路实现。参考文档也不完善,很多内容没有及时跟上程序版本的步伐,所以不少内容需要开发者自己去尝试甚至阅读源代码。

总之,这是个不错的Web框架,可以在个人网站等轻量级项目上试用,但目前并不建议也不适合在正式项目中大规模使用。持续关注之!

10 条评论
珧麒麟
珧麒麟 2013-05-02 20:38
看了一眼这个框架,感觉不错:)
iCat
iCat 2013-05-02 22:04
欢迎归来,哈哈
qihangnet
qihangnet 2013-05-02 23:44
@iCat 你搞的这个站是神马啊?
qihangnet
qihangnet 2013-05-02 23:46
@珧麒麟 嗯,确实不错的东东,但尚未成熟,值得持续关注。
Roy
Roy 2013-06-21 04:48
如何界定是否依赖于ASP.NET?我看Nancy用到System.Web了,也用到IHttpHandler和IHttpModule了。这是否可以说明依赖于ASP.NET? 然后Nancy也有和ASP.NET交互的地方。
Roy
Roy 2013-06-21 04:49
BTW,你博客程序的时间应该设置成+8时区的。
衣明志
衣明志 2013-09-09 08:17
@Roy 时间的显示方面近期着手改好,存得UTC时间 :D
nodyang
nodyang 2014-01-14 18:42
你好,我从Git下了你的代码,但不知道数据从那里来。。谢谢
衣明志
衣明志 2014-01-20 20:47
@nodyang MZBlog用的是mongoDB,所以配好数据库连接后,数据库会自动创建并初始化用户数据。
kevinfuture
kevinfuture 2015-04-30 12:13
衣老师也用MongoDB,这个是我非常推崇的一种数据库,非常好用