前端做了快两年了,盘点一下我的前端技术栈

前言

前言很简单,年终了,自己写了快两年前端(虽然刚毕业),但是大致总结一下哈哈哈哈

我觉得这个话题蛮有意思的,可以看看大家的技术广度,可以进行分享和学习以及讨论

所以这里说一下我对我的前端技术,做一下盘点和总结

因为我的开发年限有限,所以我觉得我的盘点更适合0-3年的前端人群,所以技术范畴没有高年限大佬那么广,请见谅~

个人技术栈

我对我的较为熟悉的、主要的前端技术栈做个介绍,然后分段进行一下总结

Vue、TS、小程序、UniAPP、ThreeJS、Node后端、鸿蒙(目前我先放在前端这里,如果你说归属于移动端,那也没问题)

Vue

在国内VueReact的争论一直存在,但是我觉得并无优劣之分,都是很优秀很好的框架,与原生相比,二者都方便了我的开发

并且二者的生态也很好,有很多周边的库,以及衍生的上层框架

我觉得讨论好坏是意义不大的,如果你觉得不好的话,可以不去使用自己不心仪的框架,并且大可以去自己做一个更好的开源框架,或者是哪里让你觉得不舒服了,大可以提个PR

我觉得讨论这个意义真的不大,但是我们可以去讨论一下框架的实际作用,在我们工作或者开发层面有没有帮助

国内,Vue的使用范围是不用多说的,不管它是不是培训机构或者是什么别的原因普及的,但是在国内,Vue足够熟练的话,大概率是能有个工作的(当然,并不完全,毕竟环境如此严峻)

国外的话,Vue也有不少,但是远不及国内这么普遍,这是一个不争的事实,所以如果你真的想去国外,或者是找远程的话,学React我觉得是比较有必要的,当然,这只是个建议

而且就是在国内,要求ReactVue都会的的好像也慢慢变多了

所以我真的觉得,这已经不是需不需要学的了,好像二者都要会似乎是必须技能了?但是也不用太担心,不考虑源码层面,其实上手另一框架进行开发是很快的~

Nuxt

关于Nuxt,大家都知道它是Vue的一个上层框架,处理SSR问题的,目前是Nuxt3的版本

首先,我没什么资格讨论这个框架的优劣

我说一下我的开发体验,约定大于配置的原则贯穿了这个框架,但是也因此有一定的学习成本,而且在国内大部分的公司,好像没用上Nuxt,至少在招聘要求上,Nuxt好像不怎么提,但是在一些大厂我是知道在用SSR的,之前我在某厂的时候用的Next

我并不清楚大家在公司是否业务上会用到这个框架,但是我之前在国企给公司做官网的时候,提出用Nuxt做,被无情否决了,原因有几方面吧

这是我当时的开发任务表

image.png

  • 成本问题,公司人员为了这官网需要学习一个新的框架吗,而且资源并不多,稳定性谁也无法保证
  • 真的需要这个SSR
  • Nuxt全栈对于一个技术主管是Java出身的人,毫无优势

后来我从公司离职了,现在我也不知道用了什么技术栈做的官网,不排除JSP的可能性,这里大家会说JSP远古时代的东西了,但是技术主管也是从那个时代过来的,而且JSP服务端渲染上还是鼻祖级别

那么Nuxt好吗?我觉得对学Vue的人来说,真的是个不错的框架,当然除了SSR,你做官网也可以有SSG的选择,但是Nuxt作为一个框架来说更为完善,我觉得目前更适合个人网站层面的开发

可惜的是,我在Github浏览的时候,Nuxt好的项目比较少,尤其是Nuxt3的项目,当然,这是在上半年的时候了,而且目前市面上Nuxt教程也不足,为学习带来一些不小的挑战

同时Next的资源会更多一些

总的来说,我觉得SSR框架是很好的趋势,也很有学习的必要~

TS

今年骂TS的人格外多,什么什么取代TS的文章都很火,遗憾的是,我还并没有去使用JSDoc,我无法进行比较层面上的讨论,所以我只能说一些我关于TS的看法

我个人觉得,你可以把JSTS看成是两门语言

封装层面,我觉得TS对我的帮助是比较大的,因为在平时开发中,我封装组件以及hook比较频繁,我觉得TS带给我的体验层面是不错的

页面开发层面,其实TS大部分是做一些提示,甚至在写.vue组件的时候,看到TS的地方并不是很多,看到的也是引入封装过一些限制

