国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

精讀《12 個評估 JS 庫你需要關(guān)心的事》

junbaor / 1042人閱讀

摘要:大公司廣泛使用的開源庫,并且有一定國際影響力,而且大廠也有成功開源歷史經(jīng)驗的話,就會增加說服力。總結(jié)下次技術(shù)選型討論時,可以拿出規(guī)則一條一條比對了然后技術(shù)選型只是基礎(chǔ)庫,利用這些基礎(chǔ)可以維護好自己的開源庫,把更多時間用在創(chuàng)造業(yè)務(wù)價值上。

1 引言

作者給出了從 12 個角度全面分析 JS 庫的可用性,分別是:

特性。

穩(wěn)定性。

性能。

包生態(tài)。

社區(qū)。

學習曲線。

文檔。

工具。

發(fā)展歷史。

團隊。

兼容性。

趨勢。

下面總結(jié)一下作者的觀點。

2 概述 & 精讀 特性

當你調(diào)研一個 JS 庫,功能當然是最重要的,就好比 React 的用于開發(fā) UI 界面非常方便,這是流行起來的一部分因素。

但同時 React 解決的問題很聚焦,于是把例如 Router 和 Store 部分交給社區(qū)給解決方案,這就讓 Vue 的官方維護生態(tài)模式發(fā)展了起來。但這更多取決于你的偏好,像 lodash 這種精簡的庫也會長盛不衰,重要的是這個庫提供的能力是否解決了你的業(yè)務(wù)問題。

評分:A - 化腐朽為神奇。B - 更優(yōu)雅的解決方案。C - 比現(xiàn)有方案差。
穩(wěn)定性

這個庫如果經(jīng)常出 BUG,那顯然無法在生產(chǎn)環(huán)境使用。最好經(jīng)過嚴格的測試,保證這個庫一定不會出錯,這樣我們就可以專心排查業(yè)務(wù)的問題了。

評分:A - BUG 很少,方便調(diào)試。B - 不會影響你的穩(wěn)定性,比如出 BUG 概率和你的業(yè)務(wù)代碼相近。C - 引入該庫會讓你背線上故障。
性能

如果讓用戶 15 秒才能打開網(wǎng)頁,那一切都是徒勞。

拿 PReact 為例子,為什么 API 相同的輪子可以活下來?因為體積小,而且 PReact 把宣傳重點放在性能上。

如何一句話說明白你不是在造無用的輪子?性能更好。

評分:A - 小體積,高性能,支持各種黑科技特性比如 Tree shaking。B - 對性能沒有影響。C - 導(dǎo)致性能降低。
包生態(tài)

用過 monaco-editor 嗎?大家都在用 webpack 但它卻走 amd 路線,我不知道你用什么方法讓它支持 commonjs 的,但這一定耽誤了你不少時間。

包生態(tài)包括第三方包的成熟度,包的使用難易度,支持多少種模塊化方案,是否支持 TS,有沒有管理好自己的依賴等等。

開箱即用是最好的,有長期維護組織的更佳。

同時不要有太多相互競爭的社區(qū)方案為佳。比如工具庫用 lodash 這很容易,但 React 數(shù)據(jù)流方案選擇哪個?太多的競爭對手不斷寫軟文搶奪用戶(程序員)的注意力,試圖說服他們加班重構(gòu)。

評分:A - 方案唯一且生態(tài)運作良好,維護記錄標準規(guī)范且順暢。B - 很多新晉網(wǎng)紅包,且競爭選擇多。C - 沒有人給你做包,想用要自己封裝。
社區(qū)

能否快速在 Stack Overflow 搜到問題的答案能反映出社區(qū)的活躍度,不論是官方文檔還是第三方進行的問答。

社區(qū)越活躍,幫你提前踩的坑就越多,如果你遇到一個大家都沒有遇到過的問題,并不代表你用得有多深度,而可能你根本就用錯庫了。

評分:A - 各種論壇每日都很活躍,Github issue 問題日清。B - 論壇/聊天室不太活躍。C - 除了作者自吹的文檔,再也找不到任何相關(guān)信息了。
學習曲線

不要以為把庫功能做的強大,就算難用點也會有用戶跪舔,這是幻覺。

Vue 之所以那么火爆,是因為原生 HTML 的門檻比 JSX 低,而使用 React 的用戶往往都覺得 JSX 比 HTML 門檻低。我也不知道該怎么描述,從 JS 可以產(chǎn)生一切的角度,學習 HTML 反而被認為是高門檻的體現(xiàn)。

所以認清現(xiàn)實,JSX Star 多并不是其理論有多先進(理論確實先進),而是很多人覺得整體學習維護成本比 HTML 低。

評分:A - 一天就能成為這個庫的熟練搬磚工。B - 浪費了一周時間才能投入使用。C - 學了一周才發(fā)現(xiàn)之前的理解是錯的,而且認識到這只是個開始。
文檔

寫文檔的人一般都是庫的作者,這種人一般經(jīng)驗會比較豐富,寫起文檔一般不會考慮初學者的感受,所以找到一份對初學者友好的文檔還是挺不容易的。

