首先來看看FineUI是什麼?
FineUI 是一組基于 ExtJS 的專業 ASP.NET 控件庫,擁有原生的 AJAX 支援和華麗的 UI 效果。
FineUI 的使命是建立沒有 JavaScript,沒有 CSS,沒有 UpdatePanel,沒有 ViewState,沒有 WebServices 的網站應用程式。
從這段官方描述中,我們看到了三個資訊點:
- 基于ExtJS。大家都知道ExtJS是一個很絢麗的JavaScript控件庫,非常适合進行各種管理系統的開發。但是對于很多開發者而言,寫上一堆一堆的JavaScript代碼無疑是一個噩夢。
- ASP.NET2.0控件庫。大家都知道ASP.NET的WebForm開發的最大優點是快速開發,而ViewState則是這種快速開發的基石,使得我們使用C#代碼操作頁面上控件的任何屬性。它的缺點也很明顯,在Web2.0的時代每次都是整個頁面回發(PostBack)顯然過于落伍,并且預設的控件外觀過于簡陋。由于FineUI是基于ASP.NET2.0的控件庫,是以可以自由地應用到 .Net Framework 2.0、3.5、4.0的項目中。
- 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開發 + 簡單的代碼編寫
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SM4MjNyEjNwMjMxEjMwITMwIzLcJDMyEDMy8CXph2cuF2cvwVbvN2Xzd2bsJmbj9CXt92YuM3ZvxmYuNmLzV2Zh1Wavw1LcpDc0RHaiojIsJye.png)
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 是真正意義上的開源程式,是最好用的開源控件庫!
注:
- 使用 FineUI 的商業程式無需獲得 FineUI 的授權!
- 使用 FineUI 的商業程式需要購買 ExtJS 的商業授權,因為 ExtJS 是 GPL v3 協定下釋出。