我的前端学习经历

article/2025/10/9 10:52:45

我最近在开发一个NFT相关的Saas,部分截图如下:

556f3e1c14ae3747f4ebda7d93fbda1f.jpegbda01ef050387cd093bc9d6580c7e2f1.jpeg8e548aa02cf7ba1ab63832f690b36442.jpeg

这是我一段时间前,朋友圈发的图,现在Saas在页面上有点变化,但懒得再截图了。客观而言,布局还可以,这一套的技术栈是:React + TailwindCss,没有用UI框架。

因为这个Saas的实践,加上之前一段时间对Vue3的学习,我感觉对前端有点基础的手感了,虽然难以达到专业前端人员的水平,但对于多数Web的开发,应该够用了,而很多后端同学大概率跟我一样,不是为了成为前端,而是为了“能用”,从而构建出自己的应用,所以本文就是在“能用”这个级别的前端学习经验分享。

选择Vue还是React

我去年,使用了Vue2作为【抖直播】应用的前端框架,今年年中,购买了Vue3源码分析的书籍以及极客时间上Vue的专栏,大体的过了一遍Vue,然后现在使用React开发Saas系统,所以,我有一定的资格从初学者的角度来讨论选择Vue还是React的问题。

直接说结论:我目前偏向于React,后面开发新的Saas时,应该也会用React。

学习前端框架的最佳姿势

我其实严重纠结过使用Vue还是React,我在前年的时候,就纠结,我当时问了我司的前端,发现人家用layui,我当时的状态还发了帖:

5c81141a65fb7a8a197ddbfe8d249e30.png

现在回头看,我一开始选择了React,但被它的官方文档毒害了,官方文档有一个从零到一的demo,你跟着做是可以做出来的,但你去github上随便找一个比较新的React项目,发现几乎不会用demo中的知识点,都在用React Hook。

如果单纯看官方文档中Hook的介绍,也会因为缺乏实际项目中各种实操的例子,而陷入知道却不知道怎么灵活使用的陷阱中。

这点我展开讲讲,我的很多学员,都会反馈,学了课程中这个知识,但是不知道怎么灵活运用,这是正常现象,你看,我也遇到了,我也是学了,不会用,我现在总说,是例子没有见够,脑海中的连接因为看的实际例子太少,所以难以灵活运用,就像学习加法一样,只看1+1=2,2+2=4这两个例子,是悟不出x+x=2x这个规律的,还需要更多例子才行。

这里画个重点,学习前端框架,最优方法是上Youtube找当下时间点最新的项目教程,看看人家用这个框架创建项目的过程中,用了这个框架的什么技术点,然后再去查文档。这其实就是积累例子的过程,只有看别人怎么使用的例子足够了、模仿的次数足够了,自然就知道怎么写了。

嗯,编程是个手艺,手艺看的是熟练度,而熟练度的提升则来自各种案例的积累与实践。

我是怎么学Vue的

我当时骚操作后,便放弃了React走入Vue的怀抱,使用了Vue2开发过了几个项目,感觉也比较熟悉了,但2022年,大环境都在走Vue3,而Vue3在用法上与Vue2差异较大,所以又要花时间学习一下。

这种大变化对我而言仿佛是个新框架一样,我感觉不深入掌握这些前端框架的原理不行啊,因为每个语法糖的使用都很黑盒,跟以前用Jquery的感觉完全不同,Jquery就很直观,但遗憾的是写复杂页面的时,Jquery非常麻烦。

为了了解原理,我买了《Vue3设计与实现》一书来看,主要是讨论Vue3框架源码的,挑拣着感兴趣的部分阅读,对进一步理解现代前端框架还是有很大帮助的,基于此书,我理解了蛮多问题,虽然这些原理性的理解,对具体的项目开发暂时没啥实际的帮助。

嗯,又是那种,Vue3原来如此,然后真正开发某个网站的时候,很多控件不知道怎么写的状态,一怒之下,我就想了解那些UI框架的控件原理,比如Element Plus中的各种控件是怎么实现的?然后我发现极客时间上有相关的课,讲解Element Plus这类UI框架中控件实现原理的,我就买来学习了。

