如何面向大前端学习(给新手)

348 阅读5分钟

如何面向大前端学习(给新手)

基础

基础,什么是基础,HTML、CSS、Javascript等技术是基础吗?难道学习前端是为了这些基础真的是为了Angular、React、Vue等框架打基础吗?我首先抛出上面的问题。

既然是面向新手的一篇文章,所以我在这里也会介绍如何一步一步学习过来。

HTML

首先介绍一下HTML。HTML起的作用是网站的骨架,如果大家在网速比较慢的时候(超级慢),这个时候浏览器就会渲染出一个很朴素的界面。image-20201028151121036实际上这个就是没有CSS修饰直接渲染出来的。 HTML是内容的堆砌,只有HTML的网页是不美观的、单一的。所以我们需要借助CSS进行布局、美化等。

CSS

那究竟什么是CSS呢,竟然有这么大的魔力?CSS是层叠样式表,他可以用来做布局、可以用来给网页换肤、给网页添加动效、包括一下比较炫酷的特效都可以使用CSS制作出来。这个就是正常渲染的页面。image-20201028151424872可以也就是上面那幅图有CSS加成后的样子。该是很神奇吧。网站布局和CSS是一门专门的学问,一般的大公司里面有专门的CSS开发人员,例如阅文集团的张 鑫旭,就是专门研究CSS的。

Q:我们该一直死磕HTML和CSS布局切图吗

那现在大家了解到了CSS和HTML是什么了之后,对于CSS和HTML应该怎么学习呢?CSS和HTML都是需要经验不断累积出来的,包括怎么布局,怎么加特效,等等。所以说如果你一直不管不顾Javascript而是长期以往的磨CSS和HTML的布局,实际上是对自己的进步不利的。因为HTML和CSS算不上一门编程语言,只有Javascript才是一门可以和C语言,Java语言做同样的事情的编程语言。因此,我对于如何学习CSS和HTML的建议就是,不要一直死磕,同时学习HTML、CSS、Javascript并不冲突。

Q:前端需要自己画原型图吗

不需要。原型图是美工组出图之后再复刻出来就OK了。如果自己学习的话可以看看别的网站是怎么布置的,然后可以自己参考一下。

Javascript

那如何学习Javascript呢,如果你了解了一点Javascript或者前端的一些框架、一些库,你就会知道如果你想在你的网页中但凡加一点web标准中没有的东西,比如说你想用D3来画一个图表。或者是对网页进行一些动态的渲染,都需要借助Javascript的力量。因此,对于Javascript的学习,我认为越早也好。随着google的V8引擎的出现,Javascript不再是以前的那个羸弱的、只能在浏览器中运行的语言了,他出现在了后台服务器,出现在了爬虫,出现在了脚本中。大家可以参考学长写的一个ISP自动签到的脚本,使用的语言是Typescript,一个Javascript的超集。同时,Javascript没有忘记他的主业(前端),随着Ajax等技术的出现,Angular、React、Vue等框架一统了互联网的web开发方式。对于Javascript的学习,我推荐大家看书。

Q:那我该看什么书呢

Javascript:

  1. Javascript高级程序设计第四版(又称红宝书)(介绍了与Javascript的方方面面)
  2. Javascript蝴蝶书
  3. 你不知道的Javascript系列(主要是深入了Javascript)

Node.js

Node.js是学前端人不可或缺的。学习了之后就可以为所欲为。

  1. 深入浅出Node.js
  2. Node.js实战

CSS:

  1. CSS权威指南第四版(相比于第三版增加了很多新的知识(很有必要了解))
  2. 待补充...

HTML:

  1. 待补充

进阶1

大家熟悉了一定的Javascript语法之后,就可以去使用三大框架进行现代的web开发了。在这里,学长推荐大家继续深入学习Javascript、以及掌握Typescript的开发语法,然后去使用Angular作为开发框架。为什么我推荐Angular呢?因为Angular的提出者,思想先进、眼光独到,在Typescript还未兴起的时候依然决然的采用Typescript作为开发语言进行开发;有一个官方的Cli对构建进行支持;与rx.js等数据流深入地结合。并且拥有一个官方的、优良的前端组件库material。可以说先进了当前的其他框架的思想很多年。而随着最近几年Typescript逐渐变成了Javascript开发的潮流语言,如果大家直接去上手Angular,大家如果需要转到React开发栈也是非常的轻松。因为不同的框架,只是采用了不同的DSL对同一个目标进行表达,但是背后的数据流,数据绑定这些思想是仍然可以复用的。

进阶2

难道你以为接触到Angular、React、Vue等框架,接触到微信小程序就是进阶了吗?就可以去大厂了吗?那你错了。

如果你想的只是做一个简简单单的打工人,把网上的代码复制过来粘贴过去,达到上面的境界就可以了。但是如果你想继续对前端深入,你可能需要的并不只是在开发岗的进阶,而是在更广的地方进行深入。例如Alibaba的imgcook,他可以根据美工稿直接生成对应的前端代码,其中需要的是机器学习等技术;又或前端监控,前端组件库基站建设,前端LowCode网站搭建,报表一键生成等,已经不只是前端开发岗的技术了,更是研发岗的技术。未来前端会向出发,一波又一波的前端技术热潮中,大家究竟会抓住这个时机乘机上岸呢,还是错失时机继续开发岗位蹲呢?这是个问题。