`

前端学习 从零开始

    博客分类:
  • web
 
阅读更多
基础

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

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



初级

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

一、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实用指南 (豆瓣)。这本书同样有些老,只是最新出版的书中没发现有特别好的。

二、 javascript

上面提到内容还不足以让你胜任js编程。在有了基础之后,进一步学习内容包括:

1. 简单框架。推荐先学 zepto,简单易用,在w3school简单学习js后,直接上手 zepto 即可完成一些简单的项目。zepto 源码简单清晰,也适合新手阅读。补充: 可以使用 codecademy 学习 javascript,zepto,用户体验真的很好(感谢 TonyOuyang )。学习zepto只是为了快速上手开发项目,获得成就感。同时还是要关注JS原生编程的能力,尤其随着低端浏览器份额的下降,很多 zepto API 已经可以被原生浏览器api替代。以天猫消费者端 h5页面为例,主要就是靠 原生JS + 少量 zepto api 的方式开发完成,配合pwa等浏览器最新api就可以开发出极致的用户体验。

2. 复杂框架。是指 react、vue、angular 等不直接操作dom的框架。这类框架建议js基础打扎实后再学习。复杂框架是用来解决复杂问题的。对于电商无线端导购页面来说原生JS足以。对于类似商家管理系统这类交互复杂,开发量大的系统,才适合用这类框架。对于这些框架核心在于理解理念,不要只停留在会用的层面。

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

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

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

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

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

三、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.

吃水不忘打井人-----------参考链接:https://www.zhihu.com/question/19834302
分享到:
评论

相关推荐

    Web前端入门:从零开始做网站.txt打包整理.zip

    描述部分简洁明了,"Web前端入门:从零开始做网站.txt打包整理.zip"与标题一致,表明这是一个关于Web前端学习的资料合集,以文本格式(.txt)进行整理,方便阅读和学习。.zip文件意味着这是一份压缩包,包含多个相关...

    从零开始学jquery

    【从零开始学jQuery】这个教程旨在帮助初学者全面理解并掌握jQuery这一强大的JavaScript库。jQuery简化了HTML文档遍历、事件处理、动画设计和Ajax交互,是Web开发中的常用工具。 ### (一) 开天辟地入门篇 在入门...

    从零开始——构建你的前端知识框架

    本资源包提供了一个全面的学习路径,涵盖了从基础到进阶的前端技术。 HTML(HyperText Markup Language)是前端开发的基础,它定义了网页的结构。了解HTML5的新特性,如语义化标签(header, footer, section等),...

    368集前端开发从零开始到项目实战【视频课程】下载整理.zip

    《368集前端开发从零开始到项目实战》是一门全面且深入的前端开发学习课程,涵盖了前端开发的基础知识到高级技术,旨在帮助初学者快速掌握前端开发技能,并通过项目实战提升实际应用能力。这门课程对于任何想要在IT...

    从零开始学JavaScript

    对于零基础的学习者而言,从简单的语法学习,逐渐过渡到实际项目的开发,不断实践和总结经验,是逐步精通JavaScript的有效路径。由于此处提及的内容较为广泛,实际学习过程中,每个主题都有更为详细和深入的知识点...

    从零开始学 Web 前端系列图文教程。从零开始一步步带你进入前端的世界。.zip

    总之,这个"从零开始学Web前端系列图文教程"将全面覆盖前端开发的基础知识和实践技巧,无论你是完全的初学者还是希望巩固基础知识的学习者,都能从中受益匪浅。通过学习,你将能够独立创建具有交互性和视觉吸引力的...

    《Web前端入门_从零开始做网站》讲义

    **前端开发概述** 前端开发是构建互联网应用的重要组成部分,它主要负责用户在浏览器中看到和交互的部分。...《Web前端入门_从零开始做网站》...通过深入学习,你可以从零开始构建自己的网站,开启前端开发的职业旅程。

    SQL Server 2000 数据库开发从零开始之一

    •学习怎样从零开始创建、管理、操作和维护一个数据库应用程度; •了解SQL Srver 2000工具的常规操作功能; •为进一步学习SQL Srver 2000管理的操作技巧打下基础; •使用ASP为所开发的数据库应用程序开发Web应用...

    前端从零开始的学习路线教程详解

    适合前端从业者或希望从事前端行业的同学,优质资源持续更新中。

    368集课程+12章节课程 轻松成就一名前端开发高手 前端开发从零开始到项目实战

    课程的容量接近40G,总的课程数量达到300多集,同时课程通过合理的分布...课程从HTML基础开始教指导,到CSS的课程技术实践,对CSS下了非常大的功夫,还包括有前端项目实践,学习技术加项目练手,系统化让学习更有效率。

    从零开始学习jQuery

    ### 从零开始学习jQuery——综合知识点解析 #### 一、引言 随着Web技术的发展,JavaScript已经成为前端开发中不可或缺的一部分。为了简化JavaScript的使用,提高开发效率,jQuery应运而生。本文将从零开始,详细...

    368集前端开发从零开始到项目实战-网盘链接提取码下载 .txt

    课程数量达到300多集,同时课程通过合理的分布,将各个...课程从HTML基础开始教指导,到CSS的课程技术实践,对CSS下了非常大的功夫,还包括有前端项目实践,学习技术加项目练手,系统化让学习更有效率。 视频大小:12G

    从零开始学JAVA-WEB开发.

    这个“从零开始学JAVA-WEB开发”教程显然是为初学者设计的,旨在帮助他们逐步掌握这门技术。下面将详细阐述Java Web开发的基本概念和关键知识点。 1. **Java基础知识**:在学习Java Web之前,首先需要掌握Java编程...

    JSP+Servlet+Tomcat应用开发从零开始学修正版

    JSP+Servlet+Tomcat应用开发从零开始学 这本书给的源码项目很多功能不能实现,我基本上都实现了,唯一还没实现的是立即购买的问题,其实只需要在前端把那个控件不显示就行,数据库脚本也有,做完后我不敢独享,希望...

    从零基础到精通的前端学习路线.docx

    从零基础到精通的前端学习路线 在学习前端开发时,需要从基础开始一步步打造自己的技能树。首先,需要学习 HTML 和 CSS 基础知识,包括 HTML 的标签用法、排版技巧、CSS 的布局定位、样式美化、扫瞄器兼容性。然后...

    JavaScript从零开始学_源代码_codes

    "JavaScript从零开始学"是一套针对初学者的教程,旨在帮助完全不懂编程的人逐步掌握JavaScript的核心技术和实际应用。 首先,我们需要理解JavaScript的基础语法,包括变量声明(var、let、const)、数据类型(如...

    从零开始学JavaScript源码

    从零开始学习JavaScript,你需要掌握以下几个关键知识点: 1. **基础语法**:JavaScript的基础包括变量(var、let、const)、数据类型(原始类型:number、string、boolean、null、undefined、symbol;复杂类型:...

Global site tag (gtag.js) - Google Analytics