零基础的前端开发初学者应如何系统地学习?

网站开发开发大致分为前端和后端,前端主要负责实现视觉和交互效果,以及与服务器通信,完成业务逻辑。其核心价值在于对用户体验的追求。可以按如下思路学习系统学习:

基础知识:

  1. html + css 这部分建议在 w3school 在线教程上学习,边学边练,每章后还有小测试。 之后可以模仿一些网站做些页面。
  2. javascript 要学的内容实在很多,如果没有其他编程语言的基础的话,学起来可能要费些力,还是建议先在 w3school上学习。之后建议马上看《javascript语言精粹》,js是一门很混乱的语言,这本书能够帮助你区分哪些是语言的精华,哪些是糟粕,对于语言精华,应该深入学习。糟粕部分能看懂别人写的代码就行,自己就不用尝试了。

对于习惯看视频学习的同学,以上内容也可以在 慕课网-国内最大的IT技能学习平台 上学习。虽然我没用过,但好几位同学推荐过了,大概看了下,内容还不错。

进阶:

有了以上基础,就可以进行一般的静态网页设计,不过对于复杂的页面还需要进一步学习。

  1. css。截至今日(2015.12.08),天猫、淘宝、支付宝都已停止对ie6,7的支持,未来相信大多数网站都会停止对ie6,7的支持,ie8的市场份额也不像两年前那么高了(天猫即将停止对IE8的支持,2016.12.13),webkit内核已成为市场主流。对于css的学习,我推荐分三块:“基础概念”,“css2.1规范”,“css3规范”。必看 精通CSS(第2版) (豆瓣),看完这本书你应该对:盒子模型,流动,block,inline,层叠,样式优先级,等概念非常了解了。这本确实有些年头了,但基础概念部分讲述非常清晰,可以称之为经典。ie6,7相关的内容可以不看。css3的部分可以参考:CSS3实用指南 (豆瓣)。这本书同样有些老,只是最新出版的书中没发现有特别好的。
  2. javascript。上面提到内容还不足以让你胜任js编程。在有了基础之后,进一步学习内容包括:

a) 框架。推荐 zepto,简单易用,在w3school简单学习js后,直接上手 zepto 即可完成一些简单的项目。zepto 源码简单清晰,也适合新手阅读。补充: 可以使用 codecademy 学习 javascript,zepto,用户体验真的很好(感谢 TonyOuyang )。最近比较热门的框架是React, VUE, Angular这些, 根据需要稍作了解即可。随着ie浏览器市场份额的下降,以及移动端的发展,标准原生js已经可以在实际项目中使用(目前还需要借助es5shim、babel等),重点还是ES5, ES6, ES7。

b) javascript语言范式 。这个名字可能并不恰当,只是我找不到可以描述“面向对象”,“函数式”这个两个概念的概念。javascript不完全是一个面向对象的语言,它的很多设计理念都有函数编程语言的影子,甚至说如果你不用面向对象,完全可以把它理解成一门函数式编程语言。javascript的很多语言特性,都是因为他具有函数式语言的特点才存在的。这部分推荐先学习面向对象的基本理论,对封装,继承,多态等概念要理解,维基百科,百度百科会是你的帮手,另外推荐《object oriented javascript》,应该有中文版。对与函数式编程可以参考这篇文章:JavaScript 中的函数式编程实践

c) javascript语言内部机制。必须弄清如下概念:js中变量的作用域,变量传递方式,函数的定义环境与执行环境,闭包,函数的四种调用方式(一般函数,对象的方法,apply,call),以及四种调用方式下,‘this’指向的是谁。这部分内容你会在《javascript语言精粹》中详细了解。

d) dom编程,这个web前端工程师的核心技能之一。必读《dom编程艺术》,另外《高性能javascript》这本书中关于dom编程的部分讲的也很好。

e) ajax编程,这是另一核心技术。ajax建议在网上查些资料,了解这个概念的来龙去脉,百度百科,维基百科上的内容就足够了。真正编程是很容易的,如今几乎所有框架都对ajax有良好的封装,编程并不复杂。另外,ajax未来几年会被 Fetch Standard 取代,也需要了解。另外关于xhr2,cors(跨站资源共享),formData文件上传,也需要了解。(web前端学习交流群:328058344 禁止闲聊,非喜勿进!)

