2021 年最受歡迎的 20 個前端框架

2021-03-02 樂橙聊技術

關注我,做個專業的技術人!

之前我在網上閒逛的時候發現了一件事,那就是兩年多來都沒人做一次高水平的 JavaScript 框架性能對比。所以在 2021 年伊始,我們就來找點樂趣,讓這些庫好好較量一下吧。本文主要出於娛樂目的,在某種意義上說,會具有一定的參考意義。

該怎麼對比呢?那就選出 20 個最受歡迎的 JavaScript 框架,並用 JS Framework Benchmark 來一場針鋒相對的大比拼如何?

免責聲明:這篇評測主要是出於娛樂目的,可能也會有些實際價值。一如既往,這裡提到的每一個庫在大多數場景中效率都很高。如果有什麼需要強調的話,那就是測出的性能優勢可能來自多種不同的技術和技巧組合。雖然你可以將本文當做參考,但你應該自己去驗證框架在各個用例中的性能。你可以在這裡找到最新的官方成績對比:

https://krausest.github.io/js-framework-benchmark/index.html

如果你想進一步了解這個基準測試,可以參閱我寫的這篇指南:

https://dev.to/ryansolid/making-sense-of-the-js-framework-benchmark-25hl

還有一點需要提一下,我是 Solid Framework 的作者,因此我免不了會在文章中摻雜一些偏見。但我的打算是儘量讓數字說話。了解過這些背景後,就請坐下來欣賞比賽吧。

我用的是 JS Framework Benchmark 中最新的 Chrome 87。它們是用一部安裝 Fedora 33 系統的 Core i7 Razor Blade 15 測出來的,且緩解措施已關閉。

我排除掉了所有有問題的實現,然後選出 Github 星級最多的前 20 個庫。對於擁有多個版本的庫,我選的是它們的最新版本和沒有使用第三方庫的性能最高的分支。

Vue(177k)

React(161k)

Angular(68.9k)

Svelte(40.5k)

Preact(27.9k)

Ember(21.7k)

HyperApp(18.2k)

Inferno(14.6k)

Riot(14.4k)

Yew(14.2k)

Mithril(12.5k)

Alpine(12.4k)

Knockout(9.9k)

Marko(9.9k)

Rax(7k)

lit-html(6.9k)

Elm(6.2k)

Ractive(5.8k)

Solid(4.7k)

Imba(4.1k)

注意:對於 lit-html,我用的是 LitElement 實現,因為標準版標記了一個問題。它的開銷應該很小,因為它是包裝在單個 Web 組件中的原始 lit-html。

這是當下 Web 開發生態系統中非常優秀的一組選手。儘管 Github 星級並不能完全說明問題,但測試結果裡有 100 多個庫,因此我需要一個標準來選出參賽者。

每個庫都會參與三大類別的對比:DOM 性能、啟動指標和內存使用情況。此外,我會將這些框架分為 4 組,這樣就能更好地同性能相近的對手對比了。但我也會給出三大類別的總排名。

在每一組中都會有作為參考的標準 JavaScript 條目。這一實現使用了所有最優秀的技術來做優化,以實現最佳性能。它將作為所有對比的基線。

下面就開始比賽吧。

這一組選手最多,包括一些最流行的庫。還有一些庫有 Facebook、Google、eBay 和 Alibaba 等大公司的支持。這些庫要麼不太關注性能表現,要麼就是只關注某一方面的性能,而在其他方面表現不佳。

圖片第 4 組速度成績

這裡有很多紅色和橙色塊,但請記住,這些庫平均只比我們精心優化的命令式標準 JavaScript 參考慢大約一倍。400ms 比 200ms 能慢多少呢?

在純性能方面,React 在這一組中拔得頭籌。但考慮到架構的差異性,React、Marko、Angular 和 Ember 的整體表現竟然會如此接近,這也很讓人驚訝。不過 React,具體來說是 React Hooks 實現最後勝出。如果你需要額外的函數創建並堅持使用類,那麼就不用對性能抱太大期望了。React Hooks 是使用 React 的最高效途徑:

https://blog.usejournal.com/react-hooks-the-most-performant-way-to-write-react-393e135e1cc

這裡的庫大都有簡陋的列表排序(導致糟糕的行交換性能),或者有很高的創建成本。Ember 就是一個非常突出的典型,因為它的更新性能同組的對手要好得多,但創建性能卻是最差的。

