文章首发于集体博客
前言
这一篇文章我始终在思考该不该写,因为每一个人的学习形式都不一样,这篇文章提到的内容是我学习前端开发的最佳办法,可能并不适用于其他人,所以就随心写一写本人的前端学习之旅吧。
对于我:纯熟的 Vue、React 的 API 使用者以及会写一点后端的前端页面仔。
心愿这篇文章对前端感兴趣的同学有用,它并不是一篇前端进阶的文章,更适宜小白独立学习前端技术的指南。
TL;RD
如果不想读这么长的文章,能够间接读这一个大节。
从零开始学习 HTML/CSS 和 JavaScript。
对于 JS 能够看书《JS 权威指南》、《JS 高级程序设计》、《JS 忍者秘籍》三本书外面选一本,而后边看边实际即可。
而后就是学习 Css,能够先简略的菜鸟教程 Css,相熟了一些语法之后,举荐去看张鑫旭大佬的《Css 世界》这本书,这本书须要常常翻。
如果学习过程感觉比拟干燥,也能够同时看看试试这个仓库 50 天每天一个小我的项目,能够通过 Js + Css 就实现一个小东西,挺不错的,不论学什么货色都须要有踊跃反馈哦。
下面实现之后能够看看 Vue/React,Vue/React 能够看看官网文档,写的挺不错的,如果看文档比拟艰难的话,能够去中国 Bilibili 大学搜 Vue/React 视频,一大把,通过用 Vue/React 写一个简略的小东西,在学习过程中有什么不懂肯定要去看 Vue/React 文档,不懂的时候是提高最快的时候。
在这个过程中,举荐每天看看 30s code,理解一个罕用的数组、对象、Date、String、Number 的 API,也能够在我的项目中应用到这些片段。
同时如果你对 Vue、React 我的项目比拟感兴趣时,也能够去看他人写得好的开源库。
我就列举几个仓库,记得常去看。
Vue:
- vue-element-admin
- todomvc
- awesome-vue
React:
- todomvc
- awesome-react
这个时候,写完一个小东西后,能够抉择去看书《你不晓得的 JS》上中下,坚固一下 JS 基础知识以及看绝对应的 CSS 世界。
Ts 能够看看 TS 官网文档以及每一个版本的变更日志,如果想加深了解能够看绝对应的知识点,尝试做一做 TypeScript Challenges 即可。
此外,我也可举荐你能够刷一刷算法题,锤炼逻辑思维能力,能够刷一刷 LeetCode Hot 100 题,这些刚好也是面试常考的题目。
前面的话能够去看看 Next.js(React 的 ssr)/Nuxt.js(Vue 的 ssr)我的项目,这里就靠本人自由发挥了。
我的前端学习之旅
与安卓的爱恨情仇
在学前端之前,我有半年的安卓教训,也学过 flutter、kotlin 等相干常识, 那个时候我为了实现 qq 界面每天在图书馆待到很晚,写进去之后很有成就感,过后想着能不能实现一个左滑删除的性能,在那之后的事件记不清楚了,然而我印象中的是安卓我学不明确,对于它我无所不知,我不晓得怎么学习, 各种自定义视图等操作要我望而生畏, 简称对于学习曲线比拟陡, 可能是我的学习办法不对, 也慢慢的对安卓失去了趣味.
跟前端来一场 jsp 的邂逅
前端是一个缘分,过后在软件协会学长学姐安排了一个对于登录注册的 jsp 工作,我过后感觉用一个很简陋的登录注册实现了性能,然而我看到他人的登录注册那么难看,我就开始了丑化之旅,当然当初的我再来看之前的页面、代码,那相对是丑不堪言,不过在那个时候曾经是我的巅峰了,就因为这样子,我走上了前端之旅,而这个工夫是在 2018 年, 因为 jsp 跟前端来了一场邂逅~。
那个时候 vue 很火,(那个时候说 vue3 要进去了,后果到当初才进去),所以我没有什么 js、css 根底,就间接上手的框架(Vue),而后基本上是用到啥搜寻啥。
趔趔趄趄的前段之旅
学习 Vue 过后看的是黑马程序员、尚硅谷 Vue、JavaScript 的课, 然而看完之后的感觉就是:懂了,没有齐全懂。
当初如果要我去学习一个货色,我不会抉择看视频,对我来说有两个毛病:
- 即便全副看完之后,本人去写一个货色的时候齐全无奈下手就很苦恼,齐全没有成就感。
- 挺浪费时间的,一系列的课程就几十个小时,真的了解和消化到理论使用这个周期很长。
然而那时的我并不懂,如果是前端小白不晓得从哪里下手的时候,能够尝试一下看看相干的视频,至多对新的货色有一个整体的把握和理解。
最终我回到了文档,开始啃 MDN、Vue 的官网文档,那时候我发现文档比看视频进度快很多,而且要容易排汇和了解。
加上一看到知识点我就间接间接入手实际,有什么问题就依附弱小的谷歌,它总能解决我的问题,我的问题解决能力就是在这里失去了锤炼。
如果你有肯定的编码能力之后,我比拟举荐你去看看他人的代码。组件能够这么形象、类型能够这么用、数组 API 有这么多。
我比拟喜爱学习的时候去看看他人写的代码,宽阔本人的视线。
有本人的产品嘛?
如果你问我,我有什么产品,第一工夫会说博客,当然咱们也能够抉择拿得出手的其余产品。
博客是我始终在用心去写的一个网站,一个简略的博客我的项目造成了我的命名标准、目录标准以及相干的开发标准。
你有本人的产品嘛,它是你的名片,它不肯定要是博客,它也能够是论坛、商城等其余我的项目,然而它肯定是你能够自信满满能够分享进去的我的项目。
输入
有一点是我没做好的,每天花了很多工夫就感觉啥也没学,直到现在才发现,我那时只有输出,没有输入也没有本人的反思和复盘。
之前就停留在 ” 抄 ” 笔记与实际这一层,这样子看起来比拟快,然而少了最重要的一步,把 ” 抄 ” 的笔记用本人的话语写成文章,联合本人的所思所想去表达出来。
很多货色看似本人懂了,但如果要写成文章或者说跟他人去表白,还是不能清晰精确的表白,我最近在看一本书,也在强调,常识的输出和输入,这一点真的很重要。
如果要学一个什么知识点,就带着我能把这个知识点跟他人说分明嘛?
与开源的碰撞
在想要不要写这个章节,因为本人开源经验并不是很多,只有几个 commit,不过我感觉大家有工夫能够去尝试一下参加开源我的项目,就从我集体说起吧。
上一次做奉献曾经是 20 年的事件了
在 20 年的时候,过后有两个月工夫的寒假,而后在长沙筹备简历就找了一份 React 相干的工具,进去之后发现应用 Antd3 搭建的后盾管理系统,有很多很多雷同的表格。
我过后就无心之间看到了一个 Antd 的一个子仓库:Pro-Table,当初曾经改名成 pro-components 了,过后这个仓库只兼容 Antd4,所以我就在想,能不能自己 ” 抄一抄 ” 它的代码,向下兼容 Antd3 在公司外部应用呢?
所以就开始钻研这个仓库之旅,过后也是间接读源码啥的,前面本人在钻研的时候发现了几个 bug,就提了 issue,作者 (chenshuaishuai) 也是很踊跃的说,能够来一个 Pr?
提交完 Pr 会采纳之后,很有成就感,我写的代码被合并了!就开始在 issue 外面找我能够实现的性能和 bug,而后前面也是胜利的提交了几个 pr。
为什么要参加开源社区建设呢?
- 一个好的仓库有好的标准和代码格调, 光是看他们代码, 才发现原来 React 能够这么写, 原来 Ts 类型能够这么用, 直到现在我始终都放弃着多看看他人仓库代码的习惯, 咱们总会在外面学到一些货色.
- pr 的提交远不止写两个 commit 那么简略, 波及到多人单干, 如何疾速和他人说分明, 以后 Pr 做了啥, 要做啥, 怎么做的, 这些都是代码之外的软实力, 也是须要好好晋升的.
- pr 须要波及到后期探讨、代码实现、单测和文档编写, 这些都是咱们要去欠缺的, 我过后懒并没有写文档,写代码只是其中的一环.
- 进步本人的影响力, 在面试或者经验都是浓墨重彩的一笔, 前面校招很大一部分机会就是因为这几次的 pr.
怎么样参加到开源社区呢?
我没有好的方法, 不过我举荐你能够去看看本人比拟相熟 UI 组件、性能包, 咱们在应用的时候可能会有 bug, 咱们能不能看源码去修复他们呢? 这不奉献就来了吗?
切实不行, 能够看看本人对那个仓库感兴趣, 间接找 issue, 看看本人能够修复哪一个, 入手修复, 这不奉献就来了吗?
学习资源
最初我就列一下材料把,心愿对大家有用,学习不是三分钟热度哦,须要一直继续的学习、输入和反思。
JavaScript
而后之后能够先看看 Vue 的货色。
- 看书《JavaScript 权威指南》、《JavaScript 高级程序设计》、《JavaScript 忍者秘笈》三选一
- Mdn 字典
- 古代 JavaScript 教程
- 30s code:碎片化工夫能够学习的片段
- 常见的 JavaScript 小问题
- 对于 Js 运行机制的解释
Css
- 看书:《Css 权威指南》、《Css 世界》二选一
- 张鑫旭大佬的博客
- Css Tricks
typescript
- TypeScript Challenges 简称 Ts 类型体操
- TypeScript 官网手册
- TypeScript Release Notes,次要说了每一个版本 Ts 的性能变更
- TypeScript Deep Dive
Vue
- Vue 官网文档
- Vue Use
- awesome-vue
Vue 我好久没用了,举荐在 awesome-vue 中找好的学习资源和代码仓库
React
- React 文档 Beta 版
- kentcdodds 写了很多对于 React 的文章
- React + TypeScript 指南
- Dan 的博客都是精品
- awesome-react
写在最初
不论学什么货色,都须要工夫,每天保持学一点点,质变引起量变,一起致力,共勉。