只学习不应用是没有痛苦的,这容易让人迷恋学习,而逃避行动。当时的我就在这个状态,这个不懂,就去系统的学习它,那个不懂也一样,这个过程,对我而言是有点享受的,但回头看,要落地的项目,其实一直卡在那里,要解决的某个具体问题,可能不需要要么多背景知识。

我当时,不仅学习,还喜欢将学习的东西,写成文章,这个行为要辩证的看,没有任务在身,纯粹的求知行为,我认为学后写文章加固理解是好的,但有任务在身,比如要开发某个Saas,此时你却总写文章,现在回头去看,其实是种变向的逃避行为。6c78338d6376f9bdf68f1eb55cac8508.jpeg

学习React

对Vue3一顿学习后,为啥后面用React来做前端开发了呢?

其实在学习Vue3后,我就开发颜值加加去了,而颜值加加的前端由其他同学来弄,我并没有操心(一个项目,如果多人合作的话,真的舒服很多),后来,我又需要开发一个海外项目。

此时,我就纠结了,因为颜值加加的开发,花了3个月的业余时间,我Vue3的具体用法,有点忘记了...而小排哥建议我搞React,因为海外很多Saas都是React开发的。

我自己调研了一下,确实如此,Youtube上,海外同行分享较多的视频也是React和Next.js(一个基于React的框架)。

换你,这时难受不?

如果我选择Vue3来开发问题应该也不大,但这就跟小排哥的技术栈不一致了,后面就不好沟通交流了。此外,React在海外Saas上,确实是主流,而且我打算开发Web3的Saas,在Web3领域,React就更多人用了,海外多数web dapp的文章,都是用React/Next.js来开发的。

因此,我决定学React,我复盘了过去学Vue的经验,感觉不能再这样搞了(正如前文说的),这次,我直接基于项目去学习如何使用React或Next.js。

我在Youtube上找到了这个视频:https://youtu.be/XxXyfkrP298,直接实战带你做4个React项目,这几个项目中,当然有一些我不了解的东西,但我这次选择了单点突破,不懂什么就单纯去看文档。

其实,也不能说学习Vue的过程没有帮助,对Vue原理的理解让我对React用法上的掌握非常快,我就快进的看了那个视频中的第一个项目,我就感觉我掌握了React中最关键的20%了。

目前我用React开发下来,用得最多的就是下面这些:

  • 几个Hook函数:

    • useStatus:用于记录状态,我主要用于与页面展示的逻辑配合,实现各种页面的动态效果,比如弹窗、下拉框之类的

    • useRef:获得元素的内容,我主要用于获得input中的值,与form配合着使用

    • useContext:创建上下文,我主要用于跨组件的数据共享,即不需要组件基于参数一层层的传递数据了

  • 样式:

    • Tailwind:记下几个最常用的后,再加上VsCode中TailWind插件可以给出动态提示,用Tailwind写CSS是真滴爽,而且风格变化多端,脱离了UI框架的束缚,可能是太多人用UI框架了,总感觉设计上显得比较呆板,与海外Saas那些优美的落地页有较大差距。

    • Flowbite:一个基于Tailwind的UI框架,我主要是抄它的控件,我没有直接用他封装好的flowbite-react,主要是样式与当前Saas不一致,封装后的没有暴露样式定制的参数,我主要用来参考思路,比如某个控件,看看他怎么实现的(得益于Vue那段时间的学习,这里看简单的控件,已没啥难度)

    • flex、grid布局:掌握flex,可以解决80%的页面布局问题,推荐一个演示网站https://xluos.github.io/demo/flexbox/,你可以选择不同的flex属性,看到具体的布局效果

f7a6a272ee99f149d7e01320708546b1.png
  • 前后端交互:

    • 我主要用Postman来完成前后端交互,这个一个非常好的技巧,首先我选用的后端框架是可以直接生成API文档的,即我开发好了API,就可以基于文档获得curl的请求形式,我将其复制下来,然后导入postman,便可以利用postman生成相应的JavaScript代码,可以直接用于前端项目,非常方便,如下图:

6976dbe0c2c44141aee426b19edd7233.png