最慢的庫(Knockout、Ractive 和 Alpine)都有著架構相似的細粒度響應庫。Knockout 和 Ractive(也是 Svelte 的作者 Rich Harris 的作品)都起源於 VDOM 庫流行之前的 2010 年代初期。Alpine 的那點 JavaScript 方法渲染起來也是夠慢的。下一個純粹的細粒度響應庫會在很後面的對比中才會出現。

接下來,我們將主要根據庫的打包大小來對比啟動指標類別。

圖片第 4 組啟動成績

這裡的排名和之前有很大區別。Alpine 的速度表現最差,但我們可以看到它的包最小,啟動時間最短。Marko(來自 eBay)緊隨其後,接下來是 Rax(來自阿里巴巴)。這三個庫都是為輕量級客戶端交互的服務端渲染而構建的。所以它們的性能只能排在第 4 組,但啟動成績卻在這一組中領先。

表格的後半部分是我們在基準測試中包體積最大的幾名選手,其中 Ember 成績最差,大小是其他任何實現的兩倍以上。我不知道為什麼要花費超過半兆字節才能渲染出這個表,但不管怎樣這都會拖累啟動性能。

最後一個類別是內存消耗。

圖片第 4 組內存成績

內存成績往往是和之前兩類成績相關聯的,因為它會對性能產生重大影響,同時大型庫往往會使用更多內存。Alpine、Marko 和 React 位居前三。老舊的細粒度響應庫使用的內存最多,Ember 敬陪末座。Ember 太吃內存了。僅在頁面上渲染 6 個按鈕之後,它用的內存已經比標準參考在整個套件中所用的還要多了。

總體來看,這一組庫在 GitHub 上總共有 30 萬星,可能在 NPM 下載中佔據了大部分份額。在這組選手中,Marko 和 Alpine 的平均排名最高。React 排名第三,而速度表現是最好的。

本組中的一些框架在市場份額上遙遙領先,而一些老舊的響應庫已經是昨日黃花。接下來我們研究一些表現更好的選手。

這一組裡的框架可以說在設計時考慮到了性能需求。它們在包大小指標上也下了功夫,並且在創建和更新成本之間找到了平衡。

我們在本組中能看到五花八門的方法。比如 Yew,一個 WebAssembly 框架(用 Rust 編寫);LitElement,一個 Web 組件。最近發布的 Vue 3 是這個框架的重大進化,讓它走出了第 4 組,開始和一些之前沒有遇到過的對手直接競爭。

閒話少提,下面來看看它們的表現。

圖片第 3 組速度成績

整體分數提高了一些,同組內的差距也大多了。Preact 是本組中速度最快的,LitElement 則以微弱劣勢緊隨其後。Vue 3 和 Riot 速度相近,都位居中遊,它們也都有過響應性和 VDOM 並存的歷史。Mithril 是最早將速度放在首位的 VDOM 庫之一,而 Yew 作為唯一的 WASM 庫落在了最後。

在性能 profile 方面,所有這些庫都差不多。這組裡面沒有純粹的的響應庫。它們都使用自上向下的渲染方式,無論是 VDOM 還是簡單的 Tag Template Literal diff 都一樣。與上一組相比,它們的列表處理更智能些(參閱行交換性能)。但多數框架的行選擇性能還是最低一檔。

Yew 是個例外,但它的其它指標都差不少。我們看看其他測試有沒有什麼不同。

圖片第 3 組啟動成績

情況有所改觀,但在啟動指標方面 Preact 仍處於領先地位。Yew 是本組中唯一稱得上大型庫的。WASM 庫的確偏大。

這裡我們又能看到一些相近的成績。Vue 也很大,僅次於 Yew。Preact 和 Riot 的表現非常接近。Mithril 和 LitElement 也差不多,都位居中遊。

Preact 是 React 的一個 4kb 替代品,它顯然是我們目前見過的最小的庫,但後面還有更小的呢。不管怎樣,本組中的這些庫都不需要用戶太操心它們的包大小。

圖片第 3 組內存成績

Yew 這次贏了。在測試過的所有框架中,它的內存佔用量最少。WASM 庫在這方面往往能做得很好。其他成績都非常接近。Mithril 和 Preact 是最差的,但落後也不是很多。