對于庫的維護者,要站在初學者角度去寫文檔,站在使用者角度,如果文檔開頭就看不懂的話,最好盡早換個文檔或者換個庫。

評分:A - 專門維護文檔站點、視頻、圖片、示例項目,再好一點的話可以有專門基金會組織編程比賽,通過某三歲孩子可以一天入門強力影射技術(shù)生態(tài)的完備性。B - 有最基本的 Readme 和 API 文檔。C - Readme 寫的是 Create react app,其他的只能查源碼了。
工具

工具可以從多個維度體現(xiàn)出這個庫的優(yōu)勢,首先是確實帶來了使用方便,其次展示了團隊維護實力的雄厚(精力溢出到可以做周邊工具了)。

Redux 之所以這么火,Redux dev tools 功不可沒,筆者讀過一些心理學書籍,也經(jīng)歷過一些技術(shù)選型,看到 Redux dev tools 的圖形化界面后,大腦因為受到視覺沖擊比理性的邏輯思考大太多,潛意識里給 Redux 加了不少分,導(dǎo)致討論結(jié)果都變得不太理性了。

如果你的庫能圖形化表達,或者做一個 PPT 或者輔助工具,那一定會大大加分。(React chrome 插件在打開 react 做的網(wǎng)頁時亮起來真的很酷,這個勛章很有儀式感,以至于我不想換一個框架)

評分:A - 兩個以上的工具,包括瀏覽器拓展、代碼編輯器拓展、CLI 工具或者 SaaS 服務(wù),實力碾壓的話,會有許多花哨的輔助工具出現(xiàn)。B - 一個工具。C - 沒有工具。
發(fā)展歷史

一個 Star 10K 的庫,如果最早提交是十天前,就算不是刷的也最好也不要用,因為不知道哪天作者就不再維護了。

歷史越悠久的庫使用風險越小,除非它所在的面被淘汰(技術(shù)棧、生態(tài)、編程語言等等)。

評分:A - 4 年以上歷史,有權(quán)威認證。B - 1-4 年歷史,已經(jīng)有不少人使用過了。C - 作者自己都沒用過就安利你用到線上去。
團隊

看誰是這個庫背后的男人。大公司廣泛使用的開源庫,并且有一定國際影響力,而且大廠也有成功開源歷史經(jīng)驗的話,就會增加說服力。

但 Vue 就是個例外,幾乎憑尤大一人之力打造,對這種情況,筆者想說的是,一個真心熱愛技術(shù)并踐行全職維護的人,也許比一個背著 KPI 的團隊維護副產(chǎn)品更靠譜。

評分:A - 一線大廠,品質(zhì)權(quán)威認證。B - 中型團隊維護,并且有清晰的分工記錄。C - 工作之余順便開源出去,就沒打算對這個庫負責。
兼容性

除了瀏覽器兼容性,庫 API 的兼容性也非常重要。當你很容易聯(lián)系到作者,并且改動 API 的建議被很快采納時,你就要小心了。

React Router 3 -> 4 升級帶來的陣痛大家都有體會過,babel7 放棄 stage 0-4 也帶來不少吐槽,Angular1 和 Angular2 的區(qū)分直接讓很多人粉轉(zhuǎn)黑了。雖然許多時候頻繁的更新是為了增添新功能,但如果帶來 API 兼容問題,反而會招來反感。

假如你們團隊維護的 10 年間,因為某個庫作者非常勤奮的更新導(dǎo)致以時間為維度,均勻分布了數(shù)十種不同的版本,你會發(fā)誓下一個項目不再使用這個庫了。

評分:A - 總是能兼容升級,實在不行就提前警告并告知在某個版本會廢棄,并提供遷移工具,比如 React。B - 有 Break Change 但是文檔把升級改動寫的很清楚。C - 突然到來的小版本升級讓你不得不重構(gòu)之前的調(diào)用代碼。
趨勢

炒作也好,討論也好,保持大家對這個庫的新鮮關(guān)注非常重要,因為這能連帶的讓這個庫做好上面說的很多點。

但注意過分的炒作,可能會降低這個庫的穩(wěn)定性,畢竟在用戶爆發(fā)式增長之前,最好有一部分當小白鼠。

評分:A - 是 HackNews 的明星話題,Star 成千上萬,各種會議以此為名(Vue conf,React conf)。B - 幾百 Star,有一些討論。C - 別看現(xiàn)在 Star 少,遲早有一天我會超過那啥那啥。
搬家成本

這個是作者補充的比較重要的一天:如果哪天不用這個庫了,換成別的成本有多大?

這方面測試庫做的很好,很多主流測試庫比如 Jest、Ava、Mocha、Jasmine 等之間都有互轉(zhuǎn)的腳本,業(yè)界基本達成了一些共識和規(guī)范。

比較坑的是 React、Vue、Angluar,使用之后你基本就被綁定了,至今沒有誰可以無縫做各大框架的遷移。當然 JS 的年齡還很短,而且說不好未來還會被新語言、技術(shù)、容器顛覆而成為歷史,標準化不是做不到而是需要時間,也許就在十幾年之后,但是今天就是做不到。

