在正式开始学习之前,肯定是需要先小聊一波的啦。
俗话说得好,兴趣是最好的老师。我也一直很赞同这话,比如我自己喜欢的东西我一个人做着都忒起劲儿,要是我不喜欢的东西,就是给我很大的诱惑那也没法(或许这样的想法是不对的,也难怪我和大佬之间的差距这么大了是吧)。
so,如果你对web都不感兴趣,那么,朋友,请你出门右拐!!!
哈哈哈,言重了,言重了。想必大家能够看到我这篇文章,说明大家对于web已经有了一定的兴趣(之所以这样说,是因为我觉得兴趣其实是可以培养的,这方面想必大家可能比我还要懂的,你说呢?)。
就我而言,我自己其实不是一个只专注一方面的人,我更喜欢的是进行多方面、多维度进行学习,我是一个狂热的人,只要我接触过的基本上都会在很短的时间爱上她(哈哈哈,至于哪些是我不喜欢的呢,其实到目前为止,我都不知道我到底是喜欢什么、不喜欢什么,当然我觉得英语就TM的是一个特例,I like it, but I do not do it well.),噢,我很抱歉,提起了伤心事儿。
咱们言归正传,,,
一、瞎说一波
说起web的学习,当然得从前端开始学起了卅。 在这里我又得说说我自己的web学习过程,希望大家能够找准自己,我在大二下的时候(目前大三)在大佬(这位是真的很强很强的大佬,在我大学生活中分量很重的几个人之一,在此向聪哥表达我由衷的谢意)的引荐之下进了实验室,当时的我一心就想弄算法的学习,自己就这样在算法的世界里水了一学期,然后大三上,我给自己定位的是web后端(当时是想着学后端可以学算法,将算法应用到实际项目开发中,其实前端也是可以的哈),然后我又再次的来到了web学习,先是前端学习,学了一个月就迫不及待的开始学习后端(哎,真是个让人操心的孩纸。)。
就这样兜了一大圈,又回到了web的学习。
再次向各位读者说声抱歉,我这人有个毛病,写东西或者平时思维都比较跳跃,一不小心就会走偏,大家见谅。
Web前端开发技术主要包括三个要素:HTML、CSS和JavaScript!
它要求前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化、SEO和服务器端的基础知识,而且要学会运用各种工具进行辅助开发以及理论层面的知识,包括代码的可维护性、组件的易用性、分层语义模板和浏览器分级支持等。
前端开发的入门门槛其实很低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢。
二、HTML+CSS
这一部分相对来说较简单,但是并不代表就不重要。我在《Web全栈工程师的自我修养》一书中看到,有些公司前端工程师进行了细分,当然在设计师也对应的进行了细分为视觉设计师和交互设计师。所以,请大家务必重视此模块。
这一部分主要学习HTML标签、属性和事件,学习使用CSS来控制网页的样式和布局。
基础知识点:HTML 基本格式、文本、图像、超链接、表格、列表、表单、框架等;
CSS 基础语法、框模型与背景、文本格式化、表格、显示与定位、动画、过渡、2D/3D 转换、CSS 优化等。
推荐学习路线及资料:
第一个是12个小任务,堪称经典,我当时跟着这个路线走,学到了很多很多的知识,同时上边也有很多大神的代码链接,相当不错。
第二个呢就是慕课的教学视频,讲得很基础,很适合入门,
第三个呢就不说了,大家进去就知道这个文档的强大了。推荐这个文档的两个原因,一是实时更新、二是手册涵盖全面,用法和例子很清晰。
第四个呢,大家自己看名字吧。
当然,对于英文不是很好的小伙伴来说呢,也是有很多还算不错的中文文档的。
其他还有很多优秀的资料,文章,我这里就不一一列举了,大家自行Google,要培养自己的自学能力。
另外深入学习的话这部分就还有很多很多了,知识点蛮多的。另外还有比如Bootstrap这样的工具包,这一部分的内容也是很丰富的哟。
三、JavaScript基础
这一部分不多说,我是这样认为的,一个人的web前端学得咋样可以就从对JavaScript的掌握程度来衡量(虽说有点牵强,但我觉得相当合理,哈哈哈),对于前端大佬来说,JavaScript不仅是广度的学习,更重要的是对JavaScript深入理解学习。
基本知识点:JS语法、函数、DOM、BOM、事件处理等。
JavaScript是一种在客户端广泛使用的脚本语言,在JavaScript当中提供了一些内置函数、对象和DOM操作,借助这些内容可以来实现一些客户端的特效、验证、交互等,使页面看起来不那么呆板。
对于如何学习JavaScript,我建议大家看看 如何循序渐进、有效地学习JavaScript?- 知乎
这一部分我就不和大家扯了,坦白说,我自己JavaScript很菜,只停留在了基础阶段,没有深入学习,所以就直接上推荐资料啦(可怜了我的JavaScript,都没有花时间去学,后边我会很认真的去学的,相信我(奋斗脸)。)
第一个是慕课网上的视频教程,其实还有很多优秀的教程,我之所以推荐这个教程是因为我是学习过这个教程的,我了解这个教程适合新手,至于其他优秀的教程就靠优秀的你去发现了。
第二个是廖雪峰老师的,它的教程我看过很多,都挺不错的,深入浅出。值得细细研读
第三个呢就是一个文档,建议用来当字典用,当然去找官方文档更好了。
第四个就有点不一样了,这是一篇文章,之所以推荐这篇文章,是因为我觉得这篇文章虽然字数不多,但是很在点子上,文中也给了优秀书籍的链接,所以,你懂的卅。
四、JavaScript高级
想必大家走到了这个阶段,心里已经有了底了,不会感觉空了。对于一般的页面,应该都是能够“1:1”的做出来了(在这里说下,我觉得学习web前端,一个很有效的方式就是临摹优秀的网页,会收获很多的哟)。
JavaScript高级呢,我这里就主要是给大家罗列下哪些东西啦,我也没有去学习,希望后边我们一起学习,一起进步啦。
这一部分主要是学习JavaScript的框架(JavaScript框架是一组预先编写的JavaScript代码,为基于 JavaScript 的应用提供更简单的开发方式。)、JavaScript的高级应用。
1、JQuery
JQuery是一个免费、开源的轻量级的JavaScript库,并且兼容各种浏览器(jQuery2.0及后续版本放弃了对IE6/7/8浏览器的支持),同时现在有很多基于jQuery的插件可供选择,这样在我们实现一些丰富的动态效果时更方便快捷,大大节省了开发的时间,提高了开发速度,这也充分体现了其
write less,do more的核心宗旨。
这个颇受欢迎的JavaScript库简化了HTML文档处理、事件处理、动画和Ajax,声称“改变了数百万人编写JavaScript的方式。”它的赞助者包括WordPress、Famo.us和IBM。
2、AngularJS
AngularJS有着诸多特性,最为核心的是:MVW(Model-View-Whatever)、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
AngularJS 是一个 JavaScript框架。它是一个以 JavaScript 编写的库。它可通过