前端趨勢 2022

大家好,我是若川。持續組織了近一年的源碼共讀活動,感興趣的可以?加我微信lxchuan12?參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》?包含20余篇源碼文章。歷史面試系列。另外:目前建有江西|湖南|湖北籍前端群,可加我微信進群。


或者叫「2022 前端回顧」。看到尤大下周(2022.7.22)會分享《前端趨勢 2022》,手癢也想寫一篇。于是重新翻了一遍這半年的 MDH 前端周刊,來看看這半年的趨勢。希望借這篇文章,讓大家快速了解這半年前端的發展,同時有一些對于未來的基本判斷。

1、原生語言已成為 JS 工具鏈重要組成部分。?猶記得好久以前有人發過一個投票,你會選 JavaScript Tool 還是 Native Code Tool?這其實是在速度和上手門檻之間做選擇。這么久過去,開發者已經用腳投票。現在社區有大量基于 Native Code 實現的 JavaScript 工具和框架,比如 Deno(Rust)、Bun(Zig)、Rome Formatter(Rust)、esbuild(go)、swc(Rust)、Parcel CSS(Rust),比如 kdy 之前畫的 tsc 的大餅(go),以及像 Next、Vite、Nuxt、Umi 等上層框架和工具也都有大量原生語言工具的應用。

