赞
踩
前言很简单,年终了,自己写了快两年前端(虽然刚毕业),但是大致总结一下哈哈哈哈
我觉得这个话题蛮有意思的,可以看看大家的技术广度,可以进行分享和学习以及讨论
所以这里说一下我对我的前端技术,做一下盘点和总结
因为我的开发年限有限,所以我觉得我的盘点更适合0-3
年的前端人群,所以技术范畴没有高年限大佬那么广,请见谅~
我对我的较为熟悉的、主要的前端技术栈
做个介绍,然后分段进行一下总结
Vue、TS、小程序、UniAPP、ThreeJS、Node后端、鸿蒙(目前我先放在前端这里,如果你说归属于移动端,那也没问题)
在国内Vue
和React
的争论一直存在,但是我觉得并无优劣之分,都是很优秀很好的框架,与原生相比,二者都方便了我的开发
并且二者的生态也很好,有很多周边的库,以及衍生的上层框架
我觉得讨论好坏是意义不大的,如果你觉得不好的话,可以不去使用自己不心仪的框架,并且大可以去自己做一个更好的开源框架,或者是哪里让你觉得不舒服了,大可以提个PR
我觉得讨论这个意义真的不大,但是我们可以去讨论一下框架的实际作用,在我们工作或者开发层面有没有帮助
在国内
,Vue的使用范围是不用多说的,不管它是不是培训机构或者是什么别的原因普及的,但是在国内,Vue足够熟练的话,大概率是能有个工作的(当然,并不完全,毕竟环境如此严峻)
在国外
的话,Vue也有不少,但是远不及国内这么普遍,这是一个不争的事实,所以如果你真的想去国外,或者是找远程
的话,学React
我觉得是比较有必要的,当然,这只是个建议
而且就是在国内,要求React
和Vue
都会的的好像也慢慢变多了
所以我真的觉得,这已经不是需不需要学的了,好像二者都要会似乎是必须技能了?但是也不用太担心,不考虑源码层面,其实上手另一框架进行开发是很快的~
关于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框架是很好的趋势,也很有学习的必要~
今年骂TS
的人格外多,什么什么取代TS
的文章都很火,遗憾的是,我还并没有去使用JSDoc
,我无法进行比较层面上的讨论,所以我只能说一些我关于TS
的看法
我个人觉得,你可以把JS
和TS
看成是两门语言
在封装
层面,我觉得TS对我的帮助是比较大的,因为在平时开发中,我封装组件以及hook比较频繁,我觉得TS带给我的体验层面是不错的
在页面开发
层面,其实TS大部分是做一些提示,甚至在写.vue组件的时候,看到TS的地方并不是很多,看到的也是引入封装过一些限制
有一个东西比较有意思,就是Typescript类型体操
方面,这可能算是一个拔高的地方?在面试中会遇到?我并不是很清楚,但是我看的其实比较头疼。。真的不想看,而且我面试没被问过类型体操。。
说实话,并没有仔细地去研究这方面,因为就我现在的开发过程中,复杂的类型体操
过于加大了我的开发难度,而且实在用不上,当然,可能是我开发的项目过于简单,可能大佬们在大项目的开发过程中已经熟练于心了
那么TS要学吗?我的建议是需要的,因为公司项目很多都在用,但是就我接触的项目中来说,TS的使用并不复杂,合理地运用TS会让项目更有健壮性,可以放心食用~
当然,如果你觉得js足够,那也没有任何问题,js就是这么一个奇妙的语言~
这二者我放在一起了,比较类似
小程序开发似乎是前端必备的一个技能了,目前主要是两种开发方式
微信原生开发、UniAPP开发
其实如果是单单开发微信小程序的话,我觉得原生的体验会好一些,我觉得这比较好理解,简单来说,微信原生小程序就是干小程序的,是官方的,而Uni会有一些限制,而且在调试的时候还要配合小程序的开发工具
但是如果你考虑多端的话,那么答案也比较简单了,肯定是uni
我其实是uni的粉丝,uni对于我这种个人开发者可以说是福音,它提供了一个完整的全栈
生态,如果你说小程序也可以用云开发,没问题,但是在我当时使用的时候云开发的体验和功能方面的确不是uni
,而且uni全栈的生态做的的确很好
而且uni对我这种想独立做产品的独立开发者来说,的确很方便
有很多人说小程序、说uni哪哪有问题,都是bug,真难用
其实,这也是我想说的。。这二者的开发体验相较于正常的pc的确没法比
但是不可否认的是,小程序在国内的用户使用度太高了,我曾经做自己产品的时候,让很多人帮忙填了问卷,就是产品的形式,大致是下面几种
App
和小程序
占了90%
,而二者之间小程序比App还高了一些
所以我觉得小程序是没有办法的办法,如果有一天小程序真的没有用户了,那我真的放俩挂鞭庆祝一下
同时我需要吐槽的是小程序的组件库的确很少,基本上就选Vant
吧,Tdesign
小程序版的真的不好用,别的我也没用过,也不想试了。。要是varlet
能做小程序的就好了(狗头)
那么学还是不学呢?我的建议是如果需要用了再学即可
,二者的学习成本不高,大部分可以直接做项目入手,文档也比较完善
今年比较热门的话题了,前端可视化,数字孪生,3D大屏
,貌似很多人不知道卷什么,看3D这玩意高级,就都卷ThreeJs
去了(babylonjs
爆哭,为啥没有卷我)
很多人觉得3D很难,没错,的确很难,但是难的是openGL
,并不是three
,难的是高级用法,例如着色器
,而不是做个智慧厂房
拿我来说,你让我做个那种炫酷的高大上的粒子效果,还有很多国外的炫酷小游戏,炫酷的特效,那对不起,我真不太行,但是你拿个现成模型
,让我做个厂房,地下室,管道,这其实是不难的。。这也是我当时做的东西
而国内大部分的公司也就是要后者而已,所以没必要担心自己学不会,网上资料这么多,而且大家都有资源,没必要过于担心
同时,现在可视化会和零代码
或者是低代码
配合在一起,比如帆软
的产品
再或者是专注于可视化产品解决方案的公司,以thingjs
举例
我觉得是比较鲜明的例子,可以没事看看
没有打广告,就是大家可以去关注一下现在市面上可视化的一些产品,从而进行思考
这是我最想说的一个话题
我理解的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后端,那么可以去学,或者说你公司真的用到了,也可以去学,你会收获很多东西
我觉得资深的前端可能更适合,因为他们可能没什么可学的了。。但是对于初级来说,真的适合吗
同时目前有些大佬出的课其实是很不错,质量很高,就不说具体名字了,毕竟这里不是打广告
这里我把鸿蒙放在前端的范畴了,是因为我觉得我作为一个前端爱好者,入手鸿蒙很丝滑,并且觉得没什么门槛
当然,flutter
的小伙伴也这么觉得,所以你们说这算是移动端我也没什么意见~
最近我出了一套鸿蒙的教学,开了一个专栏,起因是最近鸿蒙在掘金很火,但是教学偏少,于是就出了一些文章带着大家入门一下
就我个人觉得吧,目前鸿蒙其实是有不少问题的,文档有问题,生态不完善,真机卡顿等问题,开发体验真的蛮差的
所以我推荐可以当做爱好进行学习,但是说要是当饭碗来学习,至少得看明年Next
版本怎么样才能继续说下去
因为我不是培训机构,是一个比较客观的角度,所以实话实说我觉得作为一个前端
来说,学上面的东西远比学习鸿蒙
性价比来的高
虽然我会继续做鸿蒙的专栏,但是并不代表我就很推荐去学,因为就是鸿蒙哪天真的市场真的起来了,你现学也来得及~
而且那时候生态也比较完善了,对我来说,我只是觉得很感兴趣,而且比较享受这种探索的感觉,才去做的
有很多没细说的技术,因为其实我觉得区别不大,比如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),看了一些佬的文章,看的那些招聘网站技术栈基本都是这样的
别想着学Java啥的。。没必要
加油吧,学无止境~
作者:Shaka
链接:https://juejin.cn/post/7313042225863426102
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。