在建立Web應用時,通常都需要用到一些有用的UI元件。無論應用中需要的是月曆,滑塊,圖形或其它用于提升或簡化使用者互動的元件,那麼都面臨兩種選擇:要麼自己來建立這些元件,要麼使用現有的元件功能。
自行開發這些元件是複雜并耗時的,通常會花費大量的時間來獨自完成這些元件,這也正是UI庫和架構存在的意義。現存的這些庫簡化了建立UI元件的過程。你可以直接利用現有的架構,并自定義它們來滿足自己的需求。
目前正在廣泛使用的架構之一就是jQuery UI。這是一組擴充的使用jQuery建構的部件、效果和主題,分為一組一組的形式。既可以在單個軟體包中下載下傳jQuery UI的所有元素,也可以選擇隻下載下傳感興趣的元件和功能。使用這樣的控件集能夠為元件建立出一緻的外觀,并允許以更少的投入快速建立出應用。
雖然jQuery UI能起到很好的作用,但是還有其它的一些架構,擁有很好的高品質控件。在這篇文章中,将會分析其中的幾個架構并做比較。
這是一個付費架構,Kendo UI Framework提供了一系列超過70個用于加速開發過程的元件。這些元件是響應式的、可設定主題的、快速的和高度可定制的。
以下講解Kendo UI的幾件事情以及如何使用Kendo UI來建立炫酷的互動元素。
首先這些元件是由Telerik開發的。與其它架構不同的是,這些小部件僅使用JS,并且是從頭開始建構的,根本不需要jQuery。即使在移動裝置上檢視,元件也是快速,平穩并且穩定的。
說到移動裝置,這也是Kendo UI擅長的領域之一。這些元件的建立考慮到了移動裝置,根據元件被設定的位置,提供了響應式的和自适應的布局。根據是否在移動裝置上顯示,大多數小部件都會進行相應的調整和更改,這是一個很好的功能。下面是一個滑塊元件,它會根據螢幕尺寸自動調整。
從實施的角度來看,這些控件也是經過深思熟慮的。開發人員既可以在JS中進行設定,也可以在伺服器端設定(例如通過PHP輸出)。除了Kendo UI的web應用方面,這個架構的一些分支還可以用于Android和iOS。
另外,Kendo UI是使用AngularJS的元件內建的。這是一個使用UI元素從頭建立的完整系統,能夠完美比對你的Angular項目。如果你想要使用Angular,那麼Kendo UI已經支援了。
需要注意的是,Kendo UI不是一個免費的架構。
這是一個付費架構。Wijmo是一系列使用TypeScript 編寫的自定義JavaScript控件,用于建立快速、響應式的和可擴充的UI控件。Wijmo提供了廣泛的控件,并支援多個JS架構,如React,Angular和Vue。
Wijmo支援一系列控件,其中大多數都集中在資料可視化和輸入方面,如圖表,儀表,輸入控件和網格控件。雖然其它架構提供了一系列基本控件,如對話或布局控件,但Wijmo更加專注于資料。
有趣的一點是,Wijmo 5建構在更現代化的标準之上,是以在IE8上不起作用,此時就需要Wijmo的舊版本。Wijmo 3是基于jQuery,是以它支援直到在IE6上使用。Wijmo提供的這種版本選擇方式,對開發人員來說是一件很酷的事情,因為開發人員能夠根據自己應用的具體運作場景來自行選擇究竟是使用Wijmo 3還是Wijmo 5。
Wijmo的網站上有一個“資料總管”,顯示了所有的控件,并允許調整設定。這是一個有趣的工具,有助于了解控件的外觀和感覺。
下面是Flexchart控件的圖表示例。
在選擇新的架構時,如果有較好的文檔會變得非常好。如果你查想Wijmo的圖表子產品(和代碼示例),那麼可以在demo page頁面找到FlexChart demo,以便了解它是如何工作的。Wijmo開發者的部落格也會經常更新,部落格中會提供一些有用的提示,系統的亮點和各種各樣的想法。
Wijmo網站上的控件是很有趣的。每個控件都允許調整其顯示方式,并為自定義功能提供回調以便根據需要對其進行調整。
Wijmo為産品提供了免費試用期,如果用于商業目的,則需要購買授權。如果想單獨購買Wijmo5,也是可以的。如果需要.NET / Xamarin上的控件,則需要最高的enterprise licensing授權。
這是一個免費/付費架構。Webix為開發人員提供了一種快速簡便的建構常見UI元素的方式。它包含了一系列資料可視化、布局、導航和編輯控件。雖然這個架構與jQuery UI共享一些元件,但Webix擴充了jQuery UI并提供了一些不同于jQuery UI中常用的元件。
Webix文檔具有很好的幫助作用。所有控件都帶有一個API參考指南,其中涵蓋了控件的所有方法,屬性和事件。此外,大多數控件都具有一些樣例,用于準确的展示控件功能。這些閱讀友好的文檔能起到重要作用,這也是Webix開發者用心編寫文檔的結果。
另外一點值得注意的是,Webix開發者經常會在部落格上釋出一些内容,其中有幾個文章提供有用的建議和實際的例子。雖然架構很多,但是一個内容持續更新的架構是非常有價值的。
Webix提供了對架構的免費和付費的兩種擷取方式。免費版包含了大部分建構應用初始時會用到的功能。付費版提供了一些額外的控件,并對這些控件提供支援和幫助。
另外,付費版還提供一些很詳細的的解決方案。
這些額外的付費附加件是很詳細的小部件,使用這些小部件可以抽象化建構元件的複雜性,讓你專注于自定義功能和樣式方面。
總的來說,免費的小部件是很穩固的,提供了大量的功能。既然可以免費獲得一些很好的控件,那麼付費版就需要好好考慮是否值得了。
如果你正在尋求一個有詳細文檔并且大部分控件是免費的UI解決方案,那麼Webix是一個好選擇。
這是一個半付費/付費架構。JQWidgets是一個jQuery驅動的架構,用于為網站建立響應式、快速、強大的UI元件。JQWidget的元件主要是使用jQuery,并提供了互動式,動态和高度可定制的小部件。
JQWidget有一個易于使用和會被監視的論壇,論壇上經常會有部落格更新。
同其它架構一樣,JQWidgets的文檔也是架構的核心。JQWidgets的文檔概述了每個小部件的工作原理、示例代碼和一個很好的示範。每個小部件還有一個簡單易懂的API參考指南以及如何實作每個屬性或方法的示例。
另外,值得一提的是JQWidget支援React,Angular甚至ASP .NET元件。如果你傾向于其中一個,那麼這個架構會為你節省很多時間開發。
JQWidgets提供半自由和付費兩種方式。非商業性使用是允許的。但是,如果用于商業目的,那麼必須購買授權。
這是一個半付費/付費架構。EasyUI是一個擴充jQuery部件的集合,用于建立新式的,互動式網站和web app的互動。使用EasyUI,你可以使用HTML标記或者JavaScript來建立常用的UI元素。
EasyUI的設計可能與我們以前見到的一些UI架構不同。雖然EasyUI的預設樣式可能會讓你毫無靈感,但EasyUI附帶了一個非常棒的實時主題編輯器,可讓實作字型大小,文字顔色,背景顔色,位置以及其他常見屬性的設定。最重要的是,它允許直接通路CSS,以便讓你建構出一個适合的主題。
下面就是“Material Design”的主題。
EasyUI的文檔簡單直覺。所有的控件顯示在左側,右側顯示相關資訊。每個控件都附帶一個示例截圖、示例代碼,然後是所有的屬性、方法和事件。在主示範頁,可以快速檢視Demo和每一個控件。例如,Panel Control示範了如何使用自定義控件,嵌套面闆和其它元素。
如果用于非商業用途,jQuery EasyUI是免費的,但如果用于開發,則需要授權。
總的來說,EasyUI是一個堅實的架構,但是網站和文檔比較舊。
能夠完美代替或補充jQuery UI的架構有很多,其中一大部分都是需要付費的。如果你正在尋求一個好的解決方案,那麼既可以使用jQuery UI的開源社群,也可以購買付費架構。這需要從控件功能和控件價格去綜合考慮衡量,以便選擇最适合自己的架構。