開放才能進步!Angular和Wijmo一起走過的日子

77rou發表於2017-02-15

Angular 已成為廣受歡迎的前端框架。去年9月份,期待已久的 Angular2 的正式版釋出之後,Angular 又迎來了新一輪熱潮。伴隨著 Angular 這一路走來,Wijmo 一直都是第一個全面支援各種版本 Angular 的JS控制元件庫。那麼,Wijmo 是怎麼做到緊跟 Angular 步伐的呢?

Angular1時代

Angular1 支援 MVC 或 MVVM 模式,提供模組化、雙向資料繫結、語義化標籤、依賴注入等等,大大的簡化了前端應用程式的開發。Angular1 一發布就引起了強烈的關注,尤其是它首次提出的“雙向資料繫結”的概念受到了眾多開發者的喜愛。

早在2012年,Wijmo 就響應客戶的呼聲,釋出了支援 Angular1 的版本,使得 Wijmo 成為第一個全面支援 Angular1 的控制元件庫。

Angular2的Alpha版

隨著 Web 技術的不斷髮展,為了解決 Angular1 中的問題,Google 決定開發 Angular2。Angular 2 不是 Angular 1 的一次升級,而是一個全新的、不同的、更高階的框架。

這時,Wijmo 團隊就決定率先支援 Angular 2,因為支援 Angular2 已是眾望所歸。這使得開發人員很容易在在他們的 Angular2 應用中整合 Wijmo 控制元件。 

Wijmo 控制元件是純 JavaScript 的,這也使得對 Angular 2 的支援更容易些,產品組可以為支援 Angular 2 進行很簡單的包裝,這樣 Wijmo 的 UI 控制元件也可以脫離 Angular2 元件包裝而獨立工作。這是一個很大的付出,但是 Wijmo 做到了對 Angular2 的率先支援。

Angular2的Beta版

歷經了55個 alpha 版本之後,2015年12月份,Angular 釋出了 beta 版。意味著 Angular2 已經穩定。Beta 版還是給開發者們提供了一個堅實的框架來構建他們的應用程式。

為了率先支援 Angular,Wijmo 開發團隊和 Angular 開發團隊展開了合作,Angular 團隊幫 Wijmo 解決了一些嚴重的問題。對Wijmo來說這是一個非常有趣的轉變,從這個時候開始Wijmo就已經與Angular2保持了高度一致。2016年3月份Wijmo產品經理Chris採訪了Angular的負責人Brad Green,一起暢談Angular相關的話題,也見證了Wijmo和Angular的密切合作。

Wijmo採訪Angular

Angular2的RC版

2016年5月的NG CONF(Angular大會)在猶他州鹽湖城舉行,Angular團隊結束了Angular2的beta狀態,將其推進到了釋出候選(Release Candidate)階段。大會期間Angular團隊成員登臺,深入介紹了Angular 2,包括新的離線模板編譯器,Angular CLI等。在第一天的會議上,Brad也介紹了支援Angular2的元件庫Wijmo。

2016 Angular大會(NG CONF),Brad Green介紹Wijmo

Angular2正式版

2016年9月15日,這對於Angular2來說是一個重要的日子,Angular2正式版釋出了,在業界引起廣泛關注。很多人認為Angular 2正式版有很多顛覆性的變化,是革命性。Angular 2系統架構中的核心概念包括模組、元件、服務、模板、資料繫結和依賴注入。

Wijmo在Angular2釋出幾個小時後就釋出了支援Angular2正式版本的Wijmo。Wijmo為每一個UI控制元件都提供了Angular 2 元件。所有Angular 2元件都提供了完全宣告性標記。對有需要的屬性提供了雙向繫結的支援,還對定製繫結和一些元件提供了附加功能,比如對FlexGrid中的單元格模板,可以允許用標籤指明單元格的內容。Wijmo的Angular 2元件被封裝為模組並且可以在Angular 2應用中作為NPM包被使用。遵循Angular 2團隊設定的模式,在Angular2中使用Wijmo元件會感到非常熟悉。

Angular網站對Wijmo介紹

一切的合作,都以“開放”為基礎

Wijmo率先支援Angular2取得成功後,不少媒體採訪到Wijmo的產品經理Chris,試圖探尋Wijmo和Angular 能密切合作的奧祕,歸納起來,主要是以下兩點:

“首先,Angular 2團隊的開發和路線是十分開放的,這也就保證了我們可以緊跟他們的腳步。其次,當我們遇到障礙時,Angular 2團隊也很樂於為我們提供支援。我們和Angular團隊建立了良好的友誼。我們也很享受和他們團隊一起工作。我很感激他們的開放和支援。“

事實上,在提供對Angular 2的支援時,也遭遇了一些挑戰。最大的挑戰就是需要提供深度整合。由於Wijmo建立了包裝,還需要解決如何平衡Angular 2元件的作用和宣告性標記,所以我們編寫了大量的程式碼,來促使我們的控制元件能夠完全的用標記的方式配置,還建立了具有Angular特性的功能,比如FlexGrid中的單元格模板。這允許客戶編寫自定製的標記,在表格的每一列中使用。

為了做到這樣,產品組需要深度理解Angular是如何工作的,同時必須要使用其內建的APIs。我們和Angular 2團隊一起工作,使用公共APIs,解決了這個問題。事實上,他們也增加了一些東西供我們使用。

無論過程多麼艱辛,Wijmo 做到了對Angular 率先並且完美的支援,這一切就基於“開放”,兩個產品組開放合作的心態,以及產品本身在開放和路線上的開放性。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28298702/viewspace-2133568/,如需轉載,請註明出處,否則將追究法律責任。

相關文章