[原创]FineUI秘密花园(一) — 为什么选择FineUI?

首先来看看FineUI是什么?

FineUI 是一组基于 ExtJS 的专业 ASP.NET 控件库,拥有原生的 AJAX 支持和华丽的 UI 效果。
FineUI 的使命是创建没有 JavaScript,没有 CSS,没有 UpdatePanel,没有 ViewState,没有 WebServices 的网站应用程序。

 

从这段官方描述中,我们看到了三个信息点:

  1. 基于ExtJS。大家都知道ExtJS是一个很绚丽的JavaScript控件库,非常适合进行各种管理系统的开发。但是对于很多开发者而言,写上一堆一堆的JavaScript代码无疑是一个噩梦。
  2. ASP.NET2.0控件库。大家都知道ASP.NET的WebForm开发的最大优点是快速开发,而ViewState则是这种快速开发的基石,使得我们使用C#代码操作页面上控件的任何属性。它的缺点也很明显,在Web2.0的时代每次都是整个页面回发(PostBack)显然过于落伍,并且默认的控件外观过于简陋。由于FineUI是基于ASP.NET2.0的控件库,所以可以自由地应用到 .Net Framework 2.0、3.5、4.0的项目中。
  3. FineUI则是将ExtJS和ASP.NET进行深度整合的产物。大量基于JavaScript和CSS却不需要程序员编写JavaScript和CSS;原生的AJAX支持却不需要依赖ASP.NET AJAX的UpdatePanel;快速的ASP.NET开发模式却不需要ViewState的参与。最终FineUI剩下的只是简单的ASP.NET控件。学习FineUI只需要你有ASP.NET的开发基础,不需要事先学习ExtJS,因为FineUI是一个深度封装的控件库。

 

最终,我们可以给出如下一个简单的公式:

FineUI控件库 = 绚丽的ExtJS界面 + 快速的ASP.NET开发 + 简单的代码编写

FineUI

 

FineUI的设计理念

 

一切为了简单。

FineUI最初的设计目的就是让ASP.NET开发人员在不需要了解JavaScript和ExtJS的情况下快速开发出漂亮的Web2.0应用。因此每个控件的编写都尽量符合ASP.NET的开发习惯,从控件和属性的命名到复杂的AJAX交互,都让传统的ASP.NET开发人员感到很舒服,这也是FineUI经过四年的风雨历程仍然深受广大开发者喜爱的原因。

 

用心实现80%的功能。

FineUI最初是项目驱动的管理系统的开发,因此控件的开发优先级都是服务于项目的需要,对常见的80%的功能进行精雕细琢的设计开发,并独创了很多服务于实际需求的功能,比如原生的AJAX支持、轻量级的数据传输以及基于IFrame的页面框架。因此FineUI不会追求对ExtJS进行完全的封装,但是会在80%的常见功能上进行细致入微的设计和思考。

 

创新所以独一无二。

FineUI能够在高手如林的ASP.NET控件库领域拥有一席之地,靠的不是漂亮的脸蛋或者复杂的功能,而是简单而实用的创新。正如前文提到的那样,原生的AJAX支持使得ASP.NET开发人员根本没有意识到自己开发的程序是Web2.0的无刷新风格,因为编写的代码和传统的ASP.NET代码几乎一样;轻量级的数据传输完全抛弃了不适合AJAX的ViewState,而是自创了XState进行数据传输,从而减少网络流量;基于IFrame的页面框架更是给开发人员一个分而治之的设计模式,弹出窗体不在局限于IFrame框框中。

 

为什么选择FineUI?

 

1. 快速的项目开发

基于您熟悉的C#和ASP.NET 2.0开发模式,不需要JavaScript代码就能完成真正的Web 2.0应用。不仅能够极大的减少开发时间和降低开发成本,而且方面维护升级。

2. 基于现有的ASP.NET知识

虽然FineUI是基于ExtJS组件的,但是不需要你事先了解ExtJS的知识,因为FineUI是完全按照ASP.NET的命名习惯和开发框架完成的,你经常会发现很多控件的命名、属性、方法、事件和原生的ASP.NET控件一模一样。

3. 丰富的控件库

超过50个专业的ASP.NET控件,不仅帮助您快速实现业务逻辑,而且让页面更加生动和华丽。

