前端趋势 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.mzph.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;您正在外面等出租车。 您将错过约会。 您等待几分钟&…