SegmentFault 社區訪談 | Aresn:重量級的 iView 做者

clipboard.png

上期專訪說到,Felix 是一個如同空氣般存在的人 ,本期的專訪嘉賓偏偏相反,是一個存在感爆棚(絕對不是說體重)的重量級用戶,使用過 Vue 以及其相關 UI 組件庫的小夥伴,對他的名字確定不陌生,那就是 Aresn -- iView 的做者。html

下面遞 ?️ 給 Aresn,開始本期的專訪~前端

Aresn 我的

Hello,Aresn,和你們打聲招呼,介紹下本身吧vue

Hi,你們好,我是 Aresn,中文名叫梁灝,91 年金牛座。如今在大數據公司 TalkingData 擔任可視化架構師。java

更多關於個人內容能夠閱讀這篇文章【2016 個人心路歷程:從 Vue 到 Webpack 到 iView】 (文章挺長的,仍是先看這篇吧)。你還能夠經過一個 5 分鐘的小短片,來了解我和我團隊正在作的事情,觀看短片傳送門(這個仍是能夠先看看的,只有5分鐘)node

清蒸混跡於你的交流羣,發現小夥伴都喊你教主,能夠說下這個暱稱的由來嗎?git

這個嘛,做爲一枚非知名技術網紅,在 SegmentFault 開了5 場直播,所以得名。github

iView 和 Vue

做爲高質量開源 UI 組件庫-- iView 的做者,能夠簡單談談這個組件庫在你眼中是怎麼樣的嗎?編程

它就像我親兒子同樣,由於過去的一年多裏,個人工做主要都在它上邊。每一個 API,每一個細節都仔細打量,逐步的推廣和宣傳在 GitHub 積累了 1 萬多 Star。segmentfault

雖然是基於 Vue,但不少地方仍是玩的 JavaScript,尤爲是 Table、Select 組件,內部實現是很複雜的,因此 iView 基本表明了我目前的最高開發水平了,也是我最滿意的一項工做。後端

爲何想作開發、開源這麼一個項目呢?當中有什麼趣事能夠和你們分享下的嗎?

咱們公司是 16 年初引入 Vue 的,當時尚未用 Webpack,大概 5 月份左右在第一個項目中開始使用 Webpack。由於咱們公司主要是作 to B 的業務,對中後臺有過不少年的設計和技術沉澱,而 Vue 的引入的確提升了開發效率。當初市面上沒有一款適合咱們公司的組件庫,並且那時候正遇上公司鼓勵作創新,因而就申請了名額,今後踏上開源的路程。

最有意思的仍是跟世界各地的 contributors 一塊兒協做,時間差使得我不少時候要工做到很晚,每每我吃中飯時,人家剛睡醒,我吃晚飯時,人家正吃午餐,我要睡了,結果人家聊的正 high 呢,結果我就得熬夜了。不過不得不認可,有些國外的開發者真的很厲害,情商也很高。很欣慰的是,不一樣語言的人,能在一塊兒共同作一件事情。

iView 都有哪些公司在使用,其中有哪些最佳實踐呢?

使用最多的固然仍是我本家 TalkingData 啦,而後像阿里巴巴、京東、滴滴、新浪、聯想等大公司也都在用。以前在社區作過一個調研:閱讀傳送

不少公司使用 iView 主要仍是作後端管理系統,也就是不對外的。目前能看獲得的產品好比我司的應用統計分析 ,還有像大搜車開發的 easy-mock ,使用了服務端渲染技術(SSR)。

iView 剛發了 2.7.0 版 ,不知道教主對下一個版本有什麼計劃,但願給開發者提供怎麼樣的服務呢?

iView 更新仍是比較勤的,基本上2周左右會發佈一個大版本(版本帝也所以而來),咱們不是爲了發版而發佈,確實是由於這個版本有不少 new features,好比 2.7.0 開始對 i18n 的更好支持

下個版本(2.8.0)重點會放在響應式上,經過不少國外開發者的反饋,它們有時並不須要那麼強大的功能,反而對響應式很注重,這也是爲何 iView 有 1 萬多 Star,而不少國外開發者仍然選擇使用 quasar-framework、vue-material、vuetify 的緣由。

教主最近也出版了本身的書籍--《Vue.js 實戰》 ,清蒸也有小夥伴購買本書,評價是前幾章稍顯簡單,總體很是棒,教主寫這本書的的初衷是什麼呢?

我本身是沒有寫書的念頭的,一年前清華大學出版社聯繫到了我,一番溝通後,決定花點時間來寫。市面上關於 Vue2 的書,當時尚未,正好結合 iView 的經驗,想寫一本偏入門的 Vue.js 書籍。這本書分3部分,第一部分是基礎篇,覆蓋了 Vue.js 核心的 API,第二篇是進階,主要講工程、插件,第三部分是實戰篇,着重講解了2個完整的實戰案例(知乎日報和電商)。