2、Tauri['t?:rai] 嘗試代替 Electron。?「Electron is easy, but slow and bloated.」Electron 雖然易上手,但問題是大和慢,去年 1Password 8 就因為切換到 Electron 被罵地不行。Tauri 可以解這個問題,滿足大家「既要用 JavaScript 開發,又要產品性能」的需求,基于 Rust,近期有發布 1.0。

3、Islands 架構發展迅猛。?Islands 架構最早由 preact 作者于 2020.8.11 提出,解頁面性能問題,包括 SSR 全棧框架下「重復數據、JS 尺寸大、注水消耗大」的問題。其特點是「More HTML,Less JavaScript」,默認全部 HTML,然后在輪播、搜索補全、購買按鈕等需要交互的地方加上少量 JavaScript。低碳、節電,哈哈。社區已有很多實踐,前有 astro、qwik、基于 svelte 的 elderjs 等,后有基于 deno 的 Fresh,都是對于 Islands 架構的實踐。看到 Fresh 之后,個人感覺方案已逐漸成熟,可嘗試用于生產。

4、數據流從純客戶端發展到全棧。?純客戶端數據流包括 Redux、MobX、Dva、Jotai、Recoil、Valtio、Zustand 等,基本都是「View > Action > State」單向數據流,跑在客戶端。而很多應用實際上還有持久化數據和同步數據的需求,所以在這個單向數據流之外,還會有個和服務端交互的數據流。Remix 把這個數據流擴展到了全棧,通過獲取數據的 loader 和修改數據的 action,形成「Loader > Component > Action」的全棧數據流。同時 React Query、SWR、RTK Query 和 useRequest 也可以理解為廣義上的全棧數據流,處理服務端和客戶端之間的數據同步。

5、Storybook 競品來勢洶洶。?包括支持 React 的 Ladle 和支持 Vue 的 Histoire,他們的特點都是快。同時,Storybook 雖然一直在嘗試提升編譯速度,包括支持 vite、支持 webpack 的 lazy compilation 等。

6、CSS 動作頻頻。?比如 CSS Toggle 讓 Toggle 場景不再需要 JavaScript,比如 :has 選擇器讓 CSS 終于有了向上選擇的父選擇器,比如 CSS Variable 2 提案最近也已在進行中,再比如 Defensive CSS 可以讓你的應用更加健壯。

7、Headless 組件風頭正盛。?很多人會無腦選擇 UI 框架,但如果業務復雜或者有自己的設計需求時,可能會針對框架做很多 hack;又或者 80% 的場景下很節省時間,遇到 20% 的需求不符的場景時,反而會花更多的時間去解。所以,最近 Headless 組件逐漸被大家接受,他們包含完整功能,但把設計部分留給開發者處理。比如 Reach UI、Headless UI、Radix UI、Downshift、React ARIA、Reakit、Ariakit、React Table 等都是,以及有基礎樣式的 Chakra UI 也算。結合 Tailwind CSS 快速打造符合自己設計系統的 UI 庫。

8、React 一如既往的穩。?React 18 終于正式發布;同時 React 官方正嘗試通過 useEvent 來修復 hooks 帶來的一些問題。

9、文檔工具有新秀。?比如 Prisma 作者出的 Contentlayer,通用方案,可以和任意框架對接;還有 Stripe 團隊出的 Markdoc 也令人眼前一亮,其引入一種新的 markdown 編寫方式,可以和任意語言結合使用。此外值得一提的是,MDX 也有發布他的 2.0 版本。

9713b2cd51e48e66fddb951bab7f9dda.gif

·················?若川簡介?·················

你好,我是若川,畢業于江西高校。現在是一名前端開發“工程師”。寫有《學習源碼整體架構系列》20余篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會寫一篇年度總結,已經堅持寫了8年,點擊查看年度總結。
同時,最近組織了源碼共讀活動,幫助4000+前端人學會看源碼。公眾號愿景:幫助5年內前端人走向前列。

bd57d2a4cb591976434c9cfb20dbee4e.jpeg

掃碼加我微信 lxchuan12、拉你進源碼共讀

今日話題

目前建有江西|湖南|湖北?籍 前端群,想進群的可以加我微信 lxchuan12?進群。分享、收藏、點贊、在看我的文章就是對我最大的支持

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/274590.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/274590.shtml
英文地址,請注明出處:http://en.pswp.cn/news/274590.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL Connector/ODBC 5.2.2 發布

MySQL Connector/ODBC 5.2.2 發布,這是一個穩定版本,下載地址: http://dev.mysql.com/downloads/connector/odbc/5.2.html MySQL Connector/ODBC 是 MySQL 官方發布的 ODBC 驅動程序包。轉載于:https://www.cnblogs.com/shihao/archive/2012/…

優秀測試管理工具必備九大功能分析

摘要:測試管理工具對測試的重要性毋庸質疑,兩位筆者有著多年的測試實戰經驗,對市面上的一些測試管理工具有過一定的研究,還根據目前比較流行的敏捷開發過程設計了一款測試管理工具。 這篇文章算是對這個設計過程的總結與分享&…

lightroom預設使用_在Lightroom中使用全景圖增強照片游戲

lightroom預設使用Everyone here has taken a panorama with an iphone. We’ve spun around in a circle, trying to keep that arrow right on the line, and more than likely ended up with a strange, squiggly, horizontal photo. Every so often you might get lucky an…

第91次TC39會議舉行,這還是我認識的JS嗎?

大家好,我是若川。持續組織了近一年的源碼共讀活動,感興趣的可以 加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

android調節音量——AudioManager的應用

Android中可以通過程序獲取系統手機的鈴聲和音量。同樣,也可以設置鈴聲和音量。Android中給出了AudioManager類來實現音量獲取、音量控制。本篇基于 Android API 中的 AudioManager 作講述,最后給出實例。下面是本篇大綱:1、認識 AudioManage…

靜態創意和動態創意_再次發揮創意需要什么?

靜態創意和動態創意重點 (Top highlight)According to Oxford dictionary, creativity means “1. Inventiveness. 2. the use of imagination or original ideas to create something.”根據牛津詞典,創造力意味著“ 1。 創造力。 2.利用想象力或獨創性的思想來創造…

oracle 存儲過程 stored procedure 查詢一條記錄或多條記錄

創建基本表 -- Create table create table USER_INFORMATION ( P_ID NUMBER, USER_LOGIN_NAME NVARCHAR2(30) ) 創建包: create or replace package pack_test is type cur_test is ref cursor; end pack_test; / --這個不能少呀,加上這個就可以在…

我寫了 ahooks 源碼分析系列,收到官方邀請我一起維護,這是一次提 PR 的記錄...

大家好,我是若川。持續組織了近一年的源碼共讀活動,感興趣的可以 加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

Hdu 4415 Assassin's Creed 【貪心】.cpp

題意: 某A有一個劍 堅韌度為m 他可以用這個劍去攻打別的隊伍 殺掉第 i 個隊伍需要消耗的堅韌度為 Ai 并可以用得到的劍去打別的隊(Bi個) 但是打完別的隊這個劍就不能用了 問怎么用最少的堅韌度擊敗最多的隊伍 給出T組樣例 每個樣例給出n m n表示有n個隊 接下來n行給…

ahooks 整體架構篇,大家都能看得懂

大家好,我是若川。持續組織了近一年的源碼共讀活動,感興趣的可以 加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

gif動態圖gif出處_我喜歡GIF的怪異事物

gif動態圖gif出處I was recently reminded that I never wrote down all the weird things I learned about the GIF file format when implementing GIF decoding/playback at work last year. (I was reminded of this because I wrote a line in a corporate blog post draf…

C#字符串學習筆記

前言:記得我們老師說過一句話,對字符串的學習程度就是當別人打你一拳你知道痛的情況,所以字符串的處理我們必須學的差不多,這幾篇博客完全是我的學習過程中記錄的筆記,在這里分享一下讓很多剛開始學習.net編程的人能夠…

Git基礎教程(必學)

大家好,我是若川。持續組織了近一年的源碼共讀活動,感興趣的可以 加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

用戶體驗改善案例_優化用戶體驗案例研究的五種方法

用戶體驗改善案例重點 (Top highlight)I’ve had the opportunity to give several portfolio reviews, and I want to share some common themes I see and how you can improve them to put your best foot forward as you search for that new product design gig.我有機會發…

video from html5

掌握HTML5中的多媒體--視頻(video) 除非你一直生活在一個偏遠的島嶼上,過去一年左右的時間,你應該已經聽說過HTML5的各式炒作。HTML5將重塑富Web應用的未來。 下面 Figure 1的示例展示了HTML5中video標簽與傳統的object標簽的不同. Figure 1 1. <section> 2. <h…

我撿到寶了!2022版前端面試上岸手冊,最新最細致!

大裁員背景下&#xff0c;沒什么比辭職后找不到工作更扎心&#xff01;在行情好轉前&#xff0c;前端程序員只能“猥瑣發育”&#xff0c;不輕易跳槽&#xff0c;同時要修煉內功&#xff1a;對八股文、底層源碼、重點項目等進行查缺補漏&#xff0c;靜待行情好轉抓住機會&#…

flo file_Flo菜單簡介:可擴展的拇指友好型移動導航

flo fileWhen it comes to using my phone, I’m a thumb guy and I like using my phone held in one hand. Well, apparently 49% of us prefer it like this.說到使用手機&#xff0c;我是個拇指小伙&#xff0c;我喜歡用一只手握住手機。 好吧&#xff0c;顯然我們當中有49…

超炫的iphone應用UI/UX設計賞析

日期&#xff1a;2012-10-5 來源&#xff1a;GBin1.com 要想成為一款成功的iOS應用&#xff0c;不單單是功能設計&#xff0c;還需要有超棒的用戶界面和用戶體驗的完美設計。為了帶給大家更多的設計靈感&#xff0c;今天我們分享另外一套來自dribbble的iOS應用UI和UX設計&…

Git實戰進階教程

大家好&#xff0c;我是若川。持續組織了近一年的源碼共讀活動&#xff0c;感興趣的可以 加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

什么是設計模式_什么是設計?

什么是設計模式Imagine, you are out waiting for a taxi. You are about to miss your appointment. You wait for minutes but Good Lord! — there’s not a single taxi that can offer you a ride.想象一下&#xff0c;您正在外面等出租車。 您將錯過約會。 您等待幾分鐘&…