【導讀】Vue2生命周期即將結束,會帶來哪些影響?
時值年末,Vue作者尤雨溪在官網上發文提醒Vue社區,「Vue2將于2023年12月31日達到生命周期結束(EOL)」,并呼吁使用Vue2的開發團隊應該考慮遷移!
源于主流瀏覽器對新的語言特性的普遍支持以及Vue2.x代碼庫隨著時間的推移而暴露出來的設計和體系架構問題,尤雨溪及其背后的開發團隊在2018年萌生重寫Vue的想法,最終在2020年重磅發布了Vue3.0版本。相較于Vue2,Vue3.x版本性能等方面均有了很大的改進,如今也是時候棄用Vue2了。
那么Vue2生命周期即將結束,會帶來哪些影響?
Vue2.0于2016年發布,已有7年多的時間。這是Vue成為主流框架歷程中的一個重要里程碑。當前的許多Vue用戶在Vue2時代就開始使用Vue,并用它構建了許多偉大的東西。
尤雨溪表示,并行地主動維護兩個主要版本對Vue團隊來說是不可持續的。隨著Vue3及其生態系統的成熟,團隊是時候繼續前進并將精力集中在最新的主要版本上。
因此當Vue2.0在2023年12月31日生命周期結束后,尤雨溪認為,Vue社區應該做好棄用Vue2的準備。
12月31日,Vue團隊將在npm上將以下軟件包標記為已棄用:
① Vue2核心的所有主要和次要版本
② 專門支持Vue2的vue-router版本(3.x及更低版本)
③ 專門支持Vue2的vuex版本(3.x及更低版本)
2023年12月31日之后,Vue2將不再接收新功能、更新或修復,但仍可在所有現有分發渠道(CDN、包管理器、GitHub等)上使用。
自2022年2月7日起,Vue3一直是Vue的默認版本。遷移后的用戶可以享受:
更小的包尺寸和更快的渲染帶來更好的性能。
增強的Type支持,更輕松地進行大規模應用程序開發。
更高效的基于代理的反應系統。
新的內置組件,如Fragment、Teleport和Suspense。
改進了構建工具支持和VueDevtools體驗。
遷移不了,還在使用Vue2該怎么辦?基于此,Vue社區給了一些其他的建議:
① 更新到Vue2最終版本
就在12月24日,Vue團隊發布了Vue2的最終版本2.7.16,版本號為SwanSong,意為絕唱。
此補丁版本包括對2.7功能的一些最終修復,并改進了與Vue3的類型對齊。
對此,Vue團隊強烈建議開發者更新到這一2.7.16版本。
② 購買Vue2的擴展支持
如果相關的開發團隊在12月31日之后依然需要繼續使用Vue2,Vue開發團隊表示已經與HeroDevs合作提供永無止境的支持(NES)。即使在EOL之后,Vue2NES也會為Vue2提供持續更新和安全補丁,以便具有嚴格合規性要求的應用程序保持安全和合規。它還保證Vue2應用程序將繼續在現代瀏覽器中有效運行,并保持與Nuxt、Vuex和Vuetify2等基本庫的兼容性。最后,Vue2NES具有持續的安全監控和14天的修復SLA。
③ 通知用戶分享關于你的Vue2EOL計劃
除此之外,Vue團隊表示,如果你目前無法遷移到Vue3或使用Vue2NES,但仍需要停留在Vue2上,那么你需要考慮向客戶傳達你自己的Vue2安全計劃。
這并不適用于所有Vue用戶,但許多團隊被SLA、合同和協議或其他義務禁止向下游方交付不受支持的軟件。這些可能是客戶、合規機構,甚至是公司內部部門。對于越來越多的行業,監管機構也提高了對軟件創建者的責任的期望。
Vue社區提醒道:Vue2過去沒有出現重大漏洞,但即使是最成熟的EOL項目也確實會出現CVE——無論是直接出現還是通過受損的依賴項出現。通過OpenCVE和Snyk等安全組織訂閱CVE通知可能是在發現漏洞后立即展開行動的好方法。瀏覽器也可能會發布破壞舊庫的更改,這種情況很少見,但確實會發生。
尤雨溪表示,“當Vue2最終達到EOL時,對我來說將是一個激動人心的時刻,但與此同時,我對我們面前的未來比以往任何時候都更加興奮。Vue3生態系統一直在創新中蓬勃發展。Vue3.4目前處于測試階段,編譯器和運行時的性能都有所改進。我們在Vapor模式方面也取得了良好進展。Vue2的結束僅標志著一個新的開始——2024年對Vue來說將是激動人心的一年!”