<big id="yeiyz"><ruby id="yeiyz"></ruby></big>
    <track id="yeiyz"></track>
    <track id="yeiyz"></track>
    <p id="yeiyz"><del id="yeiyz"></del></p><td id="yeiyz"><option id="yeiyz"></option></td>
    1. <p id="yeiyz"></p>

      <td id="yeiyz"></td>

      Vue 3.0 公開代碼之后……

      oschina
       oschina
      發布于 2019年10月13日
      收藏 42

      本文轉載自微信公眾號“工業聚”,作者工業聚

      前言

      在2019年10月5日,尤小右公開了 Vue 3.0 的源代碼。

      vue 3.0 源代碼倉庫

      https://github.com/vuejs/vue-next

      想了解 vue 3.0 源碼的同學,可以訪問上述鏈接。

      作為現階段的主流前端框架之一,Vue 受到了大家的強烈關注。

      源碼公開后不久,社區內就有源碼解析的文章出現,甚至還有培訓課程打出了《從0實現 Vue 3.0 響應式源碼》的噱頭。

      盡管有一些“學不動了”的自嘲,社區里對 Vue 3.0 源碼開放事件,總體上是一個非常正面的態度。

      在這種背景下,我注意到了兩段爭論,一個來自國外社區,一個來自國內;它們圍繞不同的主題,卻恰好擁有相同的內核。頗有意思,我認為值得分享給大家。

      下面開始我們的八卦環節:

      一、什么是恰當的開源?

      在 Twitter 上,Vue.js 官方賬號,發布了源碼公開的消息。

      有一位開發者留言:

      他問難道在此之前源碼不是公開的,這合理嗎?

      尤小右回復:

      解釋說,影響到用戶的變更部分,已經通過 RFCs 進行過討論。在代碼相對穩定之前,保持私密,可以更專注的做實驗和迭代技術細節。

      然后,另一位開發者跳出來:

      他說 TypeScript 項目里,所有代碼和工作流程都是開放的,即便是 TS 的作者 Anders Hejlsberg 也是通過一樣公開的方式貢獻代碼,這比 Vuejs 團隊做的好得多,并聲稱這才是恰當的 OSS(開源軟件)。

      尤小右回復:

      首先表達了對 TS 團隊的敬意,然后指出對方并不能定義何謂恰當的  OSS (開源軟件)。

      對方繼續回復:

      此處他進行了一次偷換概念。第一次回復時,他以 TS 團隊的做法為基準,明確了什么是恰當的 OSS 方式。

      在進行辯解時,他掐掉了 Proper 的形容詞,表示他沒有對什么是 OSS 進行定義。

      然后他開始轉移話題,說他只是認為將潛在的貢獻者拒之門外,對項目幫助不大。

      尤小右對此作了一番陳述:

      大意如下:

      1)從第一天起就開放源碼,并不一定是好事,特別是對高曝光率的項目而言。

      2)在項目早期,API 等設計還在不斷變化的階段,有非常高的溝通成本。容易引發混亂。

      3)從昨天源碼開放后,就收到大量 PRs,花費了大量的時間去審查代碼,去解釋和回復問題。

      4)基于上述經驗,設想一下,如果從第一天開始就這樣,那這個項目很難有實質進展。

      5)Vue 并沒有等所有部分徹底完成之后,才公開代碼。在前期有公開 RFCs 討論,目前公開后,也仍有很多可貢獻代碼的地方。

      6)成為 Vue 核心團隊的成員,不是靠裙帶關系,而是基于他們過去對項目的貢獻。

      對方回復:

      他沒有正面回復現實問題,只是繼續表示:Vue 之所以在某個開發階段,通過保持代碼私密以降低干擾,是因為無法通暢溝通,所以需要排除其他人。盡管對目前而言,是一個有效方案。但他希望將來變成一個容納所有人的更好方案。

      至于怎么解決溝通成本問題,怎么提高溝通效率,他沒有提及。

      想了解討論的全部內容,可以訪問下面的鏈接:

      https://twitter.com/vuejs/status/1180159603507638274

      我們暫時不做評論,且來看看另一個案例。

      二、怎么才算是足夠 TypeScript?

      Vue 3.0 源碼公開后,有人在知乎提了一個問題:

      其中一個回答說:

      我的看法,any太多,一點都不TypeScript。嘗試改了一下發現any套著非any,牽一發而動全身…

      評論里還有一些 TS 愛好者,在答主的基礎上,繼續加以吐槽。甚至有好事者在未曾看過源碼的情況下,憑空表示早就猜到 Vue 對 TS 支持不好云云。

      這類不友好的言論,在某種程度上激怒了尤小右。他回復:

      對方表示,尤小右的回復屬于人身攻擊。

      尤小右回復如下:

      對方繼續回復:

      他的說法,相當于暗示 Vue 目前使用的是“類型實踐的最低配置”。當然,Vue 并非這種情況。尤小右繼續反問對方,什么叫一點也不 TypeScript?

      這位答主其實是 Vue 3.0 的貢獻者,他無意抹黑或抨擊 Vue。因此,后續他修改了回答的內容,刪減了容易引起其他人誤會的措辭。

      當前版本的回答內容如下:

      想了解全部內容,可以訪問下面的鏈接:

      https://www.zhihu.com/question/349203766

      三、兩種看待事物的視角

      在大概了解了上面兩則爭論內容后,我們停下來,想一下,他們之間有什么共同點?

      從尤小右對他們的首次回復中,可以看出端倪:你不能定義/規定XXX。

      這是一個切中要害的回復。

      他們,不管有意還是無意,都是在按照自己的標準,劃一條線,然后做非黑即白的區分。或是定義這屬于恰當的或不恰當的 OSS,或是規定這足夠 TypeScript 或者一點也不 TypeScript。

      然而實際上,不管是開源還是 TS,它們其實是漸進的、有層次的,呈現的不是非黑即白,而是一段光譜。

      不管是開源方式,還是 TypeScript 含量,Vue.js 既不是在光譜的最左端,也不是在光譜的最右端。

      Vue 既非徹底的不開源,也非無時無刻都開放源碼(事實上,要做到開源光譜的最右端,成本是極高的,開發者可能得一直通過直播的方式編寫所有代碼,而不能先私自編寫,commit/push 到倉庫后才公開)。

      Vue 既非完美的 TypeScript 代碼,也非任性 any 的 TS 代碼。

      在 Pre Alpha 階段,代碼有一些不足,在意料之內,也在計劃之內:“Vue 并未等待所有東西都完備后才開源,仍留有許多可貢獻代碼的地方”。

      非黑即白的思維,在技術領域很盛行。這兩段爭論所呈現的,只是其中的九牛一毛。

      光是 FP 和 OO 這兩個,就可以排列組合出多種非黑即白的話題,比如:這是FP,這不是 FP,這不夠 FP,或這不是純 FP,這不夠純 FP,這不夠純 FRP,這不是 OO,這是 OO,這不夠 OO 等等。

      如果將非黑即白叫做 01 思維,那么光譜視角,應該叫 0~1 思維,它呈現的是有層次的漸進過程。

      在上面的兩段爭論中,Vue 和 Vue 作者很容易通過反駁和用實力,得到澄清。但是,不是所有項目,所有人,都像 Vue 和 Vue 作者那樣強大,有能力去肅清非議。

      有許多弱小的項目和開發者,飽受歧視。

      設想你是一個小透明,你在 GitHub 上新建了一個賬號和倉庫,將自己未經嚴格測試,甚至跑都還跑不起來的代碼,發布上去。

      然后有一個人對你說:我在剛工作的時候,我就學會了,代碼沒有嚴格的單元測試,代碼覆蓋率沒到 99%,代碼 commit messages 不規范,都不好意思放到 GitHub。

      你試圖反駁說:這些要求太高了。

      他更嚴厲的質疑:這也叫高要求?這不是最基礎的常識嗎?你平時怎么工作的?

      你敗下陣來,默默刪除了自己的倉庫。默默對自己說,我只是一個弱雞,我沒資格開源。

      同時你發現,在其它方面,也有很多既得利益者,利用先發優勢,用資格論,對你進行自信心的打擊。

      你不敢讓人知道你在學習什么技術,不敢給其他人看你寫的代碼。

      你覺得自己實力不行,不配去看官方文檔,不配去問大神問題,不配去看英文材料,不配去看論文,不配獲取一手材料,不配發表意見,不配開源代碼,不配寫文章。

      你覺得自己只配從非官方的渠道,看二手的,三手的,非嚴肅的內容;看不懂也沒關系,也沒人嘲笑你:這么簡單,寫得這么清楚,你都看不懂?

      最后你發現,你永遠學不會真正的技術。你覺得自己果然不適合這個行業。

      不。

      不是這樣的。

      你可以隨意開源,即便跑不起來,即便沒有單元測試,即便你連什么是代碼覆蓋率都不知道。

      你可以去寫 TypeScript,即便僅僅是把 .js 后綴改成 .ts。對剛開始的你而言,不改一行代碼,你也已足夠 TypeScript。

      你可以在光譜的最左端停留,這是你的起點。等你變強之后,你可以提升你的項目的完成度和質量,往光譜的右側移動。

      每個人都需要經歷起步階段。所有項目都有希望變得更好,不管當前處于哪個階段。

      你可以去看官方文檔,你可能發現,它里面的第一句話是:本文檔不要求提前知道 XXX 技術,本文檔對于初學者也適用。

      你可以去問大神問題,你可能發現,對方比你想象的更樂意幫助你。

      你可以去看英文材料,可以去讀論文,在合理合法范圍內,你可以自由的做任何事。

      不必桎梏于某些人劃定的界線,即便這個人是所謂的大佬。

      普朗克有一句名言:新科學的發展,不是靠使其對手看見真理之光,而是等待對手全死光,新一代熟悉新科學的人成長起來。

      希望你能成長起來。

      本文轉載自微信公眾號“工業聚”,作者工業聚

      本站文章除注明轉載外,均為本站原創或編譯。歡迎任何形式的轉載,但請務必注明出處,尊重他人勞動共創開源社區。
      轉載請注明:文章轉載自 OSCHINA 社區 [http://www.url23.com]
      本文標題:Vue 3.0 公開代碼之后……
      加載中

      精彩評論

      r
      rund11
      正常,osc有很多不會代碼的杠精
      開源中國首席裝逼王
      三大框架
      vue star最多
      issue , commit , contributor 都最少
      LeeNux
      LeeNux
      尤大這次被杠精氣哭了,估計杠精們甚至不會看一眼源碼,只是來蹭熱度而已。
      東勝神洲
      東勝神洲
      不奇怪,一樣米養百樣人,同一樣東西,不同人懷有不同目的,自然就有不同的行為舉止。。。但有一樣就是,維護所花費的代價比破壞高得多。。這也是為什么噴的比較多的原因,從心理學角度來看,“犯罪”所獲得快感比其他方式容易,同時也強烈。。
      keep_wan
      keep_wan
      用ts 不用泛型。意義何在

      最新評論(49

      d
      dwcz
      還是后端簡單些,前端能為這種小事吵起來。標準是靠實力建立的,你可建立標準,別人也可不遵守標準。
      Bd999
      Bd999
      這還算好的,v2ex一堆杠精,各位作者了解一下,以后不要去v2ex發項目,以免被罵
      TonyJian
      TonyJian
      神仙打架,我們看個熱鬧就好
      隨你瘋
      隨你瘋
      為什么你們能訪問twitter? 誰能告訴我一下怎么搞?
      記學本
      記學本
      TypeScript sucks
      ViperWhip
      ViperWhip
      vue+ts大法好,避免了被jsx荼毒。
      游俠小陸
      就不應該用ts
      左華棟
      左華棟
      ts 是以后趨勢了~不可能不用
      游俠小陸
      不覺得,這玩意根本就不好用,不就限制了類型嗎,asm可以操作dom就好了
      左華棟
      左華棟
      涉及團隊開發和協作你就明白了。
      豬隊友能給你number 里傳string 。
      而且使用 ts 開發,類型提示豐富,基本上不用看文檔了。
      node.js 的 http 就用 ts 重寫了。
      Facebook的 yarn2 也用ts 重寫,不支持ts 已經很少見了,用ts 重構的也越來越多。
      keep_wan
      keep_wan
      沒寫過強類型的壓根體會不到強類型的好處
      H
      Hailin
      換個詞“發布”不就好了!
      大東哥
      大東哥
      JSF算是熟悉的想轉這些前端框架曲線會不會比較陡峭?
      Droida
      Droida
      ADF? 需要從前端基礎逐步學習一下,也不那么困難
      大東哥
      大東哥
      不是,用過primefaces這些,如果用JSF輕封裝一下下vue之類的會不會顯得吃飽沒事干的感覺。
      xu81.com
      xu81.com
      一瓶子不滿半瓶子咣當,哪里都有這樣的人,越是這樣的人越愿意用自己微薄的知識去充當專家。
      比如之前開源基金會的事情,某些人連基金會跟開源倉庫都分不清就噴,說他們是碼農真的是抬舉了。
      返回頂部
      頂部
      聚看影院