首先来看看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最初的设计目的就是让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?相关推荐

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

    首先来看看FineUI是什么? FineUI 是一组基于 ExtJS 的专业 ASP.NET 控件库,拥有原生的 AJAX 支持和华丽的 UI 效果. FineUI 的使命是创建没有 JavaScri ...

  2. 《FineUI秘密花园》在线阅读与完整PDF版

    原文地址为: <FineUI秘密花园>在线阅读与完整PDF版 在线阅读 FineUI秘密花园(一) - 为什么选择FineUI? FineUI秘密花园(二) - 一切从头开始 FineUI ...

  3. [原创]FineUI秘密花园(二十四) — 树控件之数据绑定

    上一篇文章我们介绍了树控件的基本用法,不过都是通过标签来声明树控件的结构,本章我们会详细讲解如何在后台绑定树控件. 绑定到XmlDocument 下面通过一个简单的例子来看如何将XmlDocument ...

  4. [原创]FineUI秘密花园(二十七) — 窗体控件概述(上)

    窗体控件在项目中使用非常频繁,同时窗体控件和启用IFrame的面板控件也一起构成了FineUI所特有的内联框架,从而使弹出窗体不再局限于IFrame页面中.本章我们会详细介绍窗体控件的基本用法. 创建 ...

  5. [原创]FineUI秘密花园(二十一) — 表格之动态创建列

    有时我们需要根据数据来动态创建表格列,怎么来做到这一点呢?本章会详细讲解. 动态创建的列 还是通过一个示例来看下如何在FineUI中动态创建表格列,示例的界面截图: 先来看下ASPX的标签定义: 1: ...

  6. [原创]FineUI秘密花园(二十六) — 选项卡控件概述

    选项卡的使用非常广泛,比如官方示例的站点框架,TabStrip被用来同时打开多个页面,并方便地在页面之间进行快速切换.TabStrip还进行需要和JavaScript进行交互,比如动态的打开关闭选项卡 ...

  7. [原创]FineUI秘密花园(六) — 表单控件

    FineUI中有哪些常用的表单控件,它们有什么共同点和不同点,这一篇文章我们会详细解说. 表单控件的公共属性 所有的表单都具有如下属性: ShowLabel:是否显示标签(默认值:true). Sho ...

  8. FineUI秘密花园(七) — 上传控件

    FineUI直到V3.0才内置了自己的上传控件,为什么唯独上传控件姗姗来迟,这其中的缘由是啥?之前又是如何实现上传功能的呢?下面听我慢慢道来. AJAX请求与文件上传请求的对比 普通的AJAX请求的请 ...

  9. FineUI秘密花园(八) — 下拉列表控件

    下拉列表也是Web开发中常用的控件之一,用来从一组可选项中选取一项.FineUI中的下拉列表不仅可以通过ASPX标签声明,也可以绑定到各种数据源.FineUI还根据实际项目的需要,扩展了一种模拟树的下 ...

最新文章

  1. Firefox 44.0将在Linux上启用H.264支持:GTK3仍缺席
  2. RichViewEdit的技巧收集
  3. php判断ip地址小程序
  4. 8.GitLab 里程碑
  5. sql 查询结果随机排序
  6. C4D R18-R21
  7. 2021版Java同步器教程03:如何使用同步器 CyclicBarrier?
  8. 20.数据集成、数据整合、数据融合
  9. 招银网络2018笔试分享
  10. 智能家居--domoticz配置和风天气 HTTP/HTTPS poller 的使用以及domoticz_updateDevice的介绍
  11. 【转】Android Protobuf应用及原理
  12. android AP热点(wifi热点)开发
  13. 中国内地城市CA分布
  14. Hibernate注解实现一对一关联
  15. go-fastdfs
  16. Java——包的定义及使用
  17. ReactTaro仿抖音小程序H5(一)
  18. 商品结算页面html代码,前端开发jQuery购物车结算页面代码
  19. leo_流动人口信息管理系统
  20. SAP ABAP BAPI_GOODSMVT_CREATE 的 GOODSMVT_CODE GM_CODE参数

热门文章

  1. laravel5.5 middleware 多个中间件的写法
  2. STM32 串口发送乱码问题
  3. 【食家巷】品尝西北传统美食老油饼,感受节日的氛围
  4. 线上渠道做APP好还是小程序好?
  5. 基于HTML电商购物项目的设计与实现——html+css+javascript+jquery+bootstarp响应式图书商城...
  6. Java基础篇------抽象类详解
  7. JDK1.8源码分析:LinkedHashMap与LRU缓存设计思路
  8. Foundog:用电子标签跟踪你的物品【cnbeta,20100328】(陈礼彬转)
  9. spring为什么是接口注入而不是实现类注入(持续更新)
  10. java double 转 byte数组_Java基本类型与byte数组的转换