做了2年前端,盘点前端技术栈!大佬轻喷~

2024-06-13 20:20

本文主要是介绍做了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)看了一些大佬的文章,看的那些招聘网站技术栈基本都是这样的。

加油吧,学无止境~

这篇关于做了2年前端,盘点前端技术栈!大佬轻喷~的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058328

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方

css中的 vertical-align与line-height作用详解

《css中的vertical-align与line-height作用详解》:本文主要介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,详细内容请阅读本文,希望能对你有所帮助... 目录vertical-ali

浅析CSS 中z - index属性的作用及在什么情况下会失效

《浅析CSS中z-index属性的作用及在什么情况下会失效》z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fi... 目录1. z-index 属性的作用2. z-index 失效的情况2.1 元素没有定位属性2.2 元素处

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Vue 调用摄像头扫描条码功能实现代码

《Vue调用摄像头扫描条码功能实现代码》本文介绍了如何使用Vue.js和jsQR库来实现调用摄像头并扫描条码的功能,通过安装依赖、获取摄像头视频流、解析条码等步骤,实现了从开始扫描到停止扫描的完整流... 目录实现步骤:代码实现1. 安装依赖2. vue 页面代码功能说明注意事项以下是一个基于 Vue.js

CSS @media print 使用详解

《CSS@mediaprint使用详解》:本文主要介绍了CSS中的打印媒体查询@mediaprint包括基本语法、常见使用场景和代码示例,如隐藏非必要元素、调整字体和颜色、处理链接的URL显示、分页控制、调整边距和背景等,还提供了测试方法和关键注意事项,并分享了进阶技巧,详细内容请阅读本文,希望能对你有所帮助...

Nginx实现前端灰度发布

《Nginx实现前端灰度发布》灰度发布是一种重要的策略,它允许我们在不影响所有用户的情况下,逐步推出新功能或更新,通过灰度发布,我们可以测试新版本的稳定性和性能,下面就来介绍一下前端灰度发布的使用,感... 目录前言一、基于权重的流量分配二、基于 Cookie 的分流三、基于请求头的分流四、基于请求参数的分