這裡沒有什麼特別值得一提的東西。你可能會認為 LitElement 可能比其他庫(Yew 除外)更輕巧,因為它沒有像其他庫一樣使用虛擬 DOM。但我們稍後會看到,VDOM 並不意味著就要佔用更多內存。

Riot 和 Preact 的平均排名最高,其次是 LitElement,排名第三。Riot 雖然沒有明顯勝出,但在這一組中沒有弱點,因此取得了勝利。但是,這些框架中無論選了哪一個都很難會失望。至於 WASM 和 Web 組件,它們代表了許多人心目中 Web 的未來。

但我們還沒有完成。下一組代表了對 Web 未來的另一種思考。我們要進入編譯器的領域了。

這一組的競爭很激烈。本組中的多數庫都被稱為編譯語言,每種都有自己的風味。這組裡有不可變的結構化 Elm、受 Ruby 啟發的 Imba 和「正在消失的」Svelte。

注意:我發現,並不是所有人都熟悉 Svelte 以前那個「正在消失的框架」的綽號。這個綽號指的是它從輸出中基本編譯出自身的能力。我並不是說 Svelte 沒希望了,如果造成困擾我很抱歉。

比較特殊的是 HyperApp,它與同組其他選手完全相反。它沒有編譯器、沒有模板。只有 h 函數和一個最精簡的 Virtual DOM。

猜猜結果如何?

圖片第二組速度成績

勝出的竟然是最精簡的虛擬 DOM。與最近的流行觀念相反,事實證明虛擬 DOM 並不是糟糕性能的代名詞,而且編譯並沒有給其他庫帶來顯著優勢。

在編譯的庫中,我們實際可以看到 3 種不同的渲染方法,平均速度都差不多。Imba 使用 DOM 一致性對比方法(和我們之前看到的 LitElement 很像),Elm 使用虛擬 DOM,排在最後的 Svelte 使用了一個組件響應系統。

你應該注意的是,虛擬 DOM 庫的行選擇性能最差,體現出了它們的額外開銷。但這些庫還有著更快的初始渲染速度。如果你仔細觀察到目前為止的結果,應該能注意到虛擬 DOM 庫與響應庫之間共有的這一特性。不過在其他指標上大家的速度都差不多。

所以我們繼續分析。這些編譯器的啟動時間 / 包大小怎麼樣呢?

圖片第 2 組啟動成績

如你所見,這個小巧的虛擬 DOM 庫不僅速度更快,包也比其他庫更小。實際上,HyperApp 是我們所有庫中最小的實現。編譯器在包大小方面沒法取勝。

它和 Svelte 都比我們的標準 JavaScript 參考構建更小。為什麼會這樣呢?因為它們的抽象是以一種更加可重用的方式編寫的,所以用到的代碼更少。標準 JS 實現的優化主要針對性能而非包大小。

Elm 的包大小在本組中表現也不錯。但是,Imba 的成績開始落到了第 4 組的水平上。

剩下的就是內存佔用了,也是編譯器大放異彩的最後機會。

圖片第 2 組內存成績

內存結果非常接近,幾乎是平局,但是 Svelte 終於為編譯器贏得了勝利。這是對虛擬 DOM 的一場成功復仇,雖然前者速度更快,體積更小。

老實說,所有這些庫都有出色的內存 profile。現在我們應該很清楚地看到更快的速度與更低的內存佔用之間的關聯了。

不要相信宣傳口號?

對。很多事情比表面上看起來複雜很多。精心設計的系統,無論是運行時還是編譯時,或者無論採用何種技術方法,都可以獲得高性能的表現。

HyperApp 是本組的大贏家,緊隨其後的是 Svelte,然後是 Elm 和 Imba。它們都對性能非常重視,所以你可以期望這些庫在大多數情況下都可以提供最頂尖的性能表現。

後面還有什麼結論呢?

我可以告訴你,聲明式 JavaScript 庫的性能也可以非常出色,不管是純粹的 WASM、Web Worker 或隨便什麼技術它都不會怕的。於是我們來到了……

某種程度上本組可以被稱為「快如閃電」,我想這些庫也用過這個口號。其實你留心的話,會意識到剩下的選手只有兩位了。實際上,這個層次上有一些庫在不斷創造新的紀錄,但其中只有兩個庫比較流行。它們比手工優化的純 JS 平均要慢 20%。

第 1 組速度成績

