为什么选择前端
做一件事之前最好问问自己为什么要做,然后再去思考该怎么做。如果只是看到别人做了,并且有很不错的收入,然后自己就决定做了,很可能中途放弃浪费掉很多时间。起码问自己一个问题:我是否真的热爱这个领域,并且很乐意在这个领域持续不断的一直学习付出?当你模糊不定我想你可以再想想自己适合什么,如果你接触后发现这就是我喜欢的东西,那么我想你可以开始了。
作为自学两年的初级前端,希望对那些想入门前端开发的人分享一些观点。先谈谈我那会为什么选择入门前端,这个可能大多数人都一样:
不喜欢黑乎乎的命令框程序,喜欢漂亮的用户界面
不喜欢整天与数据库交流,喜欢向用户展示内容和处理用户的操作
代码写一点就能看见视图效果出来一点,这是很有成就感的
要是你有很强的算法逻辑,喜欢处理海量的用户请求和数据,你可以考虑一下后端开发,当然做一名全栈开发是最好的。
这里有一个很大的误区:大多数人觉得前端简单,填填Html
,稍微加点CSS
,然后用JavaScript
处理一下点击事件以及其他的逻辑,一个网页就成了。然后就会给人一个错觉:我简单地看看文档大概用一周的时间就能动手写网页了,给人一种前端门槛很低的感觉,还不用去考虑后端那些复杂的算法逻辑。
确实,对于一个新手写一些网页确实不太需要算法逻辑,但是这些想法很容易给人误导,懂得这些你只是一个切图工
,并不是一个很好的开发者。尤其是这几年前端领域飞速的发展,新东西层出不穷。仅仅会这些早已不能满足需求了。
前端发展及入门建议
这几年这一领域的发展还算蛮大的,出现了很多新的工具,前端开发的地位越来越被重视,随着技术的更新前端的产品体验越来越好。
但是作为前端的三大基石:Html
、CSS
和JavaScript
基础的内容没怎么变过,不过是在其基础上增加很多新的特性和方法。后来随着Webpack
等一些工具的出现,前端的工作方式发生了变化,以及一些新的框架比如Vue.js
、React
的出现,使得前端体系越发的庞大。不过只要分清楚哪些是重点就可以。
纵观计算机发展史,二三十年间技术更替了一波又一波,不断有新的技术产生,老的淘汰。前端领域也更替了好几代,所以希望明白一个事实,不要去争论什么语言、什么框架好,万一哪天出来一个更好的把它替代了呢?所以不要局限住自己的视野,要看到那些基础的东西是不会变的,那些 js 基础、网络协议以及一些编程思想,也就是数据结构与算法,吃透这些底层的东西无论上层工具怎样交替更换,自己总能得心应手。不要让自己过于依赖框架,想想要是没有框架还能做什么?
打个比方,《蜘蛛侠:英雄归来》里面托尼对他说的:
学习路线及资源
这些都是我觉得比较好的东西,推荐一下:搜索引擎查找即可。也可关注我的微信公众号:前端123
获取。
首先就是
HTML
与CSS
:HTML
负责网页的骨架,而CSS
则主要负责你美化你的的网页的样式。这些基础的话入门的时候过一下文档就可以了,这里推荐MDN Web docs
。还有一个很有趣的教程,如果你不喜欢单看文字教程的话,可以试试Freecodecamp
,一个学习编程的网站,闯关游戏感觉的学习过程,由最简单渐进深入的内容,试一下你会喜欢的。接着就是
JavaScript
的部分,这也是前端开发水平的分水岭,切图仔与工程师差距就在这。很多人往往忽略这一部分,往往拿着一些开发框架的特性和功能就开始直接使用了,觉得可以应付一般的需求,但是那些框架的原理实现对他完全就是黑盒,很容易造成错误和创造低效的代码。学习这部分的话首先推荐廖雪峰的 JavaScript 教程
,内容很完整,每个部分还有单独的测试,以及后面的 js 一条龙教程。还有一个就是广受业内赞誉,被称为红宝书
的JavaScript 高级程序设计
。书很厚,但是完全值得啃下去。当你觉得完全掌握了上面的内容了,对
JavaScript
的基础了如指掌,是时候上手一门框架来增加你的开发效率了。无论Vue
还是React
,你都需要仔细阅读官方给的文档,这是最有效率的方式,选择你喜欢的框架风格深入看完文档就行了。
学习策略与态度
好的学习方法是可以让你利用有限的时间掌握更多的内容。首先不得不提的是解决问题的能力
是一个人很可贵的品质。
编程的路上肯定会遇到不可控的各种问题,冷静分析,查阅错误信息,找出解决方法。或是尝试了各种方法,但是依旧无法解决,阻挡了你前进的步伐。这个时候你就要找一个你信任的水平高于你的人,解释你遇到了什么问题,你理解的这个问题可能会是哪里出问题了,你尝试过什么解决方法。
切忌截一个报错信息就问解决方法。首先大家的时间都很宝贵,这是一种不尊重别人时间的表现;其次大家都愿意帮助乐于思考的人。搜索引擎是你解决问题的利器,大多数解决不了的问题都是你没有选对搜索引擎,或是你没有准确的描述出问题的信息。
还有个学习的能力
:学习是一个终身的事业,尤其是对于计算机行业,学会坚持主动学习、高效学习是很重要的。对待学习这件事,每个人的效率不一样,这就导致了人跟人之间的差距。这里有两个需要注意的:
构建知识体系
在明确目标,开始学习前,不要那么急于上手干,还要学会构建出自己的知识体系。
就拿读书来说,大部分人读书习惯于翻开第一页开始看,其实这是很低效的,拿到一本书以后,一定要先看目录,因为对于一本书来说,目录就是他的知识体系。明白整个体系后整本书大概就了然于胸,之后会选一些对我当前工作学习有帮助的内容去看,很少会从第一页开始。
同样的编程也一样,比如你想成为一名前端工程师。你要做的并不是先买书、看视频、搭建开发环境。而是要先了解到成为一名前端开发工程师需要哪些知识体系,你可以自己搜索或者请教有经验的人了解到。也就是你在学习之前把你要学的东西大概框架先搞懂,然后再去对应每一个深入的学习。你的学习计划也就出来了。每学完一个地方你的潜意识就会给你反馈,又离目标进了一步,你的学习效率自然会提高,也会更有动力。随着水平的提高,定期更新你的知识体系就好了。
学会应用
对于编程学习来说,应用是非常重要的。知识的学习本质是要解决问题的。如果在学习的过程中你能注重应用,那么会让你产生乐趣与满足感。
在你学习一个阶段之后,可以去找一些小的案例,涵盖住学过的知识,然后自己动手仿造做出一个。不仅复习了前一段的知识,有了作品还很大程度上增加了满足感,让你更有学习的劲头。
最后想谈一下学习的态度:
每个人都是急于求成
的,一些教程也很能抓住这个心理。你肯定看过很多诸如几个小时学会什么
、几天什么从入门到精通
等等。但是很不幸告诉你,任何领域的高手都是需要一个长期投入的过程。而当你看到这里的时候,我相信你是有信心坚持下去的,而当你已经坚持了几个月了,好吧,你该上路了。
欢迎关注我的微信公众号:前端123
一块交流学习。