做了 2 年前端,盘点前端技术栈!大佬轻喷~
前言
自己写了快两年前端,但是大致总结一下哈哈哈哈我觉得这个话题蛮有意思的,可以看看大家的技术广度,可以进行分享和学习以及讨论所以这里说一下我对我的前端技术,做一下盘点和总结因为我的开发年限有限,所以我觉得我的盘点更适合 0-3 年的前端人群,所以技术范畴没有高年限大佬那么广,请见谅~
个人技术栈
我对我较为熟悉的、主要的前端技术栈做个介绍,然后分段进行一下总结 Vue、TS、小程序、UniAPP、ThreeJS、Node 后端、鸿蒙(目前我先放在前端这里,如果你说归属于移动端,那也没问题)。
Vue 在国内 Vue 和 React 的争论一直存在,但是我觉得并无优劣之分,都是很优秀很好的框架,与原生相比,二者都方便了我的开发并且二者的生态也很好,有很多周边的库,以及衍生的上层框架。我觉得讨论好坏是意义不大的,如果你觉得不好的话,可以不去使用自己不心仪的框架,并且大可以去自己做一个更好的开源框架,或者是哪里让你觉得不舒服了,大可以提个 PR。
讨论这个意义真的不大,但是我们可以去讨论一下框架的实际作用,在我们工作或者开发层面有没有帮助在国内,Vue 的使用范围是不用多说的,不管它是不是培训机构或者是什么别的原因普及的,但是在国内,Vue 足够熟练的话,大概率是能有个工作的(当然,并不完全,毕竟环境如此严峻)在国外的话,Vue 也有不少,但是远不及国内这么普遍,这是一个不争的事实,所以如果你真的想去国外,或者是找远程的话,学 React 我觉得是比较有必要的,当然,这只是个建议而且就是在国内,要求 React 和 Vue 都会的的好像也慢慢变多了所以我真的觉得,这已经不是需不需要学的了,好像二者都要会似乎是必须技能了?
但是也不用太担心,不考虑源码层面,其实上手另一框架进行开发是很快的~Nuxt 关于 Nuxt,大家都知道它是 Vue 的一个上层框架,处理 SSR 问题的,目前是 Nuxt3 的版本首先,我没什么资格讨论这个框架的优劣我说一下我的开发体验,约定大于配置的原则贯穿了这个框架,但是也因此有一定的学习成本,而且在国内大部分的公司,好像没用上 Nuxt,至少在招聘要求上,Nuxt 好像不怎么提,但是在一些大厂我是知道在用 SSR 的,之前我在某厂的时候用的 Next 我并不清楚大家在公司是否业务上会用到这个框架,但是我之前在国企给公司做官网的时候,提出用 Nuxt 做,被无情否决了,原因有几方面吧。
这是我当时的开发任务表
成本问题,公司人员为了这官网需要学习一个新的框架
而且资源并不多,稳定性谁也无法保证真的需要这个 SSR 吗
Nuxt 全栈对于一个技术主管是 Java 出身的人,毫无优势
后来我从公司离职了,现在我也不知道用了什么技术栈做的官网,不排除 JSP 的可能性,这里大家会说 JSP 远古时代的东西了,但是技术主管也是从那个时代过来的,而且 JSP 在服务端渲染上还是鼻祖级别那么 Nuxt 好吗?我觉得对学 Vue 的人来说,真的是个不错的框架,当然除了 SSR,你做官网也可以有 SSG 的选择,但是 Nuxt 作为一个框架来说更为完善,我觉得目前更适合个人网站层面的开发可惜的是,我在 Github 浏览的时候,Nuxt 好的项目比较少,尤其是 Nuxt3 的项目,当然,这是在上半年的时候了,而且目前市面上 Nuxt 教程也不足,为学习带来一些不小的挑战同时 Next 的资源会更多一些
总的来说,我觉得 SSR 框架是很好的趋势,也很有学习的必要~
低代码
今年骂低代码的人格外多,什么什么取代程序员的文章都很火,其实并不是哦~
很多公司很多项目都在用,但是就我接触的项目中来说,JNPF 就很不错,可以放心食用~
JNPF 低代码平台主页:https://www.jnpfsoft.com
一个基于 Java Boot/.Net 6 构建的简单、跨平台快速开发框架,基于 SpringBoot / Springcloud+Vue 的前后端分离的项目,麻雀虽小,五脏俱全,开箱即用!
身为开发人员,经常需要花大量时间在数据绑定与界面设计等重复性高、技术含量低的工作,本应重点关注的用户具体业务逻辑需求搭建却没能投入太多时间。这也是越来越多的程序员加入低/无代码开发大军队伍的原因。
低代码平台强大优势是显而易见的,但对于不太熟悉低代码领域的人,对这种黑盒的技术仍然会担忧或者不信任。恐惧通常来自于不了解,因此期待你可以尝试一下,尽量多动手,开发者永远是动手>理解。
小程序、uniAPP
这二者我放在一起了,比较类似小程序开发似乎是前端必备的一个技能了,目前主要是两种开发方式微信原生开发、UniAPP 开发其实如果是单单开发微信小程序的话,我觉得原生的体验会好一些,我觉得这比较好理解。
简单来说,微信原生小程序就是干小程序的,是官方的,而 Uni 会有一些限制,而且在调试的时候还要配合小程序的开发工具但是如果你考虑多端的话,那么答案也比较简单了,肯定是 uni 我其实是 uni 的粉丝,uni 对于我这种个人开发者可以说是福音,它提供了一个完整的全栈生态,如果你说小程序也可以用云开发,没问题,但是在我当时使用的时候云开发的体验和功能方面的确不是 uni,而且 uni 全栈的生态做的的确很好而且 uni 对我这种想独立做产品的独立开发者来说,的确很方便有很多人说小程序、说 uni 哪哪有问题,都是 bug,真难用其实,这也是我想说的。。
这二者的开发体验相较于正常的 pc 的确没法比但是不可否认的是,小程序在国内的用户使用度太高了,我曾经做自己产品的时候,让很多人帮忙填了问卷,就是产品的形式,大致是下面几种
App
H5
PC
小程序
App 和小程序占了 90%,而二者之间小程序比 App 还高了一些所以我觉得小程序是没有办法的办法,如果有一天小程序真的没有用户了,那我真的放俩挂鞭庆祝一下同时我需要吐槽的是小程序的组件库的确很少,基本上就选 Vant 吧,Tdesign 小程序版的真的不好用,别的我也没用过,也不想试了。。要是 varlet 能做小程序的就好了(狗头)那么学还是不学呢?我的建议是如果需要用了再学即可,二者的学习成本不高,大部分可以直接做项目入手,文档也比较完善。
Threejs
今年比较热门的话题了,前端可视化,数字孪生,3D 大屏,貌似很多人不知道卷什么,看 3D 这玩意高级,就都卷 ThreeJs 去了(babylonjs 爆哭,为啥没有卷我)很多人觉得 3D 很难,没错,的确很难,但是难的是 openGL,并不是 three,难的是高级用法,例如着色器,而不是做个智慧厂房拿我来说,你让我做个那种炫酷的高大上的粒子效果,还有很多国外的炫酷小游戏,炫酷的特效,那对不起,我真不太行,但是你拿个现成模型,让我做个厂房,地下室,管道,这其实是不难的。。
这也是我当时做的东西而国内大部分的公司也就是要后者而已,所以没必要担心自己学不会,网上资料这么多,而且大家都有资源,没必要过于担心同时,现在可视化会和零代码或者是低代码配合在一起,比如帆软的产品再或者是专注于可视化产品解决方案的公司,以 thingjs 举例,我觉得是比较鲜明的例子。没事大家可以去关注一下现在市面上可视化的一些产品,从而进行思考
Node 后端
这是我最想说的一个话题我理解的 Node 后端的框架大致是下面这些(包括但不完全)express、koa、koa2、egg、nest 这是我学过并应用过的一些我说说我的看法:*前端有必要有一些后端的思维有必要学习一下这种 Node 后端的框架但是如果你没什么基础,没必要学习太复杂的*
在国内,express、koa、egg 其实应用已经不少,甚至我之前在公司的时候也会去用 express、koa 去写插件而且最关键的是,expres、koa 这种的框架学习成本不高,并且已经足够你有一定的后端思维了而 nest,我其实不是特别推荐初级前端去学习,至少在国内的话,我觉得是这样的,但是国外大可以去选择首先,nest 的上手难度对于前端来说不低,作为 Java 出身的我,看到 nest 真的很亲切,但是更觉得 nest 在国内的受众不太行虽然工作的年限不长。
但是其实我在好多公司待过,有大厂、有国企,但是在国内的公司,很难去选择 nest 去做公司后端架构(很少,但是不完全)90%以上会选择 Java、甚至是 Go 等等,而且会使用 express、koa 去做插件,但是基本上不会去选择 nest 可能会被很多 nest 的喷,因为现在 nest 天天被推荐,其实我并不否认,nest 真的是个很好的框架,他很优秀,但是我只是觉得它不适合国内你可能会说,nest 可以做完整的系统,分布式啥的都没问题,但是国内还是直接用 spring 全家桶你说一说 nest 对比 spring 的优势在哪呢,尤其是在国内是后端偏技术主导的情况下,当然如果你的公司技术选择了 nest,那真的很棒,是有助于技术提升的!
当然如果你真的想去学习更系统的 Node 后端,那么可以去学,或者说你公司真的用到了,也可以去学,你会收获很多东西我觉得资深的前端可能更适合,因为他们可能没什么可学的了。。但是对于初级来说,真的适合吗?
其它
有很多没细说的技术,因为其实我觉得区别不大,比如 React 和 Next,我觉得就是对比 Vue 和 Nuxt 还有一些了解并不深的东西,比如低代码,微前端很遗憾,我并没有接触过这二者,所以无法进行建议和评价(但是貌似口碑都不太好?)还有就是 webcomponent,其实这真的是个不错的东西,但是受众真的很小(这不是个新东西,这么多年了也没多火)我觉得是国内更注重产出多一些,而不是技术探索方面还有比较热门的 Rust,也很不错,国外和开源上面广受好评,并且很适合基建方面,但是对于咱们这小开发来说,倒也先不用在意还有关于前端单测方面,这个其实我用的很多,但是基本是在开源项目当中,因为很多开源项目你不走单测的话,PR 是不给过的,现在我主要是 vitest,比 jest 要好用不少,但是这玩意,大家在平时公司开发的话,能用到多少呢,公司有没有正规的 CR 都不一定关于 monorepo 也不是啥新东西了,也谈不上趋势不趋势的还有一个是组件库的问题,尤其是 Vue 的,最近 ElementPlus 不知道为什么天天被喷其实现在来看 ElementPlus 的确是有一些过度封装的意思,但是我觉得目前 ElementPlus 依旧还是 Vue3 组件库的典范.当然还有很多组件库很优秀,不一一列举了,如果你觉得 ElementPlus 不好的话,大可以自己去搞一个,开源出来,给 XDM 开开眼,而且别的组件库我也都用过,别说有多多好用了。。反正我最开始用的是 AntdVue 我的使用体验。。。(当然,也很优秀!)
我想说的是,人家开源出来给你简化开发过程的,你觉得不好可以提 issue,提 PR,而不是整天说这个不好,那个不好,没太大意义~
结尾和建议
这里更多是对初级一些的前端朋友,跟我差不多年份的高级、资深的佬就当看个乐就行如果你会 Vue 的话,建议学一下 React,工作几率会变高的面试八股越来越少了,就是八股也是偏难一些的八股了,基本就是挖项目了,或者是场景题。当然,大厂的话还是那样,会多考一些计网和操作系统可以去试着看一些源码,并不是 Vue 或者是 React 的,因为可能看起来并不容易,但是可以去看一些组件库的项目,比较容易懂一些,学一些思路和封装我觉得对能力是很有提升的工作难找
我发现初级的难找,大佬也难找,所以也没必要过于焦虑,只能继续学下去国外远程比较火,技术栈偏向 React 全栈(React、Next、nest)看了一些大佬的文章,看的那些招聘网站技术栈基本都是这样的。
加油吧,学无止境~
评论