web前端菜鸟如何升级到大神(转载)

标签:web前端

随着互联网的发展速度迅猛,web前端工程师越来越火热,想学习

Web前端开发

吗 ? 若想成为web前端工程师需要掌握哪些知识?今天小编总结了成为web前端工程师需要掌握的所有知识。

一、基础

1、H5标签

1.1、H5引进的一些新的标签,需要注意article、header、footer、aside、nav以及HTML的标题结构

1.2、理解浏览器解析HTML的过程,理解DOM的树形结构,及相应API

1.3、理解HTML标签在各个浏览器上的默认样式(代理样式),理解CSS中的重置样式表的概念

1.4、理解Canvas、SVG、video等功能性标签

1.5、理解form、iframe标签,理解文件提交过程

2、CSS知识

2.1、学习基础知识,包括大部分常用属性、选择器的用法,了解大多数标签基本概念

学习浏览器兼容性问题,知道兼容性的主要问题及解决方法

2.2、深入理解盒子模型,区分块级元素、行内元素,一些重要的属性: display、float、position,必须要会区分盒子、行内盒子的概念

还可以学一些简单的预编译语言:sass、less

2.3、学习常用框架,可以使用bootstrap构建项目

2.4、学习框架的代码组织方式

包括:12格栅系统、组件化、组件的风格化等

2.5、学习CSS 3的新功能,特别是动画效果、选择器

2.6、学习一些CSS对象化思想,学习编写简洁性、高复用性、高健壮性的CSS

2.7、可以看看扁平化设计,还有简洁性

2.8、理解CSSOM、render、reflow、CSS性能、CSS阻塞概念

学习方法:

多看别人的代码,优秀的设计网站

要学会使用grunt、gulp压缩CSS

display + position + float 可以组合出很复杂的效果,多练习盒子模型

尝试在不用float,且position不为absolute的情况下实现等高、等宽等布局

3、深入学习

javascript

3.1、重新学习JS语法,注意:表达式、语句、类型

主要倾向于“原生”JS哦,不要使用框架

3.2、深入理解JS的“一级函数”、对象、类的概念

学会使用函数来构造类、闭包,学会用面向对象的方式组织代码

3.3、深入理解JS的作用域、作用域链、this对象

理解函数的各种调用方法(call、apply、bind等)

3.4、理解对象、数组的概念

理解对象的“[]”调用,理解对象是一种“特殊数组”

理解for语句的用法

深入理解JS中原始值、包装对象的概念(重要)

3.5、学习一些常用框架的使用方法,包括:JQUERY、underscore、EXTJS,更高级的:backbone、angularjs、ejs、jade比较多个框架的使用方法,总结常见用法,提高学习速度学习模块化开发(使用require.js、sea.js等)

3.6、适当看一些著名框架的源码,比如jQuery重要的是学习框架中代码的组织形式,即设计模式

3.7、了解JS解释、运行过程,理解JS的单线程概念

深入理解JS事件、异步、阻塞概念

3.8、理解浏览器组成部件,理解V8的概念

学习V8的解释-运行过程

在V8基础上,学会如何提高JS性能

学会使用chrome的profile进行内存泄露分析

学习方法:

提高对自己的要求

多看优秀框架的源码,特别是框架的架构模式、设计模式

多学设计模式

学习原生JS、DOM、BOM、

Ajax

4、跨终端

理解混合APP的概念

理解网页在各类终端上的表现

理解网页与原生app的区同,重在约束

理解单页网站,特别要规避页面的内存泄露问题

入门nodejs,对其有个基础概念

5、工具

学会使用grunt进行JS、CSS、HTML 压缩,特别是模块化js开发时候的压缩

会用PS进行切图、保存icon

入手sublime、webstorm

学会使用chrome调试面板,特别是:console、network、profile、element

二、进阶:

1、性能

1.1、理解资源加载的过程

包括:TCP握手连接、HTTP请求报文、HTTP回复报文

1.2、理解资源加载的性能约束,包括:TCP连接限制、TCP慢启动

1.3、理解CSS文件、JS文件压缩,理解不同文件放在页面不同位置后对性能的影响

1.4、理解CDN加速

1.5、学会使用HTTP头控制资源缓存,理解cache-control、expire、max-age、ETag对缓存的影响

1.6、深入理解浏览器的render过程

2、http及TCP协议族

2.1、学习http协议,理解http请求-响应模式

2.2、理解http是应用层协议,它是构建在TCP/IP协议上的

2.3、理解http报文(请求-响应报文)

2.4、理解http代理、缓存、网关等概念,指定如何控制缓存

2.5、理解http协议内容,包括:状态码、http头、长连接(http1.1)

2.6、学习http服务器的工作模型,对静态文件、CGI、DHTML的处理流程有个大致概念

3、安全性

XSS、SQL注入