3 總結(jié)

下次技術(shù)選型討論時,可以拿出規(guī)則一條一條比對了!

然后技術(shù)選型只是基礎(chǔ)庫,利用這些基礎(chǔ)可以維護好自己的開源庫,把更多時間用在創(chuàng)造業(yè)務(wù)價值上。

仔細思考就會發(fā)現(xiàn),程序員開發(fā)的工具庫也適合點線面體的概念。一個庫 react-button 就是一個點,而它所在的線 react 如果被人拋棄了,無數(shù)個 react-xxx 也會翻船。而 react、vue、angluar 這些線都在 js 引擎這個面上,當可以用 C# 寫 WebAssembly 時,Reason、Blazor、Dart 就會逐漸成為瀏覽器的主角,react 之類的庫統(tǒng)統(tǒng)要回爐打造。而當未來人機互聯(lián)不需要瀏覽器作為媒介時,js 引擎這個面依附的體 - 人機交互場景也被打翻了,這一浪又會引起多大的變化。

所以技術(shù)選型是為了解決當下業(yè)務(wù)問題,仔細考慮好幾個因素,適合解決業(yè)務(wù)場景就足夠了。

4 更多討論
討論地址是:精讀《12 個評估 JS 庫你需要關(guān)心的事》 · Issue #104 · dt-fe/weekly

如果你想?yún)⑴c討論,請點擊這里,每周都有新的主題,周末或周一發(fā)布。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/97942.html

相關(guān)文章

  • 記一次繪圖框架技術(shù)選型: jsPlumb VS mxGraph

    摘要:公司項目需要用到繪圖框架,繪圖部分以前是另一位同事負責,用的是框架。基于以上提及到的種種原因,上年年末我做起了技術(shù)調(diào)研,希望能找到一個合適我們項目的繪圖框架。兼容性問題項目對瀏覽器兼容性比較寬松,瀏覽器兼容性問題不在考慮范圍之內(nèi)。 showImg(https://ws3.sinaimg.cn/large/006tKfTcgy1g0ppk2kkhxj30ka0b4gm5.jpg); 公司...

    longmon 評論0 收藏0
  • 記一次繪圖框架技術(shù)選型: jsPlumb VS mxGraph

    摘要:公司項目需要用到繪圖框架,繪圖部分以前是另一位同事負責,用的是框架。基于以上提及到的種種原因,上年年末我做起了技術(shù)調(diào)研,希望能找到一個合適我們項目的繪圖框架。兼容性問題項目對瀏覽器兼容性比較寬松,瀏覽器兼容性問題不在考慮范圍之內(nèi)。 showImg(https://ws3.sinaimg.cn/large/006tKfTcgy1g0ppk2kkhxj30ka0b4gm5.jpg); 公司...

    channg 評論0 收藏0
  • 精讀《Serverless 給前端帶來了什么》

    摘要:前端框架總是帶入后端思維,而則是把前端思維帶入了后端運維。前端同學對應(yīng)該尤為激動。而帶來了進一步優(yōu)化的空間。當服務(wù)器面臨攻擊重啟磁盤故障時,打開復(fù)雜的工作臺或登陸后一通操作才能恢復(fù)。 1. 引言 Serverless 是一種 無服務(wù)器架構(gòu),讓用戶無需關(guān)心程序運行環(huán)境、資源及數(shù)量,只要將精力 Focus 到業(yè)務(wù)邏輯上的技術(shù)。 現(xiàn)在公司已經(jīng)實現(xiàn) DevOps 化,正在向 Serverles...

    wizChen 評論0 收藏0
  • 精讀《為什么專家不再關(guān)心技術(shù)細節(jié)》

    摘要:需要說明是的,這里說的專家不再關(guān)心細節(jié),不代表成為專家后學不會細節(jié),也不代表專家不了解細節(jié)。本文將從三個點去解釋,為什么專家看上去越來越原理技術(shù)細節(jié)。試想一個不能理解業(yè)務(wù)要做什么的人,即便懂得再多技術(shù)細節(jié),對業(yè)務(wù)也是沒有價值的。1. 引言 本周的精讀是有感而發(fā)。 筆者接觸前端已有八年,觀察了不少前端大牛的發(fā)展路徑,發(fā)現(xiàn)成功的人都具有相似的經(jīng)歷: 初期技術(shù)熱情極大 -> 大量標志性技術(shù)項目 -...

    wangym 評論0 收藏0
  • 精讀《源碼學習》

    摘要:精讀原文介紹了學習源碼的兩個技巧,并利用實例說明了源碼學習過程中可以學到許多周邊知識,都讓我們受益匪淺。討論地址是精讀源碼學習如果你想?yún)⑴c討論,請點擊這里,每周都有新的主題,周末或周一發(fā)布。 1. 引言 javascript-knowledge-reading-source-code 這篇文章介紹了閱讀源碼的重要性,精讀系列也已有八期源碼系列文章,分別是: 精讀《Immer.js》源...

    aboutU 評論0 收藏0

發(fā)表評論

0條評論

junbaor

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<