Vue.js 的做者尤雨溪--尤大爲你的書作了序,寫道:本書的優勢,正是對重要的知識點結合了一些實戰範例來幫助讀者更好地理解 API 設計的初衷和使用場景,教主能夠爲此舉個簡單書中例子嗎?

哈哈,說道尤大大做序,當初聯繫到他也是費了一番功夫呢。其實除了尤大,也邀請了大漠、justjavac 等前端大牛寫推薦語(在書的背面)。

讀者反饋比較直觀的一個案例是第8章自定義指令的實戰項目:開發一個可從外部關閉的下拉菜單。不少人在業務中都作過這個效果,只是萬萬沒有想到,能用一個自定義指令來實現,並且很優雅。其實這些都是 iView 中用過的源碼,相似的實戰案例還有不少啦。

教主對 Vue 深有心得,在 SF 發起了本身的 Vue 系列講座 ,能夠簡單談一談,你這個講座各個章節的內容安排嗎?之後,後續新的講座的一個安排計劃嗎?

這套 Vue.js 系列講座內容跟我出版的《Vue.js實戰》是相輔相成的,主要講解了 Vue 的組件、插件,Webpack,Render 函數等內容,每節課都結合了具體的實例。

接下來,我會準備一個新的系列,關於 iView 的實戰及剖析,相比上個系列更針對,會深刻講解在業務中使用 iView 的最佳實踐和技巧,以及對 iView 組件的開發思路、模塊設計,固然也會專門有一節來分析源代碼。

Aresn 對技術問題的見解

做爲一個有着豐富 Vue 實戰經驗的開發者,能夠簡要地從性能、業務使用場景等角度,比較下 Angular,Vue 和 React 嗎?

React 我沒有在實際業務中使用過,Angular 在幾年前用過 1.x 的版本。這三者的最新版目前從性能上看差距不是很大了。我重點說說我對 React 和 Vue 的理解吧(若是不正確還請指正):

  • Vue 使用起來比 React 簡單、快,尤爲是快速作業務時,能夠清楚看到 DOM 結構及關係;
  • Vue2 和 React 在思想上很像,都是基於 Virtual DOM,只不過 Vue 順便支持了 template 的寫法,事實上,你們寫的 <template> 內的 html,都會被預編譯爲 Render 函數。同理,Vue 也支持 JSX。
  • React 在使用上更接近 JavaScript,因此很方便和各種三方工具結合使用,Vue 能夠理解自己提供了一套編程思路,就這這個思路開發會快,但也犧牲了靈活性,除非也用 Render 函數來充分發揮 JavaScript 編程能力。
  • React 和 Vue 最大的思想都是組件,而開發一個複雜通用組件時,拼的仍是 JavaScript 能力。不過在一些特殊場景,不得不使用 Vue 的 Render 函數,好比一個 slot 在組件內用兩遍(Vue 自己沒有提供 API,iView 的一些組件中是經過深度克隆一個 vnode 來實現的,在個人書中也有介紹)。

最後,教主你對如今自學 Vue 或者前端知識的小夥伴有什麼學習建議嗎?有人說自學看文檔,你對此怎麼看呢?

其實上手 Vue 仍是很容易的,只要理解它的思想,從 jQ 的思想中脫離。Vue 的核心思想是數據的雙向綁定,精髓是組件和組件化。一個 Vue 組件的 API 來自三部分:propseventsslots,因此就從這三點出發認真學習和練習,看懂了組件,也就懂了整個 Vue。

其實不管是學習 Vue 仍是其它框架,思路都同樣,文檔主要是對框架 API 的闡述,書籍更多的是做者親身經歷的一些實戰經驗,二者並不矛盾,只是書籍較多,須要尋找一本合適本身的好書。若是你以爲看書很簡單,那實際上是件好事,說明你已經會了。

文末福利--送《Vue.js 實戰》書籍

Aresn 教主的訪談到此爲止了,文末送福利啦,各位小夥伴能夠在文章的評論區向教主提問,僅限於如下幾個方面:

  • Vue.js 的核心功能
  • Vue.js 的性能表現
  • Vue.js 的使用經驗、技巧分享
  • Vue.js 前端工程化之組件化和插件的使用
  • 基於 Vue.js 開發 iView 的心得和經驗分享

clipboard.png

教主會在將來的 1 個星期(11.27 至 12.04 )內回覆你們的提問,以及問題得到其餘小夥伴點贊,點贊數排前五的小夥伴能夠得到 Aresn 贈送的《Vue.js 實戰》書籍一本喲~

Attentions:統計提問獲贊數時間爲 2017.12.20 12:00,統計結果將會補充在本文章下方

相關文章
相關標籤/搜索