博客重新开张
22006)
发表于
, 阅读
(近日花了一些时间把自己的博客内容和博客程序重新捣腾了一遍。把一些没什么实质内容的博文删除了,用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框架,可以在个人网站等轻量级项目上试用,但目前并不建议也不适合在正式项目中大规模使用。持续关注之!