f) es5, es6。现在开发js大部分基于es5的,ie8以下通过es5-shim。但利用一些工具,现在已经可以直接写es6代码了,尤其在reactjs,nodejs类型的项目中。对于从es5,es6每个阶段js发生了哪些变化都需要系统学习,学习顺序建议是 JavaScript基础 -> es5 -> es6,越靠前的越重要。一些参考链接:ECMAScript 5 compatibility tableECMAScript 6入门ES5 ? 张鑫旭

  1. html5。需要了解html都提供了哪些api,然后项目中用起来。这部分没有什么难理解的,关键在于能用html5解决业务问题,以及不支持html5的浏览器的降级方案。这部分体现了前端的一个思想:面向未来编程,尽早将新技术引入业务中来,而不是过分考虑兼容性问题,进而导致面向过去编程。

再进一阶 · 代码层面: 
有了以上知识,对于大多数小型网站,你应该已经可以写出能够工作的代码了。但要想成为更专业的前端,你还需继续努力。更高的要求大概还有四方面:1易维护,2可测试,3高性能,4低流量(移动端)。 
1. 易维护。对于页面你该理解‘样式’,‘数据’,‘行为’三者分离,对应的当然就是css,html,js。对于js代码,你最好了解设计模式,重构,MVC等内容。 
2. 可测性。就是保证你的代码能沟通单元测试100%覆盖到所有分支 
3. 高性能。必读《高性能javascript》 
4. 低流量。移动端关注比较多,PC端现在可以不用太关注了

再进一阶 · 工程层面: 
前端项目同样面临软件生命周期的各个环节,首先是代码管理,你必须学会使用svn和git。其次是代码的构建,如今前端代码构建已经不是简单的压缩一下了,需要进行依赖管理、模块合并、各种编译,必须要学会使用grunt、gulp、webpack、rollup等前端构建工具,以及前端模块管理的方式,amd,cmd,es6 module 等等。

然后呢? 
以上内容只是简单说了前端学习的顺序。前端工程师应该有的知识结构请参考这里:JacksonTian/fks · GitHub

补充: 
对于前段开发,基本内容就这些了,可以根据自己的兴趣爱好选择性学习以下内容。 
1. 交互设计。大公司依然有专业人士搞这些,不过不懂交互的前端一定不是好前端。推荐《简约至上》。 
2. 后端。应该说前段工程师必须至少了解一门后端语言,不过如果爱好也可深入学习,入手难度比较低的应该是php了。这部分由可分为基于页面,基于框架两种。大型项目都是基于框架开发的,建议至少了解一个MVC框架,比如php的ci, yii, yaf 等,好还框架的设计思想都大同小异。如今NodeJs在大公司已经得到普遍的使用,推荐大家使用在Node上使用Koa框架做一些后端服务的开发。 
3. Android和ios开发。时至今日,前端的工作领域已经非常广泛,native的界面开发本质上也是前端开发,个大公司都面临着Native环境和web环境页面同时维护的问题,如果能够在技术上得到统一,将会有巨大的价值。对于学有余力的同学,应该了解Native开发的基本流程,至少了解到界面构建的技术。 
4. 如果你能够认真看到这里,说明你对前端有真爱,最后说一个编程习惯的问题,绝对是保你工作平安,少出故障。代码提交前必须做的三个事情:A. git diff(svn diff),检查所有变更;B. 跑一边单元测试;C. 手动运行一遍所有demo.

时间: 2024-08-29 16:46:54

零基础的前端开发初学者应如何系统地学习?的相关文章

前端搬运工:零基础的前端开发初学者应如何系统地学习?前端掌握技能的学习路线

前端小伙伴们:[刚入门,但迷茫人群],请认真读完 下面的 淘宝web 大神总结,如果你对前端是真爱的话,并且坚信可以作为职业去改变你的生活,慢慢日积月累,按这个来吧,真的! 上半部分是 技术路线, 下半部分是掌握的知识框架+面面俱到,欢迎转载,但请注明出处! JS前端实用开发QQ群 :147250970  欢迎加入~! 张帅,大前端 (前端变化太快,以下内容我会不定期更新,第三方网站请不要转载,如果实在想转载,请只转载摘要,并保留原文链接,谢谢) 网站开发开发大致分为前端和后端,前端主要负责实现

web前端开发初学者必看的学习路线图课程内容分享

