現年52歲的Bernardo Castilho先生是GrapeCity(中文名爲葡萄城)ComponentOne公司的CTO,在與他的對話過程當中,充滿風趣嚴謹和厚重的歷史感。html
看成爲年輕人的咱們崇拜着各式娛樂男神女神時,他的偶像倒是這個世界上最爲傑出的科學家,從少年時代開始,編程成了他的興趣愛好,並最終成爲了他許以一輩子的職業。做爲Wijmo 5開發團隊的Leader之一,他是HTML五、JavaScript等衆多技術的行家裏手,在採訪他以前,筆者特意在CSDN論壇上發起了一個問題徵集的活動,接下來,就讓咱們一塊兒看看Bernardo Castilho先生就本身、團隊以及Wijmo都回答了哪些問題吧。程序員
圖:GrapeCity ComponentOne CTO Bernardo Castilho先生編程
CSDN:首先,請向咱們的讀者自我介紹一下,能夠分享一些您的小八卦。從業以來,有哪些印象深入的經歷?從Web到移動,有哪些經驗分享?瀏覽器
Bernardo Castilho:個人編程生涯能夠追溯到少年時代,當時我使用的是一臺45k內存的Apple II,我沉醉於這種能讓一切事物變得格外簡單的編程滋味兒。上世紀90年代初,當我編寫出個人第一款適用於Visual Basic 1.0的自定義控件,這種愛好變成了我許以一輩子的職業。安全
一直以來,我都很是熱愛閱讀,若是必須選擇一本的話,我會推薦侯世達的《哥德爾、埃舍爾、巴赫:集異璧之大成》,從嚴格意義上來說,它並非一本編程書籍,但它卻涵蓋了包括萬物相連在內的諸多領域。我也有不少的偶像,好比阿基米德、伽利略、牛頓、高斯、馮·諾伊曼、艾倫·圖靈等,但在個人生命中,我最崇拜的人是Turbo Pascal、Delphi、C#和TypeScript的創造者——安德斯·海爾斯伯格,我參加過他不少的演講,他獨到的看法與想法總會讓我倍感驚喜。網絡
在過往25年的職業生涯裏,我有幸目擊了Web革命的完整歷程,從上世紀的一個天才想法逐漸演變成爲今時今日人們生活中不可或缺的一部分,從向一個平臺發佈內容到一次編程到處運行的跨平臺應用。於我我的而言,從Web到移動最重要的轉折點是微軟決定中止開發Silverlight,它讓我看到了HTML5和JavaScript將成爲將來的技術趨勢。架構
從我涉足這一行業開始,一切都變得有趣起來,回首過去,人們發明了我的電腦和萬維網,許許多多驚天地的事情對現實生活產生了劇烈影響。而今天,冒着像個老男人同樣嘮叨的風險,我看到不少年輕的孩子在iPad上浪費他們的大好光陰,而成年人則成日在Facebook等社交網絡上刷屏度日,甚至還有的人在爲他們的下一部手機該選個什麼顏色而苦惱。固然,在此之中,仍然有許多有趣的事情正在發生,只是還鮮爲人知罷了。對我來講,EcmaScript 五、TypeScript、AngularJS以及Wijmo 5都格外地有趣,但願會有更多的人喜好它們。框架
CSDN:請具體說一下Wijmo 5是什麼?爲何將其命名爲「Five」?工具
Bernardo Castilho:Wijmo 5是新一代的HTML5/JavaScript控件庫,採用最新和最受歡迎的技術,包含了開發可運行於桌面與移動設備之上的現代MVVM應用須要的全部控件和組件,而且,它再也不兼容任何傳統瀏覽器,咱們仍然會繼續支持並更新Wijmo 3,以便傳統瀏覽器的用戶還能繼續使用。佈局
Wijmo 5的「Five」實際上來自於EcmaScript 5。在Wijmo 5中有一項很是重要的特性,就是真正實現了對於getter和setter屬性的支持,這是EcmaScript 5新添加的部分,也是Wijmo早期版本一直缺少的東西。
CSDN:請講講Wijmo 5開發團隊的成員以及分工狀況。
Bernardo Castilho:Wijmo 5團隊的大部分人也負責其餘的產品開發工做。咱們利用在各自擅長領域的專業經驗來爲各個類別的開發項目建立擁有最好品質的控件。
就我而言,我以前負責了從ActiveX、Winforms到XAML等FlexGrid全部版本的開發工做,而我在Grid方面也擁有着極爲豐富的經驗,並把它們帶到了Wijmo 5 FlexGrid的開發中。Alex Trefilov是Wijmo 5 FlexChart控件的開發者,他一直負責XAML圖表控件的開發工做,能夠說是圖表方面的行家。Tim Emanuel是咱們的主設計師兼CSS專家,他建立了Wijmo控件的外觀和佈局行爲,以及可輕鬆新建控件主題的LESS文件。
Chris Bannon是Wijmo的產品經理,負責包括Wijmo 5在內的Wijmo全部版本的研發工做。Chris在Web開發、HTML五、JavaScript以及包括jQuery、SVG、Bootstrap、AngularJS、KnockoutJS等的全部流行JavaScript技術和控件方面絕對稱得上是行家,他爲咱們瞭解當下最早進的Web開發技術以及該如何開展研發工做投入了大量的精力。Alex Ivanenko是咱們的項目經理,負責包括構建過程、自動化測試、Bug管理及用戶請求等基礎架構工做。而Wijmo 5的全部演示示例則是由Raleigh Johnson來開發的,Nazim Turakulov是咱們負責交互層的開發者,主要包括AngularJS和KnockoutJS指令等。Kim Landis是咱們的技術文檔工程師,主要負責文檔、技術論文博客等的審校工做,確保全部信息都是簡潔明確的。而市場經理Eve Turzillo則負責包括廣告、視頻、會議等在內的推廣工做。除此以外,咱們還有一個分佈在中美等國家的開發團隊,同時負責Wijmo 3和Wijmo 5產品的開發工做。
CSDN:Wijmo 5的開發用到了哪些技術?具體的開發思路是怎樣的?
Bernardo Castilho:2013年,當咱們看到經過EcmaScript 五、HTML五、TypeScript、AngularJS等全新的Web技術可以建立出像Silverlight和.NET中的那些工具同樣強大的HTML工具時,咱們決定開發Wijmo 5。咱們想要建立一個這樣的庫,當咱們的客戶習慣於體積更小、依賴性更弱的其餘平臺時,可以爲他們提供擁有一樣強大的功能及靈活性的控件。咱們使用到了jQuery,但不包含jQuery UI、Raphael、Globalize或其餘的庫。
咱們但願這些控件可以充分利用HTML5隨處運行的特性,所以,全部的控件設計都以可良好運行於移動/觸屏及桌面設備爲前提。
圖:Wijmo 5設計草圖
Wijmo 5使用TypeScript語言編寫,它融合了包括類、繼承等在內的面向對象編程全部優勢,並編譯成EcmaScript 5,從而實現可運行於全部現代瀏覽器。此外,TypeScript還提供了靜態偏差檢查,可以極大地加快開發速度並提供產品質量。
Wijmo 5的控件擁有着很是豐富的對象模型,在咱們其餘平臺已有控件的基礎上,利用咱們做爲控件開發者的經驗優點來減小客戶的學習曲線。而且,咱們還從Silverlight移植了JavaScript堆棧所缺失的類,其中就包括和MVVM應用關鍵接口ICollectionView類似的Control和Event基礎類。
CSDN:這款工具作了多久?遇到過哪些坑?
Bernardo Castilho:咱們用了一年的時間來開發Wijmo 5,整個過程能夠說很順利,但也遇到了一些挑戰,而最大的挑戰當屬文檔,咱們渴望可以找到像JSDoc這樣的工具來將代碼註釋編譯進在線幫助系統,但卻無功而返,最終,咱們本身編寫了一款可以從源碼中提取註釋並生成支持本地化的XML文件的工具。另外,還有一款專門用於將XML文件編譯成Web頁面一塊兒匯成幫助系統的工具,這樣一來,不管什麼時候構建Wijmo,咱們的幫助站點都能實現自動更新。相對而言,其餘的問題則容易得多。
CSDN:Wijmo 5和Wijmo在本質上有哪些不一樣?與同類工具相比,Wijmo 5的優點在哪兒?
Bernardo Castilho:Wijmo 5與以前諸多版本的Wijmo存在着很大的不一樣,而且徹底不相兼容,它包含了一系列大相徑庭的控件,不一樣的架構,最爲關鍵的是,它再也不對傳統瀏覽器提供支持。與其餘同類工具相比,Wijmo 5的控件體積更小,速度更快,並有着更爲富足也易於使用的對象模型,整個Wijmo 5庫也就300k大小,同類產品則一般比它大10倍左右,Wijmo的控件不是「widgets」,而是真真正正的控件,擁有着更棒的性能。
CSDN:關於Wijmo 5將來會有哪些規劃?是否會考慮開源?
Bernardo Castilho:咱們沒有將Wijmo 5開源的計劃,相反,咱們會將Wijmo 5以一個極具競爭力的價格出售,並提供用戶支持。對於Wijmo 5的將來發展,咱們有一套路線圖以及用戶請求列表,在發佈Beta以後,咱們會將所收集到的信息彙總出一個優先級列表,根據它們來制定具體的實施計劃。
CSDN:不少開發者關心,Angular與其餘流行組件集成時是否會存在問題?
Bernardo Castilho:對於Angular的支持其實是Wijmo 5開發的重點項目之一,咱們熱愛AngularJS,並在大部分的示例中使用了它,而且,咱們還提供了指令來讓使用帶有AngularJS的Wijmo 5變得更容易。另外,對於控件自己,Wijmo 5還有一個CollectionView類,讓使用AngularJS的MVVM開發達到XAML平臺的水準。
CSDN:若是開發者想將項目從Wijmo向Wijmo 5遷移,該怎麼實現?
Bernardo Castilho:從Wijmo向Wijmo 5遷移很是容易,若是開發者使用AngularJS和MVVM,那麼就能夠經過對控制類進行細微的調整並指令執行以舊換新操做,便可完成項目遷移。固然,咱們很是樂於爲用戶提供遷移指導,在官網的NewsGroup版塊就包含了Wijmo等主題相關的信息,對開發者而言絕對很是實用。
圖:Wijmo 5代碼截圖
CSDN:在Wijmo 5的介紹中,有一塊「真正的JavaScript控件」,能否具體講講它所指的意思?
Bernardo Castilho:從字面意思來理解,「控件」是指一個具有用戶接口以及包含屬性、事件、方法等的對象模型的可重複使用的軟構件。大多數JavaScript庫所提供的都是與控件極爲相似的組件(Widget),只不過,組件的性能有一個單一卻至關難管理的「Options」對象,而且,它們使用調用方法或附加事件處理程序的字符串,致使語法冗長又容易出錯。
而Wijmo 5則徹底不一樣,它實現了getter和setter等屬性支持,擁有真正的事件和方法。全部的對象模型都是類型安全的,開發者可從IntelliSense和TypeScript編譯器受益。最重要的是,Wijmo 5語法和JavaScript類同樣簡潔,代碼更易於編寫、閱讀和理解。
CSDN:Wijmo 5控件是否能夠根據設備或瀏覽器進行自適應?其通用性如何?
Bernardo Castilho:Wijmo 5控件支持包括手機、平板電腦、PC在內的全部設備,不管開發者選擇使用哪一種佈局框架,均可以完美集成。好比說,咱們大部分的示例都是用Bootstrap來實現自適應佈局,這就確保了應用程序不只能夠運行於小屏設備之上,還能自適應,固然,有些示例還用到了其餘框架,好比專門用於開發混合應用的Ionic。Wijmo並不提供佈局服務,但不管開發者選擇Bootstrap、Ionic仍是其餘任何CSS庫,均可將其輕鬆集成到Wijmo中。
CSDN:Wijmo 5在中國有哪些技術支持?若是中國的開發者們遇到問題該如何尋求幫助?
Bernardo Castilho:咱們將爲來自中國的開發者提供一流的服務支持。咱們的母公司GrapeCity在中國的上海和西安都設有分公司,關於Wijmo 5開發的許多工做都是在中國完成。若是來自中國的開發者們關於Wijmo有任何的問題,均可以在GrapeCity論壇提出,咱們的開發人員必定會及時提供幫助。
CSDN:做爲資深程序員,可否談談您對於HTML5/JavaScript技術趨勢的見解?
Bernardo Castilho:在我看來,EcmaScript 五、TypeScript、AngularJS等技術的更新已經讓HTML5和JavaScript成爲應用開發最高效實用的平臺。EcmaScript 5引入了最爲重要的getter和setter屬性以及SVG、Canvas、JSON等支持,而在此版本以前, EcmaScript根本不夠強大。TypeScript也新增了許多關鍵元素,除了面向對象以外,還有能節省時間並提升代碼質量的靜態錯誤檢查。AngularJS則提供了豐富的MVVM和Web組件,二者都是現代應用開發的關鍵部分,儘管AngularJS所具有的功能並非獨此一家,但它倒是當下最流行的技術之一。
CSDN:近期在中國,有一個頗爲熱門的話題,就是Adobe關閉了在中國的研發分公司,僅留銷售部門,其中很重要的一個緣由就是對於國人而言,正版軟件太過昂貴,就GrapeCity控件來講,大家是否會針對中國市場進行價格調整以適應中國國情?
Bernardo Castilho:咱們曾就訂價進行過許多內部討論,大部分人認爲目前的價格是至關合適的,而有的人則但願可以增長一個價格較低但有限制條件或減小支持的選擇。對於中國的開發者,究竟該提供一個什麼樣的價位?關於這一切,咱們仍在思考中。同時,根據咱們在中國的業務團隊的反饋,中國的企業用戶很是重視技術服務,所以在中國市場,咱們會提供本地化的技術支持,以及電話、郵件響應等增值服務,以幫助開發者獲取更棒的體驗。
CSDN:有沒有想對中國的開發者們說的話?
Bernardo Castilho:我鼓勵全部對HTML5和JavaScript感興趣的中國開發者登錄咱們的官網瞭解Wijmo 5,在這裏,不只能夠下載Wijmo 5,還有視頻、示例、文檔、論壇等讓你深刻了解Wijmo 5。更但願來自中國的開發者們可以以英語或中文等方式直接與咱們聯繫,獲取更多信息,或向咱們提出建議,來幫助咱們將Wijmo 5作得更好!
----------------
Wijmo 5中文官網:http://wijmo.gcpowertools.com.cn/5
Wijmo 5中文社區:http://gcdn.gcpowertools.com.cn/showforum-140.html