我对前端开发的认识
? ? 很多人認(rèn)為前端開(kāi)發(fā)就是css/html/javascript. 門(mén)檻低,好上手,頁(yè)面的渲染又是“所見(jiàn)即所得”,很容易引起人學(xué)習(xí)的興趣。其實(shí)不然,前端開(kāi)發(fā)知識(shí)面涉及很廣,需要學(xué)習(xí)的知識(shí)也是很多,下面就從我認(rèn)識(shí)的角度來(lái)談?wù)剬?duì)前端開(kāi)發(fā)所應(yīng)掌握知識(shí)的理解。(不喜勿噴!!~~~^_^ ~~~)
? ? 前端的核心也是就css/html/javascript.下面要說(shuō)的也都是其各個(gè)部分的擴(kuò)展。先從html講起吧,它就是一個(gè)頁(yè)面的框架,(就像人類(lèi)的骨骼似的!)沒(méi)有他,頁(yè)面撐不起來(lái)。HTML有很多個(gè)標(biāo)簽組成,其中HTML5新增了Canvas , SVG , Flex布局等標(biāo)簽。讓其變得更為健壯。css就是給頁(yè)面增加一些樣式,動(dòng)畫(huà)等。其中css3的transform、transition、animate、border-radius、boxing-shadow、rgba的透明度opacity等屬性使樣式更加豐富。具有預(yù)編譯功能的Less、Sass、Stylus更是讓css具有了變量、函數(shù)、繼承、運(yùn)算等能力。目前比較火的是Sass+Compass.再來(lái)說(shuō)說(shuō)JavaScript,這個(gè)可以說(shuō)是前端開(kāi)發(fā)的重中之重,基礎(chǔ)一定要打牢。再就是基于JavaScript的眾多框架,一定要掌握的那就是jQuery了,最好有過(guò)讀this的源碼的經(jīng)歷,而且是要讀懂呢,這樣再學(xué)起其他JS的框架也就會(huì)得心應(yīng)手了,像基于MVVM開(kāi)發(fā)的Angular.js(現(xiàn)被Google收購(gòu))及Vue.js,最好是有過(guò)了解,尤其是雙向數(shù)據(jù)綁定。當(dāng)然比較火的React.js(Facebook公司發(fā)布的)也是要了解的,尤其是使用React Native的移動(dòng)端開(kāi)發(fā)及Hybrid App混合式開(kāi)發(fā)和移動(dòng)端開(kāi)發(fā)的Cordova(前身是PhoneGap,現(xiàn)被Adobe收購(gòu))。還有自適應(yīng)布局的Bootstrap(Twitter公司發(fā)布的)。基于Underscore的Backbone.js。以及AMD規(guī)范的Require.js和CMD規(guī)范的Commen.js,Sea.js(淘寶開(kāi)發(fā)的)就是基于CMD規(guī)范的,這些自然都是開(kāi)源的,模塊化開(kāi)發(fā)的。雅虎軍規(guī)也是要了解的,光聽(tīng)名字就知道他的重要性了。
? ? 運(yùn)行在服務(wù)器端,處理高并發(fā)的Node.js,使得前端開(kāi)發(fā)邁向了后端服務(wù)器開(kāi)發(fā)平臺(tái),this有兩個(gè)框架是非常重要的,一個(gè)是express,一個(gè)是Koa;express有四大函數(shù)application(app)、request(req)、response(res)和router(路由),express框架主要是可以在node.js平臺(tái)上做博客,網(wǎng)站等。
? ? 再說(shuō)說(shuō)就是前端開(kāi)發(fā)的周邊學(xué)習(xí),設(shè)計(jì)模式是要掌握的,Redis和Memcached都是內(nèi)存緩存機(jī)制。非關(guān)系型數(shù)據(jù)庫(kù)Mongodb 。HTTP通信協(xié)議,屬于應(yīng)用層,知道一個(gè)頁(yè)面從輸入域名到渲染解析成頁(yè)面的過(guò)程,DNS;TCP協(xié)議,屬于傳輸層,面向連接,三次握手;UDP協(xié)議,面向非連接;IP協(xié)議,屬于網(wǎng)絡(luò)層;各個(gè)層級(jí)之間的關(guān)系。數(shù)據(jù)結(jié)構(gòu)方面的知識(shí),快速排序,冒泡排序等,它們的時(shí)間復(fù)雜度,基本思想等;二叉樹(shù)的遍歷等。Git、SVN版本控制系統(tǒng)工具需要掌握。Github代碼托管平臺(tái)。Grunt、Glup、Webpack、Fis等代碼構(gòu)建工具的使用。Linux命令行的使用包括Shell及Bash。
? ? 還要掌握的就是瀏覽器(Chrome、Firefox、IE)的調(diào)試工具,以及這些瀏覽器的插件的使用。去了解下面向?qū)ο蟮闹R(shí)(封裝,繼承,多態(tài))。
? ? 寫(xiě)的太過(guò)倉(cāng)促,湊合看吧,日后再補(bǔ)!!~_~
---高騰龍于杭電研究生公寓
2016年6月21日
轉(zhuǎn)載于:https://www.cnblogs.com/gaotenglong/p/5661531.html
總結(jié)
- 上一篇: C/C++宏定义中#与##区别 .
- 下一篇: 未能正确加载“Microsoft.Vis