随着web前端需求量的日益增加,企业对前端人员的技能要求也越来越高,我们如何能学到满足企业的web前端技能,向着高薪前进,那你就的了解企业需要的人才需求,还的提升自身的技术能力,那么想从事web前端行业,web前端开发主要学什么课程呢? 前端是一门衔接UI和后台开发的职位,web前端工程师课程要完全覆盖这些较新的技术内容,才能紧跟技术步伐.那么的web前端课程都学什么呢? 第一阶段:前端页面重构 内容包含了:(PC端网站布局项目.HTML5+CSS3基础项目.WebApp页面布局项目) 第二阶段

WEB前端开发初学者必看的学习路线

大家经常跟我要一些 web前端的学习路线和一些vue.angular.react教程,我自己很懒,自己没整理过系统的教程,因为网上也多的是,有时间我会普及一些入门和提升建议,思想提升了,路线明确了自然就好了,于是就整理了下这篇javaScript简介介绍帮助大家了解前端,学习资料和学习路线,干货福利内容 在文末↓第一阶段--HTML的学习HTML的中文全称为超文本标记语言,它是一个网页的框架,不论是动态网页还是静态网页最终返回到浏览器端的都是HTML代码.浏览器将HTML代码解释渲染后呈现给用户

小猿圈web前端开发讲师:零基础自学html5开发方法

web前端开发目前市场使用率随着需求逐年递增.越来越多的年轻人转行进入了web前端开发领取.html5强大的功能是有目共睹的,本属自身独特的优势让这一技术越来越受欢迎,相比于原生APP,html5已经逐渐在用户体验生无限接近,再加上低廉的开发成本和强大的适配功能,早已经可以俘获开发商和开发者的芳心,本文小猿圈web前端开发讲师介绍零基础如何自学html5开发? 小猿圈web前端开发讲师:零基础自学html5开发方法: 1.拒绝插件,遇到交互效果就选择扒插件,这是一种非常不可取的方法,在这种情况之

零基础学iPhone开发

零基础学iPhone开发1-Swift+iOS8版. 学习iPhone开发不但可以作为一门兴趣爱好,同样还可以带来不错的收益(如果你能给用户带来不错的产品,或者找到一份提供给力薪水的工作~).但天下没有白吃的午餐,进行iOS开发也是要花钱的.以下是你需要投资的: 1.一台设备: iPhone,iPad,iPadmini或iPod touch中的任一种.只用虚拟机永远没法学会真正的开发.当然,为了支持最新的iOS系统,就不要买太老型号的设备了,比如iPhone4之类的.而且即便是iPhone4S使

零基础Android嵌入式开发视频教程

零基础Android手机嵌入式开发实战课程(网吧计费系统.多功能播放器.驱动开发) 适合人群:初级 课时数量:176课时 用到技术:Bootloader开发.裸板开发 涉及项目:网吧计费系统.多功能播放器.驱动开发等 咨询qq:1840215592 零基础Android嵌入式开发教程总共分为八部分,零基础起步,由浅入深,全面系统的介绍了Android系统从应用开发.系统移植.再到设备驱动开发的全过程,总课时预计174讲! 课程内容简介: 本套Android嵌入式开发教程从最础的C语言和数据结构起

【视频】零基础学Android开发:蓝牙聊天室APP(一)

零基础学Android开发:蓝牙聊天室APP第一讲 1. Android介绍与环境搭建:史上最高效Android入门学习 1.1 Google的大小战略 1.2 物联网与云计算 1.3 智能XX设备 1.4 Android发展前景 1.5 Android企业需求与就业薪资 1.6 Android框架介绍 1.7 搭建Android开发环境 1.8 Android SDK文件夹具体解释 1.9 开发第一个App:HelloWorld 1.10 App应用程序文件夹具体解释 在线收看:http://

【视频】零基础学Android开发:蓝牙聊天室APP(三)

零基础学Android开发:蓝牙聊天室APP第三讲 3.1 ImageView.ImageButton控件详解 3.2 GridView控件详解 3.3 SimpleAdapter适配器详解 3.4 事件监听器:OnItemClickListener 3.5 输入和显示表情图像 在线收看:http://www.3g-edu.org/news/video023.htm 视频下载:http://pan.baidu.com/s/1kTmiNqf

【视频】零基础学Android开发:蓝牙聊天室APP(四)

零基础学Android开发:蓝牙聊天室APP第四讲 4.1 ListView控件的使用 4.2 BaseAdapter详解 4.3 ListView分布与滚动事件 4.4 ListView事件监听器:OnItemClickedListener 在线收看:http://www.3g-edu.org/news/video026.htm 视频下载:http://pan.baidu.com/s/1jGkjDGE