天天看點

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的設計理念

一切為了簡單。

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 協定下釋出。