4. 跨浏览器支持

FineUI使用C#代替传统的JavaScript开发,不仅提高了开发效率,而且确保在所有主流的浏览器下流畅运行。

5. 多主题支持

FineUI不仅内置3种官方主题,而且通过示例提供了4种扩展主题,同时还允许您自定义自己的主题,来满足项目的个性化需求(截图效果)。

6. 页面无刷新

所有的页面回发都不会导致整个页面重新渲染,而只有部分页面得到更新。而这个AJAX过程对开发人员完全透明,您可以向往常一样在服务器端改变控件属性,而这个修改会直接反映更新到前台页面,而不需要任何额外的代码。

7. 轻量级的数据传输

ViewSate是WebForm开发模式的基石,带来便利的同时也增大了数据传输。 FineUI独创的XState实现,不仅保留便利而且极大的减少了数据的传输量。

8. 丰富的示例教程

超过100个示例和丰富的教程让你全面掌握FineUI的各种用法。

9. 全中文支持

官方示例,到BBS论坛,再到API文档,再到QQ交流群,全程中文社区,让你再无语言障碍。

10. 持续的开发维护

FineUI从2008-04发布第一个版本以来,一直坚持不懈的发布了100多个版本,并还将继续一直维护下去。

11. 开源免费

FineUI可以免费应用于任何非商业或者商业性的项目,采用对商业应用友好的Apache License 2.0协议。

 

FineUI与ExtJS,ExtNet,ExtJsExtender的区别?

 

ExtJS 是纯JavaScript的控件库,所以适用于后台为PHP,ASP.NET或者JSP的项目,并且是FineUI和其他库的基础。

 

ExtNet 是国外一家公司开发的基于ExtJS的ASP.NET控件库,从功能上讲比较完善,不过开发模型相对复杂,如果你喜欢ExtNet的开发风格或者需要使用ASP.NET MVC,可以尝试这个控件库。

 

ExtJsExtender 是一个比较早的基于ExtJS的ASP.NET控件库,但是功能过于简陋,长期没有更新,并且对ASP.NET AJAX有依赖。

 

FineUI 是一组基于ExtJS的ASP.NET控件库,也是本系列文章的主角。最大的优点就是简单实用。基于ASP.NET2.0,项目中只需要引用一个FineUI的DLL,没有其他依赖。还要注意FineUI只适合传统的WebForm的项目,不适合ASP.NET MVC的项目。

 

FineUI的许可协议

 

从FineUI v3.1.0开始,FineUI采用对商业应用友好的Apache License 2.0这篇文章阐述了FineUI是如何选择开源协议的。

 

FineUI 完全遵守 ExtJS 对开源软件的要求:

  • FineUI 的 Apache License v2.0 授权协议 与 ExtJS 的 GPL v3 兼容;
  • FineUI 公开全部源代码,没有任何保留;
  • FineUI 不包含 ExtJS 的任何源代码;
  • FineUI 不将 ExtJS 作为整体发布,而是提供获取 ExtJS 的方法;
  • FineUI 公开说明使用了 ExtJS 库,并指出 ExtJS 库是采用 GPL v3 授权协议的;
  • FineUI 是为了将 ExtJS 引入 ASP.NET 领域,而非独立存在的库。

FineUI 使用 Apache License v2.0 授权协议是商业友好的。FineUI 是真正意义上的开源程序,是最好用的开源控件库!

 

注:

  1. 使用 FineUI 的商业程序无需获得 FineUI 的授权!
  2. 使用 FineUI 的商业程序需要购买 ExtJS 的商业授权,因为 ExtJS 是 GPL v3 协议下发布。

 

我们也希望您能通过捐赠作者来支持 FineUI 的发展!

 

 

FineUI社区交流

 

论坛:http://fineui.com/bbs/

示例:http://fineui.com/demo/

文档:http://fineui.com/doc/

下载:http://fineui.codeplex.com/

博客:http://sanshi.cnblogs.com/

 

你也可以从这里中查找FineUI的QQ交流群。

 

 

 

注:《FineUI秘密花园》系列文章由三生石上原创,博客园首发,转载请注明出处。文章目录 官方论坛

posted @ 2012-02-11 23:06 三生石上(FineUI控件) 阅读(...) 评论(...) 编辑 收藏