有一个东西比较有意思,就是Typescript类型体操方面,这可能算是一个拔高的地方?在面试中会遇到?我并不是很清楚,但是我看的其实比较头疼。。真的不想看,而且我面试没被问过类型体操。。

说实话,并没有仔细地去研究这方面,因为就我现在的开发过程中,复杂的类型体操过于加大了我的开发难度,而且实在用不上,当然,可能是我开发的项目过于简单,可能大佬们在大项目的开发过程中已经熟练于心了

那么TS要学吗?我的建议是需要的,因为公司项目很多都在用,但是就我接触的项目中来说,TS的使用并不复杂,合理地运用TS会让项目更有健壮性,可以放心食用~

当然,如果你觉得js足够,那也没有任何问题,js就是这么一个奇妙的语言~

小程序、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后端,那么可以去学,或者说你公司真的用到了,也可以去学,你会收获很多东西

我觉得资深的前端可能更适合,因为他们可能没什么可学的了。。但是对于初级来说,真的适合吗

同时目前有些大佬出的课其实是很不错,质量很高,就不说具体名字了,毕竟这里不是打广告

鸿蒙

这里我把鸿蒙放在前端的范畴了,是因为我觉得我作为一个前端爱好者,入手鸿蒙很丝滑,并且觉得没什么门槛

当然,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
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/804327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

# ABAP SQL 字符串处理

经常我都要在ABAP的sql语句中对字符串进行处理,现在就总结一下可以用到的方法 文章目录 字符串处理拼接字段运行结果 填充字符串运行结果 截取字符串 SUBSTRING运行结果 CAST转换类型程序运行结果 字符串处理 在SQL语句中,有时候会有需要拼接字段或者是…

车载平板电脑丨车载终端丨浅聊叉车仓储出入库管理解决方案

众所周知,叉车是制造业自动化升级的核心设备。 十三五期间,提出中国制造 2025 战略,其核心内容就是要用机器代替人工,提升生产效率,降低对劳动力的依赖性。而叉车作为起重、搬运等普通劳动力替代的核心设备&#xff0…

C++解决大学课设所有管理系统(增删查改)

C一篇解决大学课设所有**管理系统(增删查改) 文章目录 C一篇解决大学课设所有**管理系统(增删查改)1.引言1.1 使用结果展示 2. 基本原理3. 文件层次结构4.具体实现(通讯录管理系统为例)4.1 通讯录实体类(addressbook.h)4.2 通讯录实现类(addressbook.cpp)4.3 通讯录管理类&…

设备树的概念及引入、设备树如何变成device

在平台总线驱动模型中资源和驱动已经从逻辑上和代码组织上进行了分离,但每次调整资源还是会涉及到内核,所以现在更加流行的是设备树方式。设备树的好处是通过独立于内核存在,这样如果设备上外设功能启用与否以及位置变动的话很多时候不用修改…

【股权激励】“三级股权分配法”——某互联网电商企业股权激励管理

【客户背景及面临难题】K公司于2014年上线,是由多位创始人联合创办的一家以众包微物流配送为核心模式,主营同城水果、蔬菜、生鲜、日常生活用品、零食等商品在线销售,专注于社区生鲜最后一公里配送,主打一小时之内闪电送达的互联网…

使用C语言函数对数组进行操作

前言 在我们了解数组和函数之后,我们对数组和函数进行结合,之后完成一些操作吧 题目描述 杰克想将函数与数组结合进行一些操作,以下是他想要达到的效果,请你帮帮他吧! 创建一个整型数组,完成对数组的操作 1…

签约速递 | 看零信任如何打造安全互联的数字底座?

近期,易安联再传佳音,签约南通市公安局、隆基绿能科技股份有限公司、南京体育学院等,持续为客户提供功能更完善、体验更好的零信任安全解决方案,赋能千行百业数字化转型升级,共创网络安全繁荣生态。 南通市公安局 数字…

K-means聚类算法的原理、应用与实例

文章目录 K-means 聚类算法:原理K-means 聚类算法的应用K-means 聚类算法的优化与改进 一个使用 K-means 聚类算法进行客户细分的简单实例 K-means 聚类算法:原理 K-means 算法是一种经典的无监督学习方法,用于对未标记的数据集进行分群&…

智慧公厕是智慧城市建设中不可或缺的一部分

