摘要:在許多志愿者的幫助下,將文檔全部翻譯為英文,在開發(fā)者社區(qū)頗受歡迎。有了英文版后,更多的國外開發(fā)者也參與到討論之中,相信接下來會有更多來自國外的。英文版的翻譯離不開社區(qū)的貢獻(xiàn),在此特別感謝和三位熱心志愿者。
兩年前,我開始接觸 Vue.js 框架,當(dāng)時就被它的輕量、組件化和友好的 API 所吸引。之后我將 Vue.js 和 Webpack 技術(shù)棧引入我的公司(TalkingData)可視化團隊,并經(jīng)過一年多的實踐,現(xiàn)已成為整個公司的前端開發(fā)規(guī)范。
與此同時,我開源了 iView 項目,它是基于 Vue.js 的一套高質(zhì)量 UI 組件庫,從設(shè)計規(guī)范、工程構(gòu)建到國際化都提供了完整的解決方案,并支持 SSR。在許多志愿者的幫助下,將文檔全部翻譯為英文,在 Vue 開發(fā)者社區(qū)頗受歡迎。
去年的 7 月 28 日,一個名叫 iView(github.com/iview/iview) 的工程立項了,今天正好是它一周歲生日。回想當(dāng)初只是作為一個團隊組件庫來開發(fā),風(fēng)風(fēng)雨雨經(jīng)歷了一年,已經(jīng)成為 Vue 社區(qū)最受歡迎的組件庫之一了,在 GitHub 也收獲了近 8000 Star,npm 每月有 10k 多安裝。當(dāng)然,這一切的成果,都離不開公司給予我的支持和 Vue 社區(qū)的活躍。
彩蛋
既然是紀(jì)念日,就來點好玩的吧。我們重新裝飾了iView 官網(wǎng),今天開始的一周里,可以在首頁發(fā)彈幕,來和世界各地的朋友們一起暢(chě)聊(dàn)吧。
iView 一周年,對于開發(fā)者來說最好的消息,就是我們終于發(fā)布 2.0 的第一個正式版。在過去的 4 個多月里,我們連續(xù)發(fā)布了 19 個 rc 版,其實早可以發(fā)布 2.0 正式版的,并在此基礎(chǔ)上迭代。遲遲不發(fā),就是想把最好的一個版本帶給大家。當(dāng)然,即使今天發(fā)布了正式版,依然還有不少問題等待解決,一個好的組件庫是需要經(jīng)歷不斷磨練。
來回顧一下,從 1.0 到 2.0,iView 有哪些重要改變:
最重要的當(dāng)然是支持 Vue 2 了,其次支持了 SSR 和 Nuxt.js,對常用組件進行了擴展:Table 單元格的渲染基于 Vue 的 Render 函數(shù),并支持展開;Select 支持遠(yuǎn)程搜索;Cascader 支持異步和搜索。還有 100 多項細(xì)節(jié)優(yōu)化。2.0 正式版,更是加強了 Table組件,優(yōu)化了其 8 個問題,所有的浮層類組件都增加了 transfer 屬性,可以選擇是否將其插入到 body 內(nèi),使用更靈活。具體的更新內(nèi)容可以查看更新日志。
聊聊英文版上個月,我們已將 iView 文檔全部翻譯為英文,前前后后進行了 3 個多月才算完成。有了英文版后,更多的國外開發(fā)者也參與到 GitHub 討論之中,相信接下來會有更多來自國外的 contributors。
上圖是來自 Vue 社區(qū)一位國外開發(fā)者的評價。
英文版的翻譯離不開社區(qū)的貢獻(xiàn),在此特別感謝 lcx960324、rijn 和 BigChief45 三位熱心志愿者。
版本號的故事iView 從 2.0 版本開始,版本代號將以獲得過 Apple Design Awards 的游戲或優(yōu)秀的獨立游戲來命名。
每個開源項目的版本代號都有它的故事。作為一枚熱愛 iOS 獨立游戲的玩家,每每看到畫風(fēng)精致、劇情動人的好游戲都會流連忘返,推薦給身邊的同事,所以用它來命名,也算是對獨立游戲的一種支持。
2.x 的第一個版本(2.0)代號是 Leo"s Fortune(里奧的財富)。
這只是開始iView 已經(jīng)很好地幫助前端開發(fā)工程師們加速完成中后臺業(yè)務(wù)開發(fā),但作為一個有追求的大數(shù)據(jù)可視化團隊,這僅僅只是一個開始。下半年,TalkingData 可視化團隊將繼續(xù)開源兩個重磅級項目:
InMap:基于 Canvas 和 WebGL 的地理信息可視化框架
InChart:基于 Vue.js 和 eCharts 的圖表標(biāo)準(zhǔn)庫
這兩個項目都會給數(shù)據(jù)可視化帶來福音,其中值得詳細(xì)介紹的是 InMap,事實上它的歷史要早于 iView,只是一直屬于閉源狀態(tài),在 TalkingData 內(nèi)部使用。這次也是鼓足了勁,在 API 和易用性上進行重構(gòu)后開源。
在地理可視化的過程中,因為地圖的矢量數(shù)據(jù)不是一次性加載的,矢量數(shù)據(jù)是隨著用戶的請求,隨著瓦片一起加載到本地的。在這個過程當(dāng)中存在兩部分的計算比較多,限制了可視化繪制的速度,一個就是各種數(shù)據(jù)的坐標(biāo)轉(zhuǎn)換,另一個就是各種數(shù)據(jù)的可視化。目前 InMap 中使用了 web worker 在后臺對矢量數(shù)據(jù)使用多線程計算,保證頁面對用戶響應(yīng)的同時對各種數(shù)據(jù)進行計算,對于其他適合并行計算的坐標(biāo)數(shù)據(jù)采用 GPU 進行轉(zhuǎn)換。繪制可視化層使用了 WebGL。
下圖是基于 InMap 實現(xiàn)的一個全 3D 地球,可以實現(xiàn)自傳、公轉(zhuǎn)、隨意拖拽旋轉(zhuǎn)、放大縮小等立體效果。
InMap 和 InChart 預(yù)計會在數(shù)月后和大家見面,敬請期待!
對開源現(xiàn)狀的一些思考能夠完整參與一個開源項目,見證它從 0 到 1 的改變,對我來說確實是一件幸運的事,因為從這段開源經(jīng)歷里,學(xué)到了太多的知識,也結(jié)實了很多開發(fā)者。開源是一件很有意義的事情,然而很多國內(nèi)開發(fā)者卻有一個不好的習(xí)慣,他們被統(tǒng)稱為“伸手黨”。相比很多國內(nèi)開發(fā)者提出的 issues,我更喜歡去解答國外友人的英文 issues,這不是因為英文看起來有多高大上,而是國外朋友的提問都很友善,而且是經(jīng)過深思熟慮的。在求知的態(tài)度禮帽上,這點國人做的確實不好,如果你 watch 了 iView 的項目,每天會收到幾十封郵件,其中大多沒有按照 issue guide 的要求來問,close 掉,還經(jīng)常被罵,一陣負(fù)能量。試問,這些不按要求問題,還態(tài)度惡劣的人,你們?yōu)殚_源做過什么貢獻(xiàn)呢?開源是免費,但不是說用了開源產(chǎn)品就是大爺,那么牛逼,干嘛不自己造輪子呢。
這樣的問題不僅僅發(fā)生在 iView 上,我同 VUX(知名移動端 Vue 組件庫) 的作者也深刻探討過,在 VUX 的社區(qū)也會帶有不少類似的負(fù)能量。這種不良現(xiàn)象在國內(nèi)應(yīng)該還有很多,VUX 的 readme 曾今寫的這段僅有的中文,正是寫給這部分人看的:
我相信提 issue 的朋友初衷都是好的,都是來解決問題的,只是聰明的、真正想解決問題的人,都會花費一些時間來認(rèn)真填寫 issue 內(nèi)容。付出就有回報,任何一個認(rèn)真的提問,我也會認(rèn)真的回答,而那些隨隨便便提的問題,連代碼格式化也不會的也會被隨隨便便關(guān)掉。
開源是世界的,所以請善待 GitHub 社區(qū)。
最佳實踐從 2016 年下旬開始,TalkingData 的眾多新項目開始使用 iView,部分核心項目已逐步開始使用 iView 重構(gòu)。以下是部分項目的截圖:
使用者的心聲TalkingData 數(shù)據(jù)工程師 王祥:
上半年,部門的兩條重要產(chǎn)品線 App Analytics 和智能數(shù)據(jù)市場 (SDMK),用 Vue+iView 完成了產(chǎn)品重構(gòu),效果顯著。下半年,其它幾個重要產(chǎn)品,也計劃引入 Vue+iView 技術(shù)棧。iView 的引入,保證了各產(chǎn)品線的視覺統(tǒng)一,設(shè)計師幾乎不需要參與到產(chǎn)品研發(fā)過程,降低了人力成本;工程師們可以更專注在業(yè)務(wù)上,避免了除了業(yè)務(wù)代碼還要維護基礎(chǔ)的組件,極大的縮短了產(chǎn)品研發(fā)周期。強烈建議采用 Vue 技術(shù)棧的團隊,也嘗試下 iView。感謝 iView!
TalkingData 數(shù)據(jù)工程師 楊濤:
從使用 iView 0.9.x 版本到目前的 2.x 版本,見證了 iView 從實現(xiàn)各類組件到豐富組件功能的每一步,使得我們在團隊作戰(zhàn)中大大提高了項目開發(fā)效率。在我們的多個項目中使用了 iView 的各類組件,它完善的文檔和示例代碼降低了學(xué)習(xí)成本,同時 iView 也在高頻率的更新完善,選擇 iView 作為前端 UI 組件簡單易用大大加快了項目進度的同時更多的是感受到 iView 的工匠精神。
漢云優(yōu)品 產(chǎn)品經(jīng)理 關(guān)靜凱:
我是一個愛搞技術(shù)的產(chǎn)品經(jīng)理,在看到 iView 之后,被 iView 整體的 API 和 UX 設(shè)計所折服,非常容易上手,起初只是在產(chǎn)品設(shè)計上使用 iView 快速實現(xiàn)中后臺 Demo,iView 使產(chǎn)品的交互和 UI 保持了高度一致性,在對公司前端團隊培訓(xùn)后,逐漸完成了前端工程化,現(xiàn)在公司的產(chǎn)品已經(jīng)使用了 Vue.js 和 iView 進行了重構(gòu)。iView 的源代碼非常規(guī)范,二次開發(fā)及其友好,目前正結(jié)合公司現(xiàn)有業(yè)務(wù),進行了一些組件的添加,主要集中在數(shù)據(jù)可視化和一些業(yè)務(wù)組件的封裝,iView 給公司帶來的不僅僅是前端技術(shù)的革新,更重要的是推動了產(chǎn)品迭代的速度,因為成功引入 iView,我也獲得了公司層面的支持整合設(shè)計和前端組建了 UED 部門。再次感謝iView 框架帶來的便利。
接下來要做的事情還有很多,我們會通過 iView 在大量實戰(zhàn)項目中的使用,在組件的易用性、穩(wěn)定性上不斷提升和改良,也會在 UI 細(xì)節(jié)上更加規(guī)范、漂亮。
這里也要特別感謝所有為 iView 項目付出努力的貢獻(xiàn)者們,一個好的項目,是需要大家共同創(chuàng)造和維護的。也借此文,呼吁有工匠精神,熱愛開源的開發(fā)者們能夠加入到 iView 項目里來,一起把它打造成世界級優(yōu)秀組件庫。
福利為慶祝 iView 一周年暨 2.0 版發(fā)布,Vue.js 系列課程一律 6.6 元,持續(xù)一周。
特別感謝最后特別感謝以下技術(shù)社區(qū)長期以來對 iView 開源項目的推廣與支持(排名不分先后):
掘金 - 一個幫助開發(fā)者成長的社區(qū)
碼云 - 專業(yè)、高效的代碼托管 · 協(xié)作開發(fā)平臺
Laravel China - 高品質(zhì)的 Laravel 和 PHP 開發(fā)者社區(qū)
SegmentFault - 中國領(lǐng)先的開發(fā)者技術(shù)社區(qū)
前端早讀課
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/84440.html
摘要:在許多志愿者的幫助下,將文檔全部翻譯為英文,在開發(fā)者社區(qū)頗受歡迎。有了英文版后,更多的國外開發(fā)者也參與到討論之中,相信接下來會有更多來自國外的。英文版的翻譯離不開社區(qū)的貢獻(xiàn),在此特別感謝和三位熱心志愿者。 showImg(https://segmentfault.com/img/bVRG13?w=2880&h=1800); 兩年前,我開始接觸 Vue.js 框架,當(dāng)時就被它的輕量、組件...
摘要:掘金日報第四期使用怎么能不知道這些插件合集掘金日報主打分享優(yōu)質(zhì)深度技術(shù)內(nèi)容,技術(shù)內(nèi)容分前端后端產(chǎn)品設(shè)計工具資源和一些有趣的東西。目前已經(jīng)涵蓋了的相關(guān)資源鏈接,供大家參考與學(xué)習(xí)。 【掘金日報】第四期 使用Sublime?怎么能不知道這些 Sublime 插件合集! 掘金日報主打分享優(yōu)質(zhì)深度技術(shù)內(nèi)容,技術(shù)內(nèi)容分:前端、后端、Android、iOS、產(chǎn)品設(shè)計、工具資源和一些有趣的東西。 前端...
摘要:掘金日報第四期使用怎么能不知道這些插件合集掘金日報主打分享優(yōu)質(zhì)深度技術(shù)內(nèi)容,技術(shù)內(nèi)容分前端后端產(chǎn)品設(shè)計工具資源和一些有趣的東西。目前已經(jīng)涵蓋了的相關(guān)資源鏈接,供大家參考與學(xué)習(xí)。 【掘金日報】第四期 使用Sublime?怎么能不知道這些 Sublime 插件合集! 掘金日報主打分享優(yōu)質(zhì)深度技術(shù)內(nèi)容,技術(shù)內(nèi)容分:前端、后端、Android、iOS、產(chǎn)品設(shè)計、工具資源和一些有趣的東西。 前端...
2017-07-28 前端日報 精選 React的新引擎—React Fiber是什么?Chromeless 讓 Chrome 自動化變得簡單【譯】JavaScript屬性名稱中的隱藏信息前端測試框架 JestES6中的JavaScript工廠函數(shù)Why Composition is Harder with ClassesGET READY: A NEW V8 IS COMING, NODE.JS...
摘要:多語言使用了的版本,并整合了的多語言和使用者自己的多語言配置,而且會根據(jù)用戶系統(tǒng)的語言自動切換為中文和英文。 谷歌今天發(fā)布了一系列性感的軟件,我們也發(fā)布了一款大家期待已久的開發(fā)者工具,同樣很性感 :) iView 2.0 已經(jīng)發(fā)布有兩個月了,在 2.0 發(fā)布后,npm 下載量、issues 數(shù)量都提升了很多(可以 watch 下項目,感受感受郵件量)。兩個月里,我們平均 1 周發(fā)布一個...
閱讀 635·2021-11-22 15:32
閱讀 2723·2021-11-19 09:40
閱讀 2318·2021-11-17 09:33
閱讀 1274·2021-11-15 11:36
閱讀 1870·2021-10-11 10:59
閱讀 1482·2019-08-29 16:41
閱讀 1785·2019-08-29 13:45
閱讀 2155·2019-08-26 13:36