前端知识体系解析_第1页
前端知识体系解析_第2页
前端知识体系解析_第3页
前端知识体系解析_第4页
前端知识体系解析_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2015-2016前端知识体系前端体系知识图谱V,, k.:it* 宅、喜!#MH3¥A*l1|4rW屯!TjlhJilflYd -ll射*申山"I >iiiriM?- "WL-" _t-rtJt-S 'F 5.B、M Jli.r .;!ULE U - - U' A" HJi V I 1<HW卩_'空兰'i.B#r IINrl- 1LlipHan! -s aa. T .mm q F Ml'HI1 tfwwiXItiiUf *Minlljt J-f , ;j= ” hib 1、框架与组件boot

2、strap 等 UI 框架设计与实现伸缩布局: grid 网格布局基础UI样式:元素reset、按钮、图片、菜单、表单组件 UI 样式:按钮组、字体图标、下拉菜单、输入框组、导航组、面包屑、分 页、标签、轮播、弹出框、列表、多媒体、警告响应式布局:布局、结构、样式、媒体、javascript响应式 第三方插件:插件管理jQuery 、zepto 使用原理以及插件开发 支持amd、cmd、全局变量的模块化圭寸装 $.fn.method = function() mvc/mvvm 框架原理设计, vue/angular/avalon 等directive 设计:html、text、class ht

3、ml、attr、repeat、ref, 可扩展 filter 设计:bool、uppercase lowerCase,可扩展表达式设计: if-else 等实现viewmodel 结构设计:例如数据,元素,方法的挂载与作用域 数据更变检测:函数触发,脏数据检测、对象 hijacking polymer/angular2 思想与设计思路import 技术template 和 script 引入方式css样式命名空间隔离简单复用第三方库 reactjs 原理与使用 virtual dom 单向数据绑定js 执行语法方式UI 由状态控制commonJS/AMD/CMD模块引入模块定义模块标识UMD