web前端升级之路的更多相关文章

  1. 一个「学渣」从零开始的Web前端自学之路

    从 13 年专科毕业开始,一路跌跌撞撞走了很多弯路,做过餐厅服务员,进过工厂干过流水线,做过客服,干过电话销售可以说经历相当的“丰富”. 最后的机缘巧合下,走上了前端开发之路,作为一个非计算机专业且低 ...

  2. jQuery延迟加载(懒加载)插件 – jquery.lazyload.js-Web前端(W3Cways.com) - Web前端学习之路

    Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...

  3. 我的web前端修炼之路从此开始

    看过一篇文章,上面说过要想学习一门新技术,从什么时候开始都是不晚的.但对于一名大四的学生,只会一点简单的网页架构,只懂得HTML,CSS,JavaScript简单的一点皮毛,却怎么也说不过去.但也是这 ...

  4. 我的web前端自学之路-心得篇:我为什么要学习web前端?

    时光如流水,转眼间,自己已经是大三的学长了,看着一个个学弟学妹,心中有种莫名的感觉,很怀念大学的前两年时光,但也很憧憬着自己的未来,自己将要去经历很多从未经历的事.我是我们学校信科院的一名学生,在编程 ...

  5. web前端学习之路

    test 随着自己对于web前端知识了解的越多,越来越发现自己真的好菜 一脸茫然阶段 两年前大学接触网页设计,那时对于网页设计一窍不通,只是看了一本自己大学编的一本入门教材,我甚至不知道那些网页设计的 ...

  6. web前端职业规划(转)

    关于一个WEB前端的职业规划,其实是有各种的答案,没有哪种答案是完全正确的,全凭自己的选择,只要是自己选定了, 坚持去认真走,就好.在这里,我只是简要说一下自己对于这块儿内容的理解.有一个观点想要分享 ...

  7. Web前端小白入门指迷

    前注:这篇文章首发于我自己创办的服务于校园的技术分享 [西邮 Upper -- 004]Web前端小白入门指迷,写得很用心也就发在这里. 大前端之旅 大前端有很多种,Shell 前端,客户端前端,Ap ...

  8. web前端职业规划

    关于一个WEB前端的职业规划,其实是有各种的答案,没有哪种答案是完全正确的,全凭自己的选择,只要是自己选定了, 坚持去认真走,就好.在这里,我只是简要说一下自己对于这块儿内容的理解.有一个观点想要分享 ...

  9. web前端开发前景怎么样?

    对于web前端开发,对现今前端的发展,中国的发展还很落后,中国没有Jquery,没有Node.js,其中最主要的一点是,中国的前端比较封锁,大家都没有分享的觉悟.回头看看,那些发展比较快的行业.软件, ...

随机推荐

  1. UVa 10405 & POJ 1458 Longest Common Subsequence

    求最长公共子序列LCS,用动态规划求解. UVa的字符串可能含有空格,开始用scanf("%s", s);就WA了一次...那就用gets吧,怪不得要一行放一个字符串呢. (本来想 ...

  2. PHP生成带有干扰线的验证码,干扰点、字符倾斜

    PHP生成验证码的类代码,本验证码类支持生成干扰点.干扰线等干扰像素,还可以使字符倾斜.在类中你可以定义验证码宽度.高度.长度.倾斜角度等参数,后附有用法: <?php class class_ ...

  3. Python3基础 闭包 简单示例

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...

  4. permutation test

  5. eQTL

    首先QTL是数量性状位点,比如身高是一个数量性状,其对应的控制基因的位点就是一个数量性状位点,而eQTL就是控制数量性状表达位点,即能控制数量性状基因(如身高基因)表达水平高低的那些基因的位点. 数量 ...

  6. angular指令中,require和transclude同时设置为true时的作用

    最近在学习angularJS指令的时候,对指令对象中require属性和transclude属性同时设置为true比较疑惑,于是自己动手测试一下具体差异 index.html: <simple& ...

  7. java发送邮件完整实例 java邮件工具类

    http://yuncode.net/code/c_552a2e2dc593894 package com.srie.mail; import java.util.Properties; import ...

  8. Spring MVC整合DWR

    http://blog.csdn.net/geloin/article/details/7537148 基本上与上文描述的情况一致: 在Controller中可以进行Service层的调用: 如果需要 ...

  9. 30万奖金!还带你奔赴加拿大相约KDD!?阿里聚安全算法挑战赛带你飞起!

    KDD(Knowledge Discovery and Data Mining,知识发现与数据挖掘)会议,作为数据挖掘届的顶会,一直是算法爱好者心中的圣地麦加. 想去?有点难. ​ 给你奖金和差旅赞助 ...

  10. CSS 文件的4种引入方式

    (1)链接式  : 在网页的<head></head>标签对中使用<link>标记来引入外部样式表文件,使用html规则引入外部css  (用得比较多) : < ...