没了,就这些...我的Saas主要就用了这些。

此外,还有个搜索技巧,当我遇到某个效果不会实现时,我会找Flowbite这类UI框架,一些复杂的控件,Flowbite写的比较好(我看不懂那种),我就Google这套关键词:【React tailwind xxx】,这里的xxx便是Flowbite框架对这个效果的描述,是一个专业词,你一搜,通常会有很多文章教你实现,此时,ctrl+c/v就好了。

React与Next.js

Next.js的内容也很多,因为Next.js基于React,所以,React生态里的东西,多数Next.js都可以直接用。

此外Next.js集成了路由系统这些东西,用起来比React方便。

如果在Next.js与React选择,我可能选择Next.js,因为会方便不少。那为啥我这个Saas用了React而没有用Next.js?

因为调研时,看到一些讨论说到Next.js社区还不够大,核心维护速度不够快,如果Next.js出现问题,比较难搞,所以我选择了React。

此外,我用了尤大(尤雨溪)的Vite来构建项目,主要是不想弄Webpack了(这个学起来也费力的一批),而Vite目前还不支持Next.js,所以我就用React了。

现在实践下来,遇到的各种前端问题,我也都在React生态中找到了解决方案,后面没有特殊需求,应该就一直用现在整理好的这套了。

结尾

以“能用”为标准,选择框架,避免使用最新的,因为我们不够专业,出问题,查不到解决方案,就很费时间。

尽量选择语法糖变化不大的,对于力求“够用”的我们来说,语法糖的大范围变化,通常表示我们又要学一次,就挺麻烦的。

如果你还纠结,要不直接选React吧。

我是二两,下篇文章见。


http://chatgpt.dhexx.cn/article/9rpRlgvd.shtml

相关文章

前端学习路线

这里写目录标题 1、产品经理。2、UI设计师。3、项目经理。4、最终用户。 一、基础二、JS1.JS变量2.JS运算符3.JS数组4.JS流程语句5.JS字符串函数6.JS函数基础7.JS基础DOM操作8.JS正则表达式9.JS数据类型 三、后端语言四、学习方法建议 前端开发工程师 不仅要掌握基本的Web前端开…

WEB前端开发学习5大网站,你用过几个?

“工欲善其事,必先利其器”,学习WEB前端开发也是一样。 一、前端视频教程-51自学网 我要自学网是由佛山市丰智胜教育咨询服务有限公司倾力打造的在线实用技能学习平台。该平台成立于2007年6月7日,是一家专业从事软件视频教程开发的教育服务机构。开发团队由奋战在教学第一线…

前端开发工程师学习路线图(收藏版)

在网上看到很多类似“前端现在是不是饱和了,是不是不好找工作了呀?”这类问题,就这类问题也和小伙伴进行了探讨,大家一致认为——不是前端饱和了,而是现在前端的工作在不断独立,门槛越来越高,再…

什么是前端开发及学习路线

一、什么是前端开发 前端开发是创建Web页面或app等前端界面呈现给用户的过程,在这个过程中需要学习并使用,HTML、CSS、JavaScript以及衍生出的各种技术、框架;其中最基础也最核心的就是:HTML、CSS、JavaScript,俗称“…

前端开发学习及工具网站(持续更新)

前端开发学习及工具网站 该文章主要是记录前端开发中好的学习网站或者工具网站 大部分实用网站来源抖音鱼皮大佬分享,这里分享给大家 1、w3cschool(编程狮) 这个网站适合0基础学前端的同学,内容简单易懂,在闯关中进行学习,能够刺…

前端开发免费学习资源分享

知乎上很多同学在问什么前端培训,怎么入行啥的 我这里给大家先总结一下,老师会给大家分享一些基础的学习资料如果你入不了门,就不要去搞啥前端了, 没有用的,一点基础没有去培训你也听不懂 黑马程序员pink老师前端入…

送给大家一套完整的web前端开发学习路线

本文来源:千锋web前端开发 近几年IT业可谓是发展火热,而且新生了很多的职业。在这众多的新生职业中备受瞩目的当属web前端工程师了,web前端在IT行业真正受到重视的时间不超过五年,但是web前端的发展前景却是非常的可观&#xff0…

