说来今天居然都是二月中旬了,24年一不小心就过了1/10,写个23年小结对于一个个人来说不知道算不算有点晚。
先简单自报一下家门,一个出身前端,现在啥都干的全干程序员。
在23年参与了多个项目,很神奇的一点是,基本都是新项目,其中前端都是用React起的新项目还有一些Node后端项目。这些用React起的新项目中Create React App、Next.js、Vite、Rollup、Turborepo、Redux Toolkit、Mobx、Zustand、daisyui、NextUI、shadcn/ui、Fabric.js、React Hook Form、Alova、Storybook、Jest、Vitest,简单报个菜名,再加上各种大的小的包,感觉是有点啥啥市面上有的东西基本都用了一圈了。
有些技术是我选的有些不是,我自己的想法还是比较稳定的。虽然都是新项目,但在各种妥协下面也有用Create React App这种现在看来很坑的选择,但是这个项目毕竟不是我自己的个人资产,捏着鼻子写也还行吧。
一回头看觉得这一年还是搞了蛮多东西的,然后今年开年一个月,又有新项目,其中又用了Immer、Zod、Trpc等之前来不及其用的玩意儿。之后可能要写一些E2E的测试会用Playwright,感觉是近年来的新东西或者是说,Js + React生态当中以前流行和现在流行和可能未来会流行的选择过了个七七八八。
好吧,这里没有说一些和React平级的比如Vue、Svelte、Solid.js等框架。Vue我还是挺喜欢的,毕竟入行的时候Vue2 + Element一把梭,还是有点感情的。但是怎么说呢,写习惯了React之后,感觉Vue3的一些东西很不顺手,包括但不限于:我想写tsx然后发现在Vue3中写这些东西并不是特别方便,还是写天生的模版语法是最好的选择;然后还有一些Props传递什么的感觉相当魔法,感觉React中的Props定义一个类型之后很自然直观,不知道是不是被React给PUA了。
关于Solid.js一直都是有人说很好啊,但是没看到多少真正的产品在用,我自己的话倒是想试试,一个劝退的点是For循环不是传统的jsx、tsx写法去写的,感觉确实有点被PUA的严重了。
Svelte倒是看到过很多产品级别的东西,尤其是SvelteKit的出现让我对这个框架更感兴趣了,现在一个渲染框架的生态当中是否支持CSR、SSR等多种不同的渲染策略对于我来说已经是一个必须要关注的点了,可能我会比Solid.js更早去试试它。但是同样地,Svelte也有自己的一套模板语法,感觉我对模板语法审美的执念有点不好评价了。
撇开这些,从我个人的角度看23年的前端圈,我的个人体感相比22年,也是成熟和稳定。22年用类似于pnpm、Vite这些东西感觉还有各种奇奇怪怪的问题,monorepo的选择还在想到底用lerna好还是别的好,现在前两者起项目直接无脑用,基本遇不上奇奇怪怪的问题,起项目直接无脑选monorepo,框架直接选Turborepo。
可惜的一点是Vite对于React没有一个杀手级的SSR框架,我找了半天找了个Vike,但是我没敢去用。然后Next.js自己家在研究Turbopack,现在用的一套基于Webpack + SWC的开发体验完全和Vite比不上呀,这点真的折磨到了,但是你又不得不用。要么去用Remix,但是又感觉Remix不是很稳重的选择目前来说,光凭这一点我就想选Nuxt,用Vue3开发了。折磨。
然后除了前端,也有很多NodeJs后端,DevOps的内容。业务逻辑啥的咱这边就不说了,有点不是很懂正宗后端和DevOps在干嘛,反正我这边写了除了CRUD之外以及部署发布之外的东西也就是很业务化的处理数据啊,权限啊一类的业务逻辑,还有一些缓存啥的逻辑,然后没了,没遇到什么锁啊乱七八糟的东西,基本都是直肠逻辑。
最后展望一下今年要干嘛吧,好吧,先吐槽一下,感觉有点流水账,随便写写。
今年我想要研究一下Flutter,嘿嘿,没想到吧,Flutter也是前端!我从入行开始做的就是纯桌面Web端页面,但是我手机端响应式什么的也在自己研究,但是没有一个项目和需求,没有一个抓手,一直就有点麻,说实话。响应式没有设计真的太折磨了!然后又觉得手机App什么的,总归也是要会做的,是时候启动了。你问为什么不选React Native,难道它不是和你的技术栈最靠近么?我只能说,我看了很多宣传,那些宣传让我觉得Flutter很可口美味,宣传真的很有用!
然后是,Godot。又没有想到吧,估计很多人不知道Godot是啥,简单的说Godot就是一个游戏引擎,做游戏的,这个Godot我其实去年就想搞了,去年实际上花了一点时间在Unity上,我把Unity的官方教程全部过了一遍,然后我选择了Godot。然后各种原因,我没有启动。反正就是个人喜好吧,而且Unity去年整了个逆天大活儿,不了解的可以了解一下。我问了身边专门写Unity的同学,他说Godot大概5年前Unity水平吧,我其实也大概知道,但是我也自己评估过我自己的需求,我觉得Godot对于我来说是一个比Unity更好的选择。
咳咳,结果说了两个和“前端”有点距离的东西,实际上面你想想,这些当然也是前端啦!在js这块我想的还是业务做到哪里是哪里吧,已经是到了我选框架而不是框架选我的地步了,会源源不断地有好玩的东西玩。
然后想的是参与一个开源项目。最近用各种库已经习惯于把源码下下来build一下、看看case、看看源码,然后judge不同人、不同项目之间的代码风格呀,具体实现形式呀什么的,有些深受启发,必可活用于下一次,而另一些,说实话有点流汗了。感觉有一些我感兴趣的领域可以研究一下怎么参与一下。
感觉想要做的事情有点虚啊,比如学Flutter呀,Godot这两个。我想的是今年尽量上线一个基于Flutter的应用和一个Godot游戏的demo,然后Web写一个自己的主页,框架估计会用Astro,这个框架听说支持多个渲染框架同时使用,准备养个蛊,然后上面放一些花东西,不好说,感觉规划的很大,先给自己画个大饼。
最后祝大家身体健康,万事如意,能看到这里的都是勇士。