結果值得研究一番。這裡我們有兩個庫,查看它們的代碼會發現,雖然它們的速度相近,但使用的方法完全不同。Inferno 是業內性能最高的虛擬 DOM 庫之一。也就是說在速度最快的 5 名選手中有 3 個是虛擬 DOM 庫。行選擇測試的速度下降可以視為證據。

另一方面,Solid 使用了細粒度的響應性,和第 4 組中最慢的幾個老庫類似。這種技術又能佔據榜首是挺奇怪的事情,但正如我們所見,Solid 解決了它們的缺陷。它的創建時間與更新時間一樣快。與純 JavaScript 只有 5%差距,這一事實令人難以置信。

奇怪的是,Inferno 和 Solid 的共同點是 JSX 模板和受 React 啟發的 API。在其他那些有著定製優化 DSL 的庫中,你大概不會看到這種東西和頂級性能同時出現。但正如 HyperApp 展示的一樣,某些事情對性能的影響比人們想像的要小很多。

第 1 組啟動成績

繼 HyperApp 和 Svelte 後,Solid 是第三個比純 JS 實現更小的庫,但 Inferno 也不落下風。

雖然高性能庫一般會比較小,但有時添加更多代碼可以提高性能,帶來更好的列表一致性對比算法、更明確的防護措施、更精細的更新,等等。

Inferno 可能比前幾組中的某些庫更大,但它也還是一個不到 10kb 的庫,而性能則超過幾乎所有對手。

第 1 組內存成績

如你所見,除了使用 WASM 的 Yew 以外,它們是整個對比中內存消耗最少的框架。考慮到它們的速度表現,這個結果並不奇怪。

這些內存消耗數字反映了設計者對對象和閉包創建有著非常深度的思考。兩個庫都做了定製的 JSX 轉換,帶來了很多收益。

內存性能的提升對 Solid 尤為重要,因為 Solid 與大多數細粒度的響應庫一樣,都將 CPU 開銷換成了內存消耗。在這種對比中,Solid 之所以採用了和多數最慢的庫類似的技術,卻能提供最出色的成績,很大一部分功勞都來自於它成功解決了內存消耗問題。

接近極限。

雖說純 JavaScript 是上限,但我們這裡的聲明式庫性能幾乎沒怎麼落後,你完全感覺不到它們的差距。雖然我們都覺得 DOM 不行,但只要精心設計,有很多技術都可以高效渲染 DOM。

這裡我們也看到了證據。Solid 在十年前就被認為是古老而緩慢的技術,可它竟然奪得了性能冠軍,而 Inferno 再一次證明了虛擬 DOM 可以高效完成任何任務。

在構建 JavaScript 前端時,我們有很多選擇。本文只是幫助大家快速了解框架帶來的性能開銷。當涉及到應用程式中的實際性能主題時,用戶代碼的影響會更大。

但我想在這裡真正強調的是,測試你的解決方案並了解性能表現是很重要的。現實和宣傳總是會有差異。虛擬 DOM 不見得就那麼慢。我們不能保證編譯器一定會帶來最小的包。定製模板 DSL 不見得最佳選項。

最後我把所有庫放在一起做個對比。某個庫排在後面,並不一定意味著它就很慢,但是與這些表現出色的競爭對手相比它的得分更差一些。

所有框架放在同一張表上。

速度

啟動

內存

最終排名

所有結果都加到一個列表中(第 1 名得 20 分,最後 1 名得 1 分)。在平局的情況下速度成績優先。

Solid(57)

HyperApp(54)

Inferno(51)

Svelte(51)

Elm(46)

Riot(40)

Preact(39)

Imba(36)

lit-html(36)

Yew(32)

Vue(29)

Mithril(29)

Marko(28)

Alpine(28)

React(19)

Rax(16)

Angular(12)

Knockout(11)

Ractive(8)

Ember(6)

特別感謝 AJ Meyghani 在 2018 年寫的這篇對比文章,這篇文章正是受其啟發:

https://medium.com/@ajmeyghani/javascript-frameworks-performance-comparison-c566d19ab65b

延伸閱讀

https://medium.com/javascript-in-plain-english/javascript-frameworks-performance-comparison-2020-cd881ac21fce

目前在某大廠的小部門做技術負責人,歡迎找我交流技術。在投資方面也頗有心得,人生第一套學區房靠自己努力獲得的!

歡迎加好友,互相圍觀朋友圈,做個點讚之交~

