近年来,由于前端领域的需求越来越大,更多的人涌入,小白刚开始学习的时候,很容易陷入理论学校。他一看就懂,一开始就糊涂了。他仍然不知道如何系统地学习。学了一两个月就迷茫,怀疑自己是不是不适合学习编程,这是自学的常态。毫无疑问,我在初学者的时候也是这样。现在回想起来,我很庆幸遇到了帮助过我的师父,并最终坚持了学习。不然我现在可能不是前端工程师了,说不定还找到了自己的搭档(︶.?︶?)(哈哈,别当真,会有搭档的!(^_?)☆).造成这种现象的主要原因是学习路线规划不明确。给大家推荐一下我总结的学习路径和方法吧!入门前端入门首先从最基本的网页制作开始,也就是说需要掌握基本的网页布局能力,任何静态网页布局都得用html+css来实现。html+css的技巧建议先上MDN学习。如果打不开,那建议看菜鸟教程。本网站每个知识点都会有一个知识点练习。需要注意的是,这些学习网站都是文字说明,只是知识点的讲解,更多的需要你写小案例进行练习。如果找不到合适的案例,可以在网上任意网页上选块进行排版练习。如果喜欢MOOCs、codecasts等视频讲解,可以选择此类网站的课程,注意时间和好评。经过这些研究,实现一般的静态网页布局几乎没有问题。这里可以开始尝试编写常见的综合网页(例如:天猫、京东等)。接下来就是开始学习js(javascript的简称)了。js有很多坑,学一辈子就够了,所以早期学习只需要先学好js的基础即可。还是建议在MDN或者菜鸟教程上学习。学习js的基础知识。需要注意的是,在学习js期间,很容易陷入抓狂的困境,因为只学了基本概念,没有自己的编程思想,所以在写js案例的时候,尽量解决案件独立。建议把大问题拆分出来,用辅助图拆分成小问题,分析整体的实现步骤,根据每个步骤思考哪些知识可以实现这些步骤。写得再烂,最后实现出来也是自己的思路。写完之后,想想能不能换一种思路来做。如果你能做到,就尽量去做。对你自己来说,这是一种新的思维方式。学习编程一定要看别人的代码来借鉴和完善自己的想法,但是一定要先想好,不要盲目看别人的代码,否则很容易产生依赖,你的独立性思维能力不会提高。Elementary这一步已经有了一点基础,但是要实现复杂的页面还是有难度的,下面就对所学的技巧进行深入的学习。CSS部分:强烈推荐阅读张新旭的《css世界》学习。本书的CSS原理非常深入,文字描述生动有趣,即使是初学者也能看懂。要知道,各种复杂的css概念也是可以看懂的。js部分:前面学的其实只是js的一些基础知识,进一步学习建议看书。前端必读书籍列表依次如下:《javascript语言精粹》从这本书入手,帮助你快速辨别js语言中的精华和糟粕,重点学习《JavaScript高级程序设计》,通俗称红本书,深入讲解js里面的各个组成部分是这样的:《你不知道的JavaScript》,本书分为上、中、下三本书,深入理解js语言的内部机制,打好基础对于本机js。下面我放一张封面图(另外两张封面差不多就不放了,图大)这个阶段是开始学习前端开发的主流框架。学习框架之前一定要有扎实的原生js基础,因为之前看过太多可以用来开发的框架。原理不太懂前端工作者,其实这对前端以后的发展是极其不利的。要知道框架是用来解决复杂问题和提高效率的,而大多数前端框架都是基于js的。不了解js原理的后果是,一旦在框架开发中遇到一些问题,你会傻眼,很难找到问题的原因,解决问题就更难了。如果继续保持这种状态,前端开发之路就算是结束了,所以一定要扎扎实实地学习js。node.js:node.js允许js在服务端运行。node的官方文档有点晦涩难懂。推荐阅读《了不起的node.js》开始。后续深度学习节点推荐《深入浅出Node.js》vue:vue学习推荐阅读vue官方文档。里面的例子建议自己去练习,加深记忆和理解。对于react、reactnative、angular,建议直接阅读官方文档进行学习。深入学习用到的书籍,去图灵社区搜索。知名度高的几本书都很好,这里就不放了。以上是很多公司要求使用的主流框架(包括但不限于)。至于学习顺序,大家可以不用按照上面说的,因为现在可以开始找工作了─=≡Σ(((つ??ω??)つ,顺序可以根据工作要求来定.在学习期间,一定要熟练掌握git、svn、webpack工具的使用,多看看别人的好项目源码,开阔眼界。推荐去github。这里有很多好的项目。研究源码会对你有很大的帮助。中级这个阶段我们更注重写出高质量的代码,主要表现在四个方面:高性能、易维护、可读性强、代码规范。至此,估计你已经工作一段时间了,基本可以满足工作的一些需求,但是前端学习之路是无止境的,还得继续努力才能成为更专业的前端程序员(用爱发电?(???)?)!推荐阅读:《高性能JavaScript》、《数据结构与算法JavaScript描述》、《同构JavaScript应用开发》、《图解HTTP》。建议学习一门后端语言,不为别的。在一定程度上,语言因其语法特征而不同。掌握一门后端语言会开阔你的视野,你会对开发中的前后端分离有更深刻的理解。话虽如此,更多的还是需要应用到实际项目中。进阶上面只是说了学习的路线和方法,以后如何发展可以看高级前端工程师的招聘要求。需要掌握的技能不一定相同,大家可以根据自己的侧重点来制定以后的学习计划!--------------分割线:有什么问题或者更好的建议,欢迎评论或者私聊!谢谢!另外,禁止转载,谢谢!------------------