Web前端开发学习(一)

目录 一、HTML的基础Tag用法 以下内容使用VSCode编写,LiveServe插件和Chrome浏览器生成网页。 Web前端学习,只要学会HTML和CSS(层叠样式表)就可以搭建出自己的页面啦!其中HTML的功能是为页面添加内容,CSS…

Web前端学习

第一步:拨云见日 1.基础部分:HTML 、CSS 2. 切图流程:传统切图、智能切图、公司流行切图 3.实战阶段:PC企业站布局 PC游戏站布局 第二步:溯本求源 1.扩展: HTML 、CSS 2 .新语法: HTML5 、 C…

Web前端入门学习

目录 导言1.拨云见日2.溯本求源3.风生水起4.巧夺天工 Web的入门知识1.什么是HTML、CSS?2.VS code 编辑器?3.学习编辑器的基本使用4.chrome浏览器?5.了解网站开发?6.HTML基础知识与属性7.HTML的初始代码8.HTML注释?9.HT…

关于前端的学习

最近在网上想模拟一个ai的围棋,然后在gitee上找了一个算法,想要启动一下。 https://gitee.com/changjiuxiong/myGoChess?_fromgitee_search 使用说明是这样的: 使用说明 npm install npm run dev 打开index.html 可自定义棋盘大小: new Game…

前端开发学习常用网站网址及介绍(都是免费的)

在开发的时候,想记住所有的单词基本是不可能的,所以就需要进入文档,只要理清需求能做出来,就很不差了!! 扫码加博主微信 1.百度,俗称度娘,有不懂的就问百度,有问必答&am…

前端开发需要学习什么?掌握哪些技术?

前端开发需要学习什么?随着计算机行业的不断发展,无论是在企业还是个人中,web前端技术都得到广泛的使用。web前端开发师是一个非常新兴的职业,在计算机行业中,web前端得到很大的重视。那么在学习web前端开发需要学习什…

自学Web前端开发学习讲解 – 入门篇

很多人都对web前端感兴趣,这一期主要聊关于如何入门学习Web前端开发的过程分享,此篇适合想入门初学者,大佬就不用看了。主要内容是以本人这一路自学web前端的一些经验和建议,学习哪些知识,以及如何正确的去学&#xff…

前端开发需要学习什么?

前端开发需要学习什么?web前端相对于编程语言Java、C等来说相对要更容易入门,更适合新手学习。所以有越来越多的人想要学习web前端开发,那么我们学习web前端开发需要学习什么呢? web前端都要学习哪些内容呢? 1、HTML5CSS3&#…

适合普通大学生的前端开发学习路线

大家好,我是帅地。 假如你没有明确的目标,或许可以按照我说的学习路线来学习一波,我写的每一份学习路线,不会很全面,因为我认为,东西列的太多,反而不利于新手的学习,所以我列举的&a…

从sql2016导出数据库到sql2014

因为数据库版本不一样,无法通过backup数据库在restore的方法 1. sql2016导出数据 右击-> tasks-> generate scripts 高级里面选择是只导出数据库结构还是结构加数据 2. sql2014导入脚本,创建数据库 a. 注意脚本里的FILENAME路径是否存在 b. 因为Q…

Sql Server2014显示代码行数

【工具】——>【选项】——>【文本编辑器】——>【所有语言】

Sqlserver高版本数据库还原到低版本方法,SQL2014数据库还原到SQL2012中

Sqlserver高版本数据库还原到低版本数据库的操作步骤如下 一、从高版本数据库导出数据 ①选择需要导出到低版本的数据库,点击鼠标右键-->选择“任务”-->选择“生成脚本” ②在弹出界面选择下一步 ③选择“选择特定数据库对象”和“勾选所有表” ④选择数据…

sqlserver2014 -- 数据库还原

sqlserver2014 -- 数据库还原 1. 新建数据库,右键-任务-还原-文件和文件组,在源设备中找到备份文件 use master; --用此语句得到备份文件的逻辑文件名 RESTORE FILELISTONLY FROM DISK ND:\dbbak\test.bak; --Logica…