概述:
有些日子沒有正襟危坐寫博客了,互聯(lián)網(wǎng)飛速發(fā)展的時代安拟,技術(shù)更新迭代的速度也在加快蛤吓。看著Java糠赦、Js会傲、Swift在各領(lǐng)域心花路放,也是煞是羨慕拙泽。尋了尋.net的消息淌山,也是振奮人心,.net core 1顾瞻,mono泼疑,xamarin等等,但大多都還在狂吼的階段荷荤。其實(shí)一直以來對技術(shù)的理解是技術(shù)服務(wù)于業(yè)務(wù)和產(chǎn)品退渗,產(chǎn)品又在不同程度的推進(jìn)著技術(shù)的演進(jìn)。
Web蕴纳、無線会油、物聯(lián)網(wǎng)、VR古毛、PC從不同方向推進(jìn)著技術(shù)的融合與微創(chuàng)新钞啸。程序員在不同業(yè)務(wù)場景下的角色互換。而隨著node.js的出現(xiàn)語言的角色也在發(fā)生著轉(zhuǎn)變喇潘,Js扮演了越來越重要的角色体斩。也就有了茶余飯后也把了解到的知識整理一下∮钡停看過“你的知識需要管理”后絮吵,強(qiáng)烈的意識到雜亂且范范的知識儲備遠(yuǎn)不如整理后條理清晰的知識帶來好處多。所以忱屑,是的蹬敲,我們需要時不時的回來對掌握的知識梳理歸類暇昂,以備不時之需。
一伴嗡、前端框架庫:
1.Zepto.js
地址:http://www.css88.com/doc/zeptojs/
描述:Zepto是一個輕量級的針對現(xiàn)代高級瀏覽器的JavaScript庫急波, 它與jquery有著類似的api。 如果你會用jquery瘪校,那么你也會用zepto澄暮。關(guān)于Zepto認(rèn)知我也是通過與一位騰訊朋友聊天的時候知道的,只作了些基礎(chǔ)的了解阱扬。
2.SUI Mobile
描述:SUI Mobile 是一套基于 [Framework7]
(http://framework7.taobao.org/) 開發(fā)的UI庫泣懊。它非常輕量、精美麻惶,只需要引入我們的CDN文件就可以使用馍刮,并且能兼容到 iOS 6.0+ 和 Android 4.0+,非常適合開發(fā)跨平臺Web App。
用途:你也看到了,他是用于無線端的Web App的開發(fā)腔丧。
3.Node.Js
地址:http://www.runoob.com/nodejs/nodejs-tutorial.html (中文網(wǎng))
描述:Node.js是一個Javascript運(yùn)行環(huán)境(runtime)。實(shí)際上它是對Google V8引擎進(jìn)行了封裝匈辱。V8引 擎執(zhí)行Javascript的速度非常快惠奸,性能非常好。Node.js對一些特殊用例進(jìn)行了優(yōu)化恰梢,提供了替代的API佛南,使得V8在非瀏覽器環(huán)境下運(yùn)行得更好。
Node.js是一個基于Chrome JavaScript運(yùn)行時建立的平臺嵌言, 用于方便地搭建響應(yīng)速度快嗅回、易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用。Node.js 使用事件驅(qū)動摧茴, 非阻塞I/O 模型而得以輕量和高效绵载,非常適合在分布式設(shè)備上運(yùn)行數(shù)據(jù)密集型的實(shí)時應(yīng)用。
簡單的說 Node.js 就是運(yùn)行在服務(wù)端的 JavaScript苛白。
Node.js 是一個基于Chrome JavaScript 運(yùn)行時建立的一個平臺娃豹。
Node.js是一個事件驅(qū)動I/O服務(wù)端JavaScript環(huán)境,基于Google的V8引擎购裙,V8引擎執(zhí)行Javascript的速度非扯妫快,性能非常好躏率。
用途:
1. RESTful API
這是NodeJS最理想的應(yīng)用場景躯畴,可以處理數(shù)萬條連接民鼓,本身沒有太多的邏輯,只需要請求API蓬抄,組織數(shù)據(jù)進(jìn)行返回即可丰嘉。它本質(zhì)上只是從某個數(shù)據(jù)庫中查找一些值并將它們組成一個響應(yīng)。由于響應(yīng)是少量文本嚷缭,入站請求也是少量的文本饮亏,因此流量不高,一臺機(jī)器甚至也可以處理最繁忙的公司的API需求峭状。
2. 統(tǒng)一Web應(yīng)用的UI層
目前MVC的架構(gòu)克滴,在某種意義上來說,Web開發(fā)有兩個UI層优床,一個是在瀏覽器里面我們最終看到的劝赔,另一個在server端,負(fù)責(zé)生成和拼接頁面胆敞。
不討論這種架構(gòu)是好是壞着帽,但是有另外一種實(shí)踐,面向服務(wù)的架構(gòu)移层,更好的做前后端的依賴分離仍翰。如果所有的關(guān)鍵業(yè)務(wù)邏輯都封裝成REST調(diào)用,就意味著在上層只需要考慮如何用這些REST接口構(gòu)建具體的應(yīng)用观话。那些后端程序員們根本不操心具體數(shù)據(jù)是如何從一個頁面?zhèn)鬟f到另一個頁面的予借,他們也不用管用戶數(shù)據(jù)更新是通過Ajax異步獲取的還是通過刷新頁面。
3. 大量Ajax請求的應(yīng)用
例如個性化應(yīng)用频蛔,每個用戶看到的頁面都不一樣灵迫,緩存失效,需要在頁面加載的時候發(fā)起Ajax請求晦溪,NodeJS能響應(yīng)大量的并發(fā)請求瀑粥。 總而言之三圆,NodeJS適合運(yùn)用在高并發(fā)狞换、I/O密集、少量業(yè)務(wù)邏輯的場景舟肉。
(web前端學(xué)習(xí)交流群:328058344 禁止閑聊修噪,非喜勿進(jìn)!)
4.angular.Js
地址:http://www.runoob.com/angularjs/angularjs-tutorial.html (中文網(wǎng))
描述:AngularJS[1] 誕生于2009年路媚,由Misko Hevery 等人創(chuàng)建割按,后為Google所收購。是一款優(yōu)秀的前端JS框架磷籍,已經(jīng)被用于Google的多款產(chǎn)品當(dāng)中适荣。AngularJS有著諸多特性现柠,最為核心的是:MVVM、模塊化弛矛、自動化雙向數(shù)據(jù)綁定够吩、語義化標(biāo)簽、依賴注入等等丈氓。
用途:通過描述我們應(yīng)該就能很好的明白AngularJS的真實(shí)用途了周循,MVVM,模塊化万俗,自動化雙向數(shù)據(jù)綁定等等湾笛。除了簡單的dom操作外,更能體現(xiàn)Js編程的強(qiáng)大闰歪。當(dāng)然應(yīng)用應(yīng)該視場合而定嚎研。
5.JQuery Mobile
地址:http://www.w3school.com.cn/jquerymobile/ (中文網(wǎng))
描述:Query Mobile是jQuery 在手機(jī)上和平板設(shè)備上的版本。jQuery Mobile 不僅會給主流移動平臺帶來jQuery核心庫库倘,而且會發(fā)布一個完整統(tǒng)一的jQuery移動UI框架临扮。支持全球主流的移動平臺。jQuery Mobile開發(fā)團(tuán)隊(duì)說:能開發(fā)這個項(xiàng)目教翩,我們非常興奮杆勇。移動Web太需要一個跨瀏覽器的框架,讓開發(fā)人員開發(fā)出真正的移動Web網(wǎng)站饱亿。
用途:jQuery Mobile 是創(chuàng)建移動 web 應(yīng)用程序的框架蚜退。
jQuery Mobile 適用于所有流行的智能手機(jī)和平板電腦。
jQuery Mobile 使用 HTML5 和 CSS3 通過盡可能少的腳本對頁面進(jìn)行布局彪笼。
6.requirejs
描述:RequireJS的目標(biāo)是鼓勵代碼的模塊化钻注,它使用了不同于傳統(tǒng)<script>標(biāo)簽的腳本加載步驟〗苌ǎ可以用它來加速队寇、優(yōu)化代碼膘掰,但其主要目的還是為了代碼的模塊化章姓。它鼓勵在使用腳本時以module ID替代URL地址。
RequireJS以一個相對于baseUrl的地址來加載所有的代碼识埋。 頁面頂層<script>標(biāo)簽含有一個特殊的屬性data-main凡伊,require.js使用它來啟動腳本加載過程,而baseUrl一般設(shè)置到與該屬性相一致的目錄窒舟。
用途:模塊化動態(tài)加載系忙。
7.Vue.js
描述:Vue.js 是用于構(gòu)建交互式的 Web 界面的庫。它提供了 MVVM 數(shù)據(jù)綁定和一個可組合的組件系統(tǒng)惠豺,具有簡單银还、靈活的 API风宁。從技術(shù)上講, Vue.js 集中在 MVVM 模式上的視圖模型層蛹疯,并通過雙向數(shù)據(jù)綁定連接視圖和模型戒财。實(shí)際的 DOM 操作和輸出格式被抽象出來成指令和過濾器。相比其它的 MVVM 框架捺弦,Vue.js 更容易上手饮寞。
8.backbone.js
地址:http://www.css88.com/doc/backbone/
描述:Backbone 為復(fù)雜Javascript應(yīng)用程序提供模型(models)、集合(collections)列吼、視圖(views)的結(jié)構(gòu)幽崩。其中模型用于綁定鍵值數(shù)據(jù)和自定義事件;集合附有可枚舉函數(shù)的豐富API寞钥; 視圖可以聲明事件處理函數(shù)慌申,并通過RESTful JSON接口連接到應(yīng)用程序。
9.React
地址:http://reactjs.cn/react/docs/why-react.html
描述:React 是一個 Facebook 和 Instagram 用來創(chuàng)建用戶界面的 JavaScript 庫凑耻。很多人認(rèn)為 React 是 MVC 中的 V(視圖)太示。我們創(chuàng)造 React 是為了解決一個問題:構(gòu)建隨著時間數(shù)據(jù)不斷變化的大規(guī)模應(yīng)用程序。為了達(dá)到這個目標(biāo)香浩,React 采用下面兩個主要的思想类缤。
10.Ionic
地址:http://www.ionic.wang/js_doc-index.html
描述:Ionic既是一個CSS框架也是一個Javascript UI庫。許多組件需要Javascript才能產(chǎn)生神奇的效果邻吭,盡管通常組件不需要編碼餐弱,通過框架擴(kuò)展可以很容易地使用,比如我們的AngularIonic擴(kuò)展囱晴。Ionic遵循視圖控制模式膏蚓,通俗的理解和 Cocoa 觸摸框架相似。在視圖控制模式中畸写,我們將界面的不同部分分為子視圖或包含其他視圖的子視圖控制器驮瞧。然后視圖控制器“驅(qū)動”內(nèi)部視圖來提供交互和UI功能。一個很好的例子就是標(biāo)簽欄(Tab Bar)視圖控制器處理點(diǎn)擊標(biāo)簽欄在一系列可視化面板間切換枯芬。
瀏覽我們的API文檔來了解視圖控制器和Ionic中可用的Javascript實(shí)用工具论笔。
Ionic 是目前最有潛力的一款 HTML5 手機(jī)應(yīng)用開發(fā)框架。通過 SASS 構(gòu)建應(yīng)用程序千所,它 提供了很多 UI 組件來幫助開發(fā)者開發(fā)強(qiáng)大的應(yīng)用狂魔。 它使用 JavaScript MVVM 框架和 AngularJS 來增強(qiáng)應(yīng)用。提供數(shù)據(jù)的雙向綁定淫痰,使用它成為 Web 和移動開發(fā)者的共同選擇最楷。
二、前端UI框架
1.Pure
地址:http://purecss.org/layouts/
描述:Pure精心設(shè)計(jì),只為可以在任何Web項(xiàng)目中使用籽孙。為了例證這一點(diǎn)烈评,我們制作了如下幾個模板。這些模板都是響應(yīng)式的犯建,并且沒有使用任何JavaScript础倍。
用途:真的是很精美的一個樣式框架,便于我們快事構(gòu)建一些個人產(chǎn)品胎挎,當(dāng)然也可以服務(wù)于工作中的一些項(xiàng)目沟启。
2.bootstrap
描述:簡潔、直觀犹菇、強(qiáng)悍的前端開發(fā)框架德迹,讓web開發(fā)更迅速、簡單揭芍。
3.EasyUI
地址:http://www.jeasyui.net/ (中文網(wǎng))
描述:easyui是一種基于jQuery的用戶界面插件集合胳搞。
easyui為創(chuàng)建現(xiàn)代化,互動称杨,JavaScript應(yīng)用程序肌毅,提供必要的功能。
使用easyui你不需要寫很多代碼姑原,你只需要通過編寫一些簡單HTML標(biāo)記悬而,就可以定義用戶界面。
- easyui是個完美支持HTML5網(wǎng)頁的完整框架锭汛。
- easyui節(jié)省您網(wǎng)頁開發(fā)的時間和規(guī)模笨奠。
- easyui很簡單但功能強(qiáng)大的。
4.Ant Design
描述:一個 UI 設(shè)計(jì)語言唤殴,一套提煉和應(yīng)用于企業(yè)級后臺產(chǎn)品的交互語言和視覺體系
三般婆、可視化組件
1.Echarts
描述:ECharts,一個純 Javascript 的圖表庫朵逝,可以流暢的運(yùn)行在 PC 和移動設(shè)備上蔚袍,兼容當(dāng)前絕大部分瀏覽器(IE8/9/10/11,Chrome配名,F(xiàn)irefox啤咽,Safari等),底層依賴輕量級的 Canvas 類庫ZRender段誊,提供直觀闰蚕,生動栈拖,可交互连舍,可高度個性化定制的數(shù)據(jù)可視化圖表。
2.tableau(收費(fèi))
地址:http://www.yuandingit.com/special/tableau/index.html
描述:Tableau 是桌面系統(tǒng)中最簡單的商業(yè)智能工具軟件,Tableau 沒有強(qiáng)迫用戶編寫自定義代碼索赏,新的控制臺也可完全自定義配置盼玄。在控制臺上,不僅能夠監(jiān)測信息潜腻,而且還提供完整的分析能力埃儿。Tableau控制臺靈活,具有高度的動態(tài)性融涣。
四童番、前端構(gòu)建工具
1.gulp
描述:易于使用
通過代碼優(yōu)于配置的策略,Gulp 讓簡單的任務(wù)簡單威鹿,復(fù)雜的任務(wù)可管理剃斧。
構(gòu)建快速
利用 Node.js 流的威力,你可以快速構(gòu)建項(xiàng)目并減少頻繁的 IO 操作忽你。
插件高質(zhì)
Gulp 嚴(yán)格的插件指南確保插件如你期望的那樣簡潔高質(zhì)得工作幼东。
易于學(xué)習(xí)
通過最少的 API,掌握 Gulp 毫不費(fèi)力科雳,構(gòu)建工作盡在掌握:如同一系列流管道根蟹。
五、博客搭建
1.技術(shù)組合
HEXO+Github,搭建屬于自己的博客糟秘。
HEXO介紹:Hexo是一個開源的靜態(tài)博客生成器,用node.js開發(fā),作者是臺灣大學(xué)生tommy351
準(zhǔn)備:git + node.js + markdown編輯 + gitcafe + 域名