智慧城市的数字化转型正在取得显著成效,各项基础设施的建设也在迅速发展,其中智慧公厕成为了智慧城市体系中不可或缺的一部分。作为社会生活中必要的设施,公共厕所的信息化、数字化、智慧化升级转型能够实现全区域公共厕所管理的横向打通和纵…

macOS 启动 Nacos(2),50家大厂面试万字精华总结

进来之后一定要选择支持 arm64 的版本不然会出现因为版本不支持导致无法启动 WARNING: The requested images platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested点击 copy docker pull nacos/naco…

Blender2.83 下载地址及安装教程

Blender是一款开源的3D计算机图形软件,广泛应用于动画制作、游戏开发、建模、渲染等领域。它提供了一套强大的工具和功能,让用户能够进行三维建模、动画制作和视觉效果的创作。 Blender支持多种文件格式的导入和导出,使用户能够与其他软件进…

Redis从入门到精通(七)Redis实战(四)库存超卖、一人一单与Redis分布式锁

↑↑↑请在文章开头处下载测试项目源代码↑↑↑ 文章目录 前言4.3 优惠券秒杀4.3.4 库存超卖问题及其解决4.3.4.1 问题分析4.3.4.2 问题解决 4.3.5 一人一单需求4.3.5.1 需求分析4.3.5.2 代码实现4.3.5.3 并发问题4.3.5.4 悲观锁解决并发问题4.3.5.5 集群环境下的并发问题 4.4 …

最新版手机软件App下载排行网站源码/App应用商店源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 一款简洁蓝色的手机软件应用app下载排行,app下载平台,最新手机app发布网站响应式织梦模板。 主要有:主页、app列表页、app介绍详情页、新闻资讯列…

Linux中磁盘的分区,格式化,挂载和文件系统的修复

一.分区工具 1.分区工具介绍 fdisk 2t及以下分区 推荐 (分完区不保存不生效,有反悔的可能) gdisk 全支持 推荐 parted 全支持 不推荐 ( 即时生效,分完立即生效) 2.fdisk 分区,查看磁盘 格式:fdisk -l [磁盘设备] fdisk -l 查看…

网络协议——RSTP(快速生成树)与MSTP(多实例生成树)

一. RSTP 1. STP的不足 1、依靠计时器超时的方式进行收敛导致它的收敛时间需要30到50秒 2、端口状态和端口角色没有细致区分,指导数据转发依靠的不是端口状态而是端口所扮演角色。 3、如果拓扑频繁变化导致用户通信质量差,甚至通信中断&#xf…

排序:冒泡排序,直接插入排序,简单选择排序,希尔排序,快速排序,堆排序,二路归并排序

目录 一.冒泡排序 代码如下 冒泡排序时间复杂度分析 二.直接插入排序 直接插入排序时间复杂度分析 直接插入排序优化:折半插入排序 三.简单选择排序 简单选择排序优化:双向选择排序 选择排序时间复杂度 双向选择排序时间复杂度 四.希尔排序 希…

达梦的归档日志参数ARCH_RESERVE_TIME测试

达梦的参数ARCH_RESERVE_TIME测试 前面有提到和oracle相比,达梦的归档日志相关参数有个比较特别,可以通过设置它去规定归档日志的保留时间。 ARCH_RESERVE_TIME:归档日志保留时间,单位分钟,取值范围 0~2147483647。只…

黄金白银价格上涨是投资机会吗?

黄金和白银,作为历史悠久的贵重金属,一直以来都被投资者视为避险资产。近年来,随着全球经济环境的变动,我们观察到黄金与白银的价格不断攀升,这是否预示着投资机会的到来?今天,就让我们来深度探…

R+VIC模型融合实践技术应用及未来气候变化模型预测

在气候变化问题日益严重的今天,水文模型在防洪规划,未来预测等方面发挥着不可替代的重要作用。目前,无论是工程实践或是科学研究中都存在很多著名的水文模型如SWAT/HSPF/HEC-HMS等。虽然,这些软件有各自的优点;但是&am…

【软考】哈希表

目录 一、概念1.1 定义 二、哈希函数的构造方法2.1 说明2.2 特性 三、处理冲突的方法3.1 说明3.2 开放定址法3.2.1 说明3.2.2 线性探测 3.3 链地址法3.4 再哈希法3.5 建立公共溢出区 四、哈希表的查找4.1 查找过程4.2 查找特点4.3 装填因子 一、概念 1.1 定义 1.一般存储结构由…