相關焦點

  • 什麼是2021年最佳的後端開發框架
    在這篇文章中,我將討論三個基於三種不同程式語言的後端開發框架,讓你了解2021年你應該學習什麼。什麼是2021年最佳的後端開發框架NodeJS是一個JavaScript運行時環境框架,可用於跨平臺開發。由於JavaScript是當前最流行的語言之一,這種流行也提升了NodeJS成為使用最多的後端框架之一。
  • 過去三年使用前端框架的感受
    作者:王力國來源:https://zhuanlan.zhihu.com/p/194311058Angularjs背景:2016.10-2017.7,某雲計算公司,客服雲平臺Angularjs 是我參加工作之初接觸的第一個前端框架
  • 框架的遊戲:2019年JavaScript流行趨勢
    首先,很多公司還沒有準備好將產品遷移到 Vue.js 而放棄他們目前很穩定、常規的前端解決方案。其次,可能有些用人單位想要讓員工在工作過程中學習 Vue.js,所以他們在招聘要求裡並沒有提到這個詞。無論如何,基於全球範圍內的調研,Vue.js 是十分流行的——28.8% 的受試者在 JavaScript 2018 問卷調查中使用 了Vue.js,並表示願意再次使用它。
  • 讓你見識一下什麼叫最完整、最系統的前端學習路線
    前端開發受歡迎程度: 2018年,JetBrains 發起了其標準的年度調查項目,開發人員生態系統調查 (The Developer Ecosystem 2018)。該項調查不僅揭示了不同程式語言的流行趨勢,並且從開發人員的角度反映了他們的個人偏好。調查由淺入深,從一般性的問題開始,並逐漸延伸至各領域的科技趨勢。
  • 免費送書 | 《瘋狂前端開發講義-jQuery+AngularJS+Bootstrap前端開發實戰》
    《瘋狂前端開發講義-jQuery+AngularJS+Bootstrap前端開發實戰》截止至2018年 2 月 1 號 12點前,精選留言被點讚最多的前3名用戶將獲得此書。PS:已獲獎不能再次獲獎,同時獲獎只能任選一本!
  • 為什麼2017年Web前端開發工程師薪資越來越高?
    可見,HTML5可以說是最熱門的前端崗位了,在2010年和2014年底有兩次爆發性增長,現在在美國的崗位需求甚至超過了iOS。為了實現上述目標,前端工程師採用了從可視化到編程的多種工具 ,甚至有時要照顧市場、 UX 到內容tweakes等等。原因三:大量糟糕前端工程師的存在,擾亂了市場這或許是難以招到優秀前端工程師最明顯的原因。
  • 凱德集團上市20周年 發布業務變革框架 「下個20年」
    ');}-->   人民網重慶11月24日電 本月,凱德集團迎來在新加坡證券交易所上市20周年紀念,為了致敬過去20年間與利益相關方所建立的緊密關係,凱德集團發布了新的業務變革框架--「下個20年」。該框架基於「樹人」、「可持續發展」和 「數位化戰略」三大核心原則,確保凱德繼續蓬勃發展。
  • 2021年比較適合用於Web開發的7種程式語言
    2021 年將至,本文列舉了比較適合用於 Web 應用程式開發的Top7程式語言。1.PythonPython 是增長比較快的程式語言,Django 和 Pyramid 是比較受歡迎的Web開發框架。2018 年,Python 的人氣比上一年增長了 456%,並且還在持續增長。
  • 凱德集團發布新業務變革框架—— 「下個20年」
    近日,凱德集團發布了新的業務變革框架——「下個20年」。該框架基於「樹人」「可持續發展」和 「數位化戰略」三大核心原則,將繼續投資於三大戰略性增長業務,即在全球核心市場跨資產類別發展、通過基金管理和旅宿業務平臺實現全球擴張。
  • 從後端開發轉職前端開發,我學到了什麼?
    甚至可以說,基本上已經與後端綁定了,直到我被迫轉職,調崗到前端,從此我能為最好的、擁有強大UI交互性的產品編寫代碼,無需過多依賴前端框架,無需框架提供的黑盒幫我挑重擔,還能創造很棒的app。在後端工作時,我無法想像如何與用戶互動、如何改進用戶流程,因為我幾乎只關心CRUD(資料庫的增刪改查)操作以及app如何將數據存儲到資料庫,包括最重要和最敏感的信息,比如公式、信用卡信息,等等。因此,當我做UI相關工作時,真的糟透了。轉職到前端後就大不一樣了。
  • 前端工程師主要做什麼?你了解Web前端開發工程師嗎-開課吧
    前端開發顧名思義就是頁面的設計,代碼的實現。零基礎學Web前端前端主要是負責頁面的設計,比如我們看到的手機界面、網頁等,能看到的都離不開前端的努力,學習起來是比較簡單的,因為界面的編程可以直接看到編程的結果,有什麼問題可以及時看到並修改
  • 專訪|百度高級前端開發工程師@葉小釵
    今天我們來看看百度高級前端開發工程師@葉小釵的前端之旅。但是當時找實習工作時候發現.net好像大公司不太招,於是就開始看資料庫的底層設計想走深度(現在看來這個事情太二了),結果發現確實看不懂,當時覺得伺服器的水實在太深了,就開始質疑自己的選擇是否正確,於是選擇了前端。很多年以後,看見前端的發展速度,小釵突然醒悟,原來前端的水似乎也很深啊! 3)有了解到你的博客,對技術的分解很有深度,你是如何去發現這種問題?
  • Erupt Framework 1.5.5 發布,全面兼容 PostgreSQL,通用後臺管理框架
    Erupt Framework   🚀   通用後臺管理框架零前端代碼,幾行Java註解,搞定後臺管理系統首頁 | Homehttps://www.erupt.xyz本次更新內容依賴 Spring boot 版本:2.4.1發布日期:2021年01月03日Features 添加 PostgreSQL 兼容代碼,全面兼容 PostgreSQL
  • Semantic UI 1.0 發布,前端 UI 框架
    well ** Bug Fixes ** See Closed GitHub Issues完整內容請看發行註解: https://github.com/Semantic-Org/Semantic-UI/blob/master/RELEASE-NOTES.mdSemantic UI—完全語義化的前端界面開發框架
  • 2021年雪佛蘭克爾維特Corvette:6.2升美式肌肉
    作為帶有可移動頂蓋的敞篷跑車或敞篷車,2021年克爾維特很容易被誤認為是義大利的異國情調。但是現在,克爾維特(Corvette)可以使用這種機器進行輪對輪運轉。 也許最令人震驚的是C8 Corvette的起價。雪佛蘭將其保持低價位。這遠遠低於現在稱為真正競爭對手的超級跑車,並且遠不及保時捷911或謳歌NSX。
  • D3.js、echar.js 前端必備大數據技能
    「 前言 」web前端一直都是個講究門面和藝術美感的行業,如果你以為邏輯很強就夠了,那就錯了,你只適合做後端,真正的好前端是對美感和可視化的東西有一種接近痴狂的愛好
  • Java框架視頻入門教程,常用開發框架
    Java框架視頻入門教程,常用開發框架,一般來說,很多Web框架都在是前端變得更有趣,對用戶更加友好。Java有很多用戶,也有很多開發框架適用他,選擇哪個框架才能更適合我的項目呢?
  • 2020年送給2021年最好的寄語是什麼?是安全!
    2020年送給2021年最好的寄語是什麼?是安全!-13評論 (0) 剛剛結束的2020年,註定是不平凡的一年,隨著新冠疫情的起落,這一年對大家來說都將值得深思和牢記,如果對這一年做個總結,相信安全兩個字最為貼切。
  • 2018年最受歡迎女生英文名TOP20
    2018年,英語國家最流行的英文名出爐啦~有一些經典的名字依然流行,不過一些奇怪的名字也開始流行起來。   相關推薦:    >>英文名字推薦:2017年最受歡迎的寶寶名字   >>除了Rose,還有哪些小眾但好聽的花名適合做英文名
  • 騰訊Web前端大會精彩回顧
    主會場最後是由V8專家迷渡大神介紹面向前端工程師的V8優化。內容有點深,大家可以多到大會技術交流群裡向他提問題。1.4 騰訊-盧嘉輝-QQ空間AMP 實戰下一場是來自騰訊的資深前端工程師周明禮對QQ錢包h5應用開發心得。QQ錢包是一個重量級的H5應用,面臨著一系列的開發挑戰,比如接入層伺服器壓力、網絡環境複雜等情況,嘉賓首先針對這些情況進行了細緻的分析,並給出了相關的解決方案。