版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2015-2016前端知識(shí)體系前端體系知識(shí)圖譜一、框架與組件bootstrap等UI框架設(shè)計(jì)與實(shí)現(xiàn)伸縮布局:grid網(wǎng)格布局基礎(chǔ)UI樣式:元素reset、按鈕、圖片、菜單、表單組件UI樣式:按鈕組、字體圖標(biāo)、下拉菜單、輸入框組、導(dǎo)航組、面包屑、分頁(yè)、標(biāo)簽、輪播、彈出框、列表、多媒體、警告響應(yīng)式布局:布局、結(jié)構(gòu)、樣式、媒體、javascript響應(yīng)式第三方插件:插件管理jQuery、zepto使用原理以及插件開發(fā)支持amd、cmd、全局變量的模塊化封裝$.fn.method = function()mvc/mvvm框架原理設(shè)計(jì),vue/angular/avalon等directive設(shè)計(jì):htm
2、l、text、class、html、attr、repeat、ref,可擴(kuò)展filter設(shè)計(jì):bool、upperCase、lowerCase,可擴(kuò)展表達(dá)式設(shè)計(jì):if-else等實(shí)現(xiàn)viewmodel結(jié)構(gòu)設(shè)計(jì):例如數(shù)據(jù),元素,方法的掛載與作用域數(shù)據(jù)更變檢測(cè):函數(shù)觸發(fā),臟數(shù)據(jù)檢測(cè)、對(duì)象hijackingpolymer/angular2思想與設(shè)計(jì)思路import技術(shù)template和script引入方式css樣式命名空間隔離簡(jiǎn)單復(fù)用第三方庫(kù)reactjs原理與使用virtual dom單向數(shù)據(jù)綁定js執(zhí)行語(yǔ)法方式UI由狀態(tài)控制commonJS/AMD/CMD模塊引入模塊定義模塊標(biāo)識(shí)UMD解決不同規(guī)范
3、兼容性的問(wèn)題,例如webpack封裝模塊懶執(zhí)行(CMD)與與預(yù)執(zhí)行(AMD)loadJs模塊化加載原理與實(shí)現(xiàn)創(chuàng)建script標(biāo)簽,需要id映射到資源urlonload加載模塊隊(duì)列判斷全部加載完成后觸發(fā)加載失敗問(wèn)題優(yōu)化requirejs、modjs、seajspolyfill、shim原理與實(shí)現(xiàn)polyfill提供了開發(fā)者們希望瀏覽器原生提供支持的功能特性shim將新的API引入到舊的環(huán)境中,且僅靠舊環(huán)境中已有的手段實(shí)現(xiàn)virtual Dom、Incremental DOM1.用js對(duì)象樹表示dom樹結(jié)構(gòu),根據(jù)該對(duì)象樹構(gòu)建dom樹2.狀態(tài)改變時(shí),重新構(gòu)建對(duì)象,和舊的對(duì)象對(duì)比,記錄兩個(gè)對(duì)象樹差異3
4、.將對(duì)象樹差異應(yīng)用到dom中小結(jié):js對(duì)象模擬dom(elem.js),virtual dom diff算法(diff.js)、差異渲染dom(patch.js)incremental dom在狀態(tài)改變時(shí)掃描舊對(duì)象樹將差異直接應(yīng)用到dom中shadow dom隔離外部環(huán)境用于封裝組件:結(jié)構(gòu)、樣式、行為實(shí)現(xiàn)形式:新標(biāo)簽、class類屬性 + 構(gòu)建編譯webwork與service Workerwebwork與主線程機(jī)制,on/postserviceworker可作為瀏覽器請(qǐng)求代理應(yīng)用場(chǎng)景ES6轉(zhuǎn)ES5、Babel與ES6開發(fā)規(guī)范體系ES6編碼規(guī)范全ES6在babel下兼容性ES6在node下兼容
5、性與性能ES6新特性:看編碼規(guī)范aurelia ES6前端框架Isomorphic JavaScript同構(gòu)原理同構(gòu)方案 Rendrnodejs: 服務(wù)器hapi: 應(yīng)用服務(wù)backbone.js: 后臺(tái)mvcrequirejs: 模塊加載jquery: dom處理reactjs同構(gòu):React + Flux + Koa雙向數(shù)據(jù)綁定函數(shù)觸發(fā):vuejs臟數(shù)據(jù)檢測(cè):angular對(duì)象hijacking:avalonbrowserify運(yùn)行原理1.從入口模塊開始分析require函數(shù)調(diào)用2.根據(jù)依賴生成AST3.根據(jù)AST找到每個(gè)模塊的模塊名4.得到每個(gè)模塊的依賴關(guān)系,生成一個(gè)依賴字典5.包裝每個(gè)
6、模塊(傳入依賴字典以及export和require函數(shù)),生成執(zhí)行的jsperformance timingperformance timing apiperformance timing 過(guò)程performance timing 性能計(jì)算performanceTrace庫(kù)組件UI與js組件規(guī)范化組件編碼規(guī)范組件目錄規(guī)范:組件目錄與公用目錄組件構(gòu)建規(guī)范:構(gòu)建環(huán)境支持組件模塊化管理:spm,bowserify組件復(fù)用性管理第三方組件接入成本immutable JavaScriptgenerator與promise原理與使用二、構(gòu)建生態(tài)grunt/gulp開發(fā)環(huán)境任務(wù)編寫文件處理插件:html、s
7、css、js、image、font、其它優(yōu)化插件:雪碧圖、圖片壓縮、iconfont構(gòu)建發(fā)布替換插件打包、壓縮包插件:組件自動(dòng)分析白名單配置自定義插件編寫npm、jspm、bower包管理工具r.js、browserify、webpack、webpack 2、Rollup打包工具使用原理:根據(jù)依賴配置文件對(duì)文件進(jìn)行依賴打包webpack支持更多的規(guī)范打包,AMD,Commonjswebpack+babel/reactjs+refluxfis3構(gòu)建與插件開發(fā)、構(gòu)建環(huán)境、fis3構(gòu)建離線包web Component:rosetta-org、x-view、Q、riot、novabrunch構(gòu)建工具三
8、、開發(fā)技巧與調(diào)試fiddler加willow基礎(chǔ)組合調(diào)試常見配置與分析結(jié)合瀏覽器調(diào)試werien、vorlonjs遠(yuǎn)程調(diào)試,chrome inspectmockjs,F(xiàn).M.S(Front Mock Server)模擬調(diào)試使用與cgi自動(dòng)調(diào)試macha/phantomjs/casperjs/karma測(cè)試自動(dòng)化任務(wù)使用自動(dòng)化UI測(cè)試,海豚node-supervior、node-inspector、karma開發(fā)發(fā)布系統(tǒng)流程sublime高效插件emmet工具使用、 sublimelinter、 babel snippets、 sublimeLint、 SassBeautify 、 emmet
9、快速編輯、 jsxlint、 SideBarEnhancements、 SnippetsMaker、 SublimeCodeIntel、 css snippets、 ColorPicker、 html/css/js Pretty、 SpinnetMacker、 DocBlockr、 MultiEditUtils、 javascript & node spinnet、 JavaScript & NodeJS Snippets、 jsLint、cssLint代碼自動(dòng)化檢查fecs四、html、css與重構(gòu)jpeg、webp、apng、bpg圖片編碼原理特點(diǎn)與優(yōu)劣勢(shì)適用場(chǎng)景iconf
10、ont使用與實(shí)現(xiàn)原理自動(dòng)打包構(gòu)建方法iconfont兼容性寫法fonthello、fontawesome、icomoon.io、線上工具頁(yè)面響應(yīng)式設(shè)計(jì)layout布局響應(yīng)式html結(jié)構(gòu)響應(yīng)式css樣式響應(yīng)式image媒體響應(yīng)式j(luò)avascript響應(yīng)式media query與平臺(tái)判斷css重置resetnomalizeneatsass/compass/less/postcss常用語(yǔ)法與使用常用語(yǔ)法功能組件化UI設(shè)計(jì)管理構(gòu)建工具實(shí)現(xiàn)方案雪碧圖自動(dòng)合成iconfont自動(dòng)接入等等media query與常見頁(yè)面尺寸了解媒體類型引入和媒體特性引入device-width適應(yīng)retina屏幕適應(yīng)em,
11、rem原理與實(shí)現(xiàn)rem計(jì)算:width*retina/10,相當(dāng)于屏幕寬度為10rem字體在rem情況下仍然使用pxcode4ui、code4app、初頁(yè)、maka等前端dom操作即使刷新前端頁(yè)面根據(jù)dom操作生成組件config配置保存到db根據(jù)config配置使用r.js或webpack打包發(fā)布打包后輸出文件css3動(dòng)畫transformanimationtransiction3D加速與動(dòng)畫加速動(dòng)畫庫(kù)緩動(dòng)函數(shù)速查表: Ceaser: cubic-bezier:http:/cubic-css網(wǎng)格布局susyResponsive Grid SystemFluid 960 Grid(adaptj
12、s)Simple Grid搜索引擎與前端SEOtdk優(yōu)化頁(yè)面內(nèi)容優(yōu)化唯一的H1標(biāo)題img設(shè)置alt屬性nofollowurl優(yōu)化統(tǒng)一鏈接301跳轉(zhuǎn)canonicalrobot優(yōu)化robots.txtmeta robotssitemapSEO工具各種站長(zhǎng)工具等瀏覽器緩存種類,resources,webSQL,indexDB, localstorage,cookie,app cache,cache storagestore.js、cookie.jsUI框架bootstrap、jqwidgets、semantic ui、amaze ui微信手Q ui: frozenui、weui、blend uie
13、xtjs、echart圖表ui五、native/hybrid/桌面開發(fā)ionic移動(dòng)開發(fā)方案運(yùn)行架構(gòu)hybrid混合開發(fā)cordova交互離線包更新性能瓶頸nativescript移動(dòng)開發(fā)方案react Native移動(dòng)開發(fā)方案運(yùn)行架構(gòu):js引擎性能缺陷與內(nèi)存泄露更新機(jī)制使用場(chǎng)景android/ios原生開發(fā)與框架javaoc、swiftweb與native交互屏幕旋轉(zhuǎn)搖一搖錄像,拍照,選取本地圖片打電話,發(fā)短信電池電量地理位置日期選擇開啟硬件加速桌面應(yīng)用開發(fā)nodewebkitatom-shell(后改名為electron)網(wǎng)易Hex pomelo(游戲服務(wù)器框架)react desktop
14、appjs:六、前端/H5優(yōu)化(另一個(gè)圖已給出)yslow、pagespeed移動(dòng)web性能優(yōu)化手機(jī)瀏覽器"省流量"原理增量更新原理及注意事項(xiàng)本地存儲(chǔ)的應(yīng)用加載優(yōu)化圖片優(yōu)化單頁(yè)面及路由實(shí)現(xiàn)業(yè)內(nèi)著名站點(diǎn)案例分析七、全棧/全端開發(fā)express/node club + mongodb、thinkjs等框架node.js直出實(shí)時(shí)web開發(fā),meteor/express.ioMEAN(mongodb/express/angular/nodejs)http與http2協(xié)議、bigpipe、pipeline離線緩存,cookie、localstorage、indexdbcdn與dns動(dòng)
15、態(tài)域名加速cdn原理與cdn combo八、研究實(shí)驗(yàn)WebAssembly、webTRC、typescriptMaterial design規(guī)范的前端框架交互動(dòng)效庫(kù)AMP-HTML規(guī)范使用受限HTML以及緩存技術(shù)來(lái)提高移動(dòng)網(wǎng)絡(luò)中靜態(tài)內(nèi)容的性能添加自定義的元素代替禁用掉的元素:amp-audio, amp-img、amp-video等九、數(shù)據(jù)分析與監(jiān)控badjs數(shù)據(jù)上報(bào)捕獲錯(cuò)誤兩種方法:onerror、try-catch。抽樣上報(bào),先onerror統(tǒng)計(jì)語(yǔ)法錯(cuò)誤,如果是script error,再使用tryjs。后臺(tái)統(tǒng)計(jì)方法、不同業(yè)務(wù)接入體系、抽樣統(tǒng)計(jì)onerror:可以捕捉語(yǔ)法錯(cuò)誤和運(yùn)行時(shí)錯(cuò)誤;可以拿到出錯(cuò)的信息,堆棧,出錯(cuò)文件、行號(hào)、列號(hào);當(dāng)前頁(yè)面執(zhí)行的js腳本出錯(cuò)都會(huì)捕捉到;跨域的資源需要特殊頭部支持。try-catch:無(wú)法捕捉語(yǔ)法錯(cuò)誤,只能捕捉運(yùn)行時(shí)錯(cuò)誤;可以拿到出錯(cuò)的信息,堆棧,出錯(cuò)文件、行號(hào)、列號(hào);需要借助工具把function塊以及文件塊加入try,catch,可以在這個(gè)階段打入更多的靜態(tài)信息。點(diǎn)擊熱力圖clickHeat、heatMapjs加載失敗優(yōu)化方案失敗重發(fā)機(jī)制加載源域名服
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版借款墊資風(fēng)險(xiǎn)控制合作協(xié)議范本3篇
- 2025年度智能電網(wǎng)項(xiàng)目可研咨詢服務(wù)協(xié)議正范文本3篇
- 學(xué)校化糞池維修工程協(xié)議
- 2025版文化旅游項(xiàng)目建議書編制及運(yùn)營(yíng)管理合同3篇
- 徒步班組施工合同
- 保險(xiǎn)服務(wù)標(biāo)準(zhǔn)化管理辦法
- 通信設(shè)備招投標(biāo)法規(guī)解析
- 電子產(chǎn)品采購(gòu)招投標(biāo)改進(jìn)策略
- 商業(yè)廣場(chǎng)施工合作協(xié)議
- 2025年度模具行業(yè)模具設(shè)計(jì)與制造質(zhì)量認(rèn)證合同3篇
- 豬場(chǎng)配懷工作安排方案設(shè)計(jì)
- GB/T 2-2016緊固件外螺紋零件末端
- GB/T 12467.5-2009金屬材料熔焊質(zhì)量要求第5部分:滿足質(zhì)量要求應(yīng)依據(jù)的標(biāo)準(zhǔn)文件
- GB 17740-1999地震震級(jí)的規(guī)定
- 安全生產(chǎn)事故舉報(bào)獎(jiǎng)勵(lì)制度
- 冠心病健康教育完整版課件
- 永久避難硐室安裝施工組織措施
- 元旦節(jié)前安全教育培訓(xùn)-教學(xué)課件
- 國(guó)家開放大學(xué)《理工英語(yǔ)1》單元自測(cè)8試題答案
- 芯片工藝流程課件1
- 人教版八年級(jí)下冊(cè)生物期末測(cè)試卷帶答案
評(píng)論
0/150
提交評(píng)論