4、解决不同规范兼容性的问题,例如 webpack 圭装模块懒执行(CMD与与预执行(AMD)loadJs模块化加载原理与实现创建 script 标签,需要 id 映射到资源 url onload 加载模块队列判断全部加载完成后触发加载失败问题优化 requirejs、modjs、seajs polyfill 、shim 原理与实现 polyfill 提供了开发者们希望浏览器原生提供支持的功能特性 shim将新的API引入到旧的环境中,且仅靠旧环境中已有的手段实现 virtual Dom 、 Incremental DOM1. 用 js 对象树表示 dom 树结构,根据该对象树构建 dom 树2.

5、 状态改变时,重新构建对象,和旧的对象对比,记录两个对象树差异3. 将对象树差异应用到 dom 中小结:js对象模拟 dom(elem.js),virtual dom diff 算法(diff.js)、差异渲染 dom(patch.js) incremental dom 在状态改变时扫描旧对象树将差异直接应用到 dom 中 shadow dom隔离外部环境用于封装组件:结构、样式、行为 实现形式:新标签、class类属性+构建编译 webwork 与 service Worker webwork 与主线程机制, on/post serviceworker 可作为浏览器请求代理应用场景ES6转E

6、S5 Babel与ES6开发规范体系ES6编码规范全ES6在 babel下兼容性ES6在 node下兼容性与性能ES6新特性:看编码规范aurelia ES6前端框架Isomorphic JavaScript同构原理同构方案 Rendrnodejs: 服务器hapi: 应用服务backbone.js: 后台 mvc requirejs: 模块加载 jquery: dom 处理 reactjs 同构:React + Flux + Koa双向数据绑定函数触发 :vuejs 脏数据检测 :angular 对象 hijacking:avalonbrowserify 运行原理1.从入口模块开始分析 re

7、quire 函数调用2.根据依赖生成 AST3. 根据AST找到每个模块的模块名4. 得到每个模块的依赖关系,生成一个依赖字典5. 包装每个模块(传入依赖字典以及 export 和 require 函数),生成执行的 jsperformance timingperformance timing apiperformance timing 过程performance timing 性能计算performa nceTrace 库组件 UI 与 js 组件规范化组件编码规范 组件目录规范:组件目录与公用目录 组件构建规范:构建环境支持 组件模块化管理: spm,bowserify 组件复用性管理第三

8、方组件接入成本 immutable JavaScript generator 与 promise 原理与使用二、构建生态grunt/gulp 开发环境任务编写 文件处理插件: html、scss、js、image、font 、其它 优化插件:雪碧图、图片压缩、 iconfont 构建 发布替换插件打包、压缩包插件:组件自动分析白名单配置 自定义插件编写 npm、 jspm、 bower 包管理工具r.js、 browserify 、 webpack、webpack 2、Rollup 打包工具使用原理:根据依赖配置文件对文件进行依赖打包webpack支持更多的规范打包, AMD,Commonjs

9、 webpack+babel/reactjs+refluxfis3 构建与插件开发、构建环境、 fis3 构建离线包web Component : rosetta-org 、 x-view、 Q、riot 、nova brunch 构建工具三、开发技巧与调试fiddler 加 willow 基础组合调试常见配置与分析结合浏览器调试werien 、vorlonjs 远程调试, chrome inspectmockjs, F.M.S(Front Mock Server模拟调试使用与 cgi 自动调试macha/phantomjs/casperjs/karma 测试自动化任务使用自动化 UI 测试,

10、海豚node-supervior、 node-inspector、karma开发发布系统流程sublime 高效插件emmet 工具使用、 sublimelinter 、 babel snippets、 sublimeLint、 SassBeautify 、 emmet 快 速 编 辑 、 jsxlint 、 SideBarEnhancements、 SnippetsMaker 、 SublimeCodeIntel、 css snippets、 ColorPicker、 html/css/js Pretty 、 SpinnetMacker、 DocBlockr、 MultiEditUtils

11、、 javascript & node spinnet、 JavaScript & NodeJS Snippets、 jsLint、cssLint代码自动化检查 fecs四、html、css与重构jpeg、 webp、 apng、 bpg 图片编码原理 特点与优劣势适用场景iconfont 使用与实现原理自动打包构建方法iconfont 兼容性写法fonthello 、fontawesome、icomoon.io、 线上工具页面响应式设计layout 布局响应式html 结构响应式 css样式响应式 image 媒体响应式 javascript 响应式 media query

12、与平台判断css重置reset nomalize neatsass/compass/less/postcss 常用语法与使用常用语法功能 组件化 UI 设计管理 构建工具实现方案 雪碧图自动合成 iconfont 自动接入等等media query 与常见页面尺寸了解 媒体类型引入和媒体特性引入 device-width 适应 retina 屏幕适应em,rem 原理与实现rem 计算: width*retina/10 ,相当于屏幕宽度为 10rem 字体在 rem 情况下仍然使用 pxcode4ui、code4app、初页、maka 等前端 dom 操作即使刷新前端页面根据 dom 操作生成

13、组件 config 配置保存到 db根据config配置使用r.js或webpack打包 发布打包后输出文件css3动画transform animation transiction3D加速与动画加速动画库缓动函数速查表: Ceaser: cubic-bezier:http:/cubic-css网格布局susyResponsive Grid SystemFluid 960 Grid(adaptjs)Simple Grid搜索引擎与前端 SEOtdk 优化 页面内容优化 唯一的 H1 标题 img 设置 alt 属性 nofollow url 优化 统一链接 301 跳转 canonical r

14、obot 优化 robots.txt meta robots sitemapSEO工具各种站长工具等浏览器缓存种类, resources,webSQL,indexDB, localstorage,cookie,app cache,cache storagestore.js、cookie.jsUI 框架bootstrap、 jqwidgets、semantic ui、 amaze ui 微信手 Q ui: frozenui、weui 、blend ui extjs、echart 图表 ui五、 native/hybrid/ 桌面开发ionic 移动开发方案运行架构 hybrid 混合开发 cor

15、dova 交互 离线包更新 性能瓶颈nativescript 移动开发方案react Native 移动开发方案运行架构: js 引擎 性能缺陷与内存泄露 更新机制 使用场景android/ios 原生开发与框架 java oc、swift web 与 native 交互 屏幕旋转 摇一摇录像,拍照,选取本地图片 打电话,发短信 电池电量 地理位置 日期选择 开启硬件加速桌面应用开发nodewebkitatom-shell(后改名为 electron) 网易 Hexpomelo(游戏服务器框架) react desktop appjs:六、前端 /H5 优化 (另一个图已给出 ) yslow、

16、pagespeed 移动 web 性能优化 手机浏览器 "省流量 "原理 增量更新原理及注意事项 本地存储的应用 加载优化 图片优化 单页面及路由实现 业内著名站点案例分析七、全栈 /全端开发express/node club + mongodb、 thinkjs 等框架 node.js 直出实时 web 开发, meteor/express.io MEAN(mongodb/express/angular/nodejs) http 与 http2 协议、 bigpipe、 pipeline 离线缓存, cookie、 localstorage、 indexdb cdn 与

17、dns 动态域名加速cdn 原理与 cdn combo八、研究实验WebAssembly、webTRC、typescriptMaterial design 规范的前端框架交互动效库AMP-HTML 规范使用受限 HTML 以及缓存技术来提高移动网络中静态内容的性能 添加自定义的元素代替禁用掉的元素: amp-audio, amp-img、amp-video 等九、数据分析与监控badjs 数据上报捕获错误两种方法:onerror、try-catch。抽样上报,先on error统计语法错误, 女口果是 script error,再使用 tryjs。后台统计方法、不同业务接入体系、抽样统计onerror: 可以捕捉语法错误和运行时错误;可以拿到出错的信息,堆栈,出错文 件、行号、列号;当前页面执行的 js 脚本出错都会捕捉到;跨域的资源需要特 殊头部支持。try-catch:无法捕捉语法错误,只能捕捉运行时错误;可以拿到出错的信息,堆栈, 出错文件、行号、列号;需要借助工具把 function 块以及文件块加入 try,catch, 可以在这个阶段打入更多的静态信息。点击热力图 clickHeat、heatMapjs 加载失败优化方案失败重发机制加载源

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论