關(guān)于Web前端學(xué)習(xí)的必經(jīng)階段。正在從事Web前端學(xué)習(xí)的小伙伴們來和小伙伴們一起看一看吧。希望能夠?qū)Υ蠹矣兴鶐椭?/p>
“真誠服務(wù),讓網(wǎng)絡(luò)創(chuàng)造價(jià)值”是我們的服務(wù)理念,創(chuàng)新互聯(lián)團(tuán)隊(duì)十余年如一日始終堅(jiān)持在網(wǎng)站建設(shè)領(lǐng)域,為客戶提供優(yōu)質(zhì)服。不管你處于什么行業(yè),助你輕松跨入“互聯(lián)網(wǎng)+”時(shí)代,PC網(wǎng)站+手機(jī)網(wǎng)站+公眾號+微信小程序開發(fā)。
第一階段:
● HTML+CSS:
HTML進(jìn)階、CSS進(jìn)階、div+css布局、HTML+css整站開發(fā)、
● JavaScript基礎(chǔ):
Js基礎(chǔ)教程、js內(nèi)置對象常用方法、常見DOM樹操作大全、ECMAscript、DOM、BOM、定時(shí)器和焦點(diǎn)圖。
● JS基本特效:
常見特效、例如:tab、導(dǎo)航、整頁滾動(dòng)、輪播圖、JS制作幻燈片、彈出層、手風(fēng)琴菜單、瀑布流布局、滾動(dòng)事件、滾差視圖。
● JS高級特征:
正則表達(dá)式、排序算法、遞歸算法、閉包、函數(shù)節(jié)流、作用域鏈、基于距離運(yùn)動(dòng)框架、面向?qū)ο蠡A(chǔ)、
● JQuery:基礎(chǔ)使用
懸著器、DOM操作、特效和動(dòng)畫、方法鏈、拖拽、變形、JQueryUI組件基本使用。
第二階段:HTML5和移動(dòng)Web開發(fā)
● HTML5:
HTML5新語義標(biāo)簽、HTML5表單、音頻和視頻、離線和本地存儲(chǔ)、SVG、Web Socket、Canvas.
● CSS3:
CSS3新選擇器、偽元素、臉色表示法、邊框、陰影、background系列屬性改變、Transition、動(dòng)畫、景深和深透、3D效果制作、Velocity.js框架、元素進(jìn)場、出場策略、炫酷CSS3網(wǎng)頁制作。
● Bootstrap:
響應(yīng)式概念、媒體查詢、響應(yīng)式網(wǎng)站制作、刪格系統(tǒng)、刪格系統(tǒng)原理、Bootstrap常用模板、LESS和SASS。
● 移動(dòng)Web開發(fā):
跨終端WEB和主流設(shè)備簡介、視口、流式布局、彈性盒子、rem、移動(dòng)終端JavaScript事件、手機(jī)中常見JS效果制作、Zepto.js、手機(jī)聚劃算頁面、手機(jī)滾屏。
第三階段:HTTP服務(wù)和AJAX編程
● WEB服務(wù)器基礎(chǔ):
服務(wù)器基礎(chǔ)知識(shí)、Apache服務(wù)器和其他WEB服務(wù)器介紹、Apache服務(wù)器搭建、HTTP介紹。
● PHP基礎(chǔ):
PHP基礎(chǔ)語法、使用PHP處理簡單的GET或者POST請求、
● AJAX上篇:
Ajax簡介和異步的概念、Ajax框架的封裝、XMLHttpRequest對象詳細(xì)介紹方法、兼容性處理方法、Ajax框架的封裝、Ajax中緩存問題、XML介紹和使用。
● AJAX下篇:
JSON和JSON解析、數(shù)據(jù)綁定和模板技術(shù)、JSONP、跨域技術(shù)、圖片預(yù)讀取和lazy-load技術(shù)、JQuery框架中的AjaxAPI、使用Ajax實(shí)現(xiàn)瀑布流案例額。
第四階段:面向?qū)ο筮M(jìn)階
● 面向?qū)ο蠼K極篇:
從內(nèi)存角度到理解JS面向?qū)ο蟆⒒绢愋?、?fù)雜類型、原型鏈、ES6中的面向?qū)ο?、屬性讀寫權(quán)限、設(shè)置器、訪問器。
● 面向?qū)ο笕筇卣鳎?/p>
繼承性、多態(tài)性、封裝性、接口。
● 設(shè)計(jì)模式:
面向?qū)ο缶幊趟季S、單例模式、工廠模式、策略模式、觀察者模式、模板方法模式、代理模式、裝飾者模式、適配器模式、面向切面編程。
第五階段:封裝一個(gè)屬于自己的框架
● 框架封裝基礎(chǔ):
事件流、冒泡、捕獲、事件對象、事件框架、選擇框架。
● 框架封裝中級:
運(yùn)動(dòng)原理、單物體運(yùn)動(dòng)框架、多物體運(yùn)動(dòng)框架、運(yùn)動(dòng)框架面向?qū)ο蠓庋b。
● 框架封裝高級和補(bǔ)充:
JQuery框架雛形、可擴(kuò)展性、模塊化、封裝屬于傳智自己的框架。
第六階段:模塊化組件開發(fā)
● 面向組件編程:
面向組件編程的方式、面向組件編程的實(shí)現(xiàn)原理、面向組件編程實(shí)戰(zhàn)、基于組件化思想開發(fā)網(wǎng)站應(yīng)用程序。
● 面向模塊編程:
AMD設(shè)計(jì)規(guī)范、CMD設(shè)計(jì)規(guī)范、RequireJS,LoadJS、淘寶的SeaJS。
第七階段:主流的流行框架
● Web開發(fā)工作流:
GIT/SVN、Yeoman腳手架、NPM/Bower依賴管理工具、Grunt/Gulp/Webpack。
● MVC/MVVM/MVW框架:
Angular.js、Backbone.js、Knockout/Ember。
● 常用庫:
React.js、Vue.js、Zepto.js。
第八階段:HTML5原生移動(dòng)應(yīng)用開發(fā)
● Cordova:
WebApp/NativeApp/HybirdApp簡介、Cordova簡介、與PhoneGap之間的關(guān)系、開發(fā)環(huán)境搭建、Cordova實(shí)戰(zhàn)(創(chuàng)建項(xiàng)目,配置,編譯,調(diào)試,部署發(fā)布)。
● Ionic:
Ionic簡介和同類對比、模板項(xiàng)目解析、常見組件及使用、結(jié)合Angular構(gòu)建APP、常見效果(下拉刷新,上拉加載,側(cè)滑導(dǎo)航,選項(xiàng)卡)。
● React Native:
React Native簡介、React Native環(huán)境配置、創(chuàng)建項(xiàng)目,配置,編譯,調(diào)試,部署發(fā)布、原生模塊和UI組件、原生常用API。
● HTML5+:
HTML5+中國產(chǎn)業(yè)聯(lián)盟、HTML5 Plus Runtime環(huán)境、HBuilder開發(fā)工具、MUI框架、H5+開發(fā)和部署。
第九階段: Node.js全棧開發(fā)
● 快速入門:
Node.js發(fā)展、生態(tài)圈、Io.js、Linux/Windows/OS X環(huán)境配置、REPL環(huán)境和控制臺(tái)程序、異步編程,非阻塞I/O、模塊概念,模塊管理工具、開發(fā)流程,調(diào)試,測試。
● 核心模塊和對象:
全局對象global,process,console,util、事件驅(qū)動(dòng),事件發(fā)射器、加密解密,路徑操作,序列化和反序列化、文件流操作、HTTP服務(wù)端與客戶端、Socket.IO。
● Web開發(fā)基礎(chǔ):
HTTP協(xié)議,請求響應(yīng)處理過程、關(guān)系型數(shù)據(jù)庫操作和數(shù)據(jù)訪問、非關(guān)系型數(shù)據(jù)庫操作和數(shù)據(jù)訪問、原生的Node.js開發(fā)Web應(yīng)用程序、Web開發(fā)工作流、Node.js開發(fā)Blog案例。
● 快速開發(fā)框架:
Express簡介+MVC簡介、Express常用API、Express路由模塊、Jade/Ejs模板引擎、使用Express重構(gòu)Blog案例、Koa等其他常見MVC框架。
● Node.js開發(fā)電子商務(wù)實(shí)戰(zhàn):
需求與設(shè)計(jì)、賬戶模塊注冊登錄、會(huì)員中心模塊、前臺(tái)展示模塊、購物車,訂單結(jié)算、在線客服即時(shí)通訊模塊。
不需要轉(zhuǎn)換,在頁面中設(shè)置好之后,上傳文字或者圖片的時(shí)候,會(huì)自動(dòng)變成rem單位的
推薦你使用rem的單位來適配高度。
rem,應(yīng)該說讓各個(gè)開發(fā)者眼前一亮,rem雖然也是和字體相關(guān)的相對度量單位,但是,它要比em使用起來更方便,rem是相對于根元素的字體大小進(jìn)行設(shè)置的,如果html元素中的字體大小設(shè)置為24px,那么針對任意html內(nèi)的元素設(shè)置1rem,均表示的是24px,大大節(jié)省了我們計(jì)算字體大小的時(shí)間。(另外,當(dāng)rem能夠和JS去配合時(shí),能夠很好的解決移動(dòng)端的各種像素大小問題——JS獲取設(shè)備寬度,然后根據(jù)設(shè)備寬度調(diào)整html元素這個(gè)根元素的字體大小,在html元素中的所有元素,均使用rem相對度量單位)
rem的支持程度:IE9及以上所有瀏覽器,安卓2.1以上版本,iOS4.0以及以上版本的safari(換句話說,IE6-8不兼容)
移動(dòng)端開發(fā)知識(shí)[系列] - 處理rem的小數(shù)點(diǎn)問題 flexible.js
PC端用rem首先要用resize()函數(shù)把平常用的remjs包含起來,因?yàn)槭謾C(jī)屏幕寬度固定,而pc端可以改變?yōu)g覽器窗口大小。
另外pc端一般不用rem主要是對低版本瀏覽器的兼容性問題,比如從ie9才開始支持rem,但是只是部分支持。ie11才全部支持。
ie9,ie10部分支持,例如:rem用在偽元素和縮寫樣式上就不支持
HTML5 制作響應(yīng)式網(wǎng)頁,首先需要考慮是全平臺(tái)適配還是只是移動(dòng)端適配。這里以移動(dòng)端響應(yīng)式網(wǎng)站為例,講述如何制作響應(yīng)式網(wǎng)頁。
1、選定基本設(shè)計(jì)尺寸,一般以1080為基準(zhǔn)。確定響應(yīng)式web設(shè)計(jì)的應(yīng)用場景之后,和美工(或設(shè)計(jì)師)溝通,之前,一般需要美工出幾套主流移動(dòng)設(shè)備屏幕分辨率的設(shè)計(jì)圖,現(xiàn)在,使用流式布局以及rem等可以使用一套設(shè)計(jì)圖,以最常用的移動(dòng)設(shè)備屏幕分辨率為基準(zhǔn)。
2、當(dāng)美工完成設(shè)計(jì)圖之后,前端工程師的工作就開始了。這時(shí)你就可以使用PS或是FW進(jìn)行切圖了。一般說來,F(xiàn)ireworks cs6切圖更快,但是Fireworks有時(shí)會(huì)有圖片失真的情況發(fā)生,所以,有時(shí)需要使用PS進(jìn)行配合,PS有切片工具可以專門用來切圖。
具體代碼:
(function (doc, win) {
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function () {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';
};
分析設(shè)計(jì)圖
假設(shè)設(shè)計(jì)圖大小為1080px。這也就意味著,在開發(fā)時(shí),需要兼容的最大分辨率為1080px,最小的為320px。
2.?調(diào)整視口
代碼實(shí)例:
!DOCTYPE?html
head
meta?charset="UTF-8"?/
title布局之路-移動(dòng)端開發(fā)實(shí)例/title
meta?name="viewport"?content="width=device-width,user-scalable?=?no"?/
link?rel="stylesheet"?type="text/css"?href="css/reset.css"?/
/head
body
div?class="wrap"/div
/body
/html
代碼解析:由于使用不同設(shè)備打開網(wǎng)頁時(shí),寬度均有所不同,所以不能講視口設(shè)置為固定值,應(yīng)當(dāng)為width=device-width,即將視口設(shè)置為當(dāng)前設(shè)備的寬度。
3. 確定設(shè)計(jì)圖的最小字體
瀏覽器(部分)能夠顯示的最小字體未12px,當(dāng)移動(dòng)端頁面寬度為320px時(shí),要保證最小字體為12px,那么在1080px的設(shè)計(jì)圖中,最小字體應(yīng)當(dāng)為42px。
代碼實(shí)例:
style?type="text/css"
html?{
font-size:?42px;
}
/style
4. 按照設(shè)計(jì)圖的像素進(jìn)行開發(fā)
按照正常網(wǎng)頁開發(fā)流程,進(jìn)行網(wǎng)頁開發(fā)即可。
5. 使用百分比和rem替換px
代碼效果對比:
/*使用固定像素*/
.box?{
float:?left;
width:?658px;
font-size:?72px;
text-align:?center;
line-height:?195px;
}
/*使用百分比和rem*/
.box?{
float:?left;
width:?60.93%;
font-size:?1.71rem;
text-align:?center;
line-height:?4.64rem;
}
代碼解析:
水平方向的值,將具體像素調(diào)整為百分比。百分比的計(jì)算是根據(jù)父級的內(nèi)容區(qū)寬度進(jìn)行計(jì)算的。
例如,父級寬度為1080px, 子級元素為197px,那么子元素轉(zhuǎn)換為百分比為:197/1080*100%=18.24%。需要注意的是百分比根據(jù)父級計(jì)算,當(dāng)標(biāo)簽結(jié)構(gòu)級別不同時(shí),計(jì)算公式中的“分母”也有所不同,在開發(fā)時(shí)這個(gè)地方很容易出現(xiàn)問題,請務(wù)必注意。
垂直方向的值,將具體像素調(diào)整為rem,與水平方向相比,垂直方向的計(jì)算就比較簡單。例如,行高為195px,HTML標(biāo)簽當(dāng)前的字體大小為42px,將行高轉(zhuǎn)換為rem單位,即195/42= 4. 64rem。