互聯(lián)網(wǎng)飛速發(fā)展的時(shí)代榛泛,技術(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)不如整理后條理清晰的知識帶來好處多。所以徒仓,是的腐碱,我們需要時(shí)不時(shí)的回來對掌握的知識梳理歸類,以備不時(shí)之需蓬衡。
一喻杈、前端框架庫:
1.Zepto.js
地址:http://www.css88.com/doc/zeptojs/
描述:Zepto是一個(gè)輕量級的針對現(xiàn)代高級瀏覽器的JavaScript庫,?它與jquery有著類似的api狰晚。 如果你會用jquery筒饰,那么你也會用zepto。關(guān)于Zepto認(rèn)知我也是通過與一位騰訊朋友聊天的時(shí)候知道的壁晒,只作了些基礎(chǔ)的了解瓷们。
2.SUI Mobile
地址:http://m.sui.taobao.org
描述:SUI Mobile 是一套基于Framework7開發(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是一個(gè)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是一個(gè)基于Chrome JavaScript運(yùn)行時(shí)建立的平臺, 用于方便地搭建響應(yīng)速度快腊敲、易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用击喂。Node.js 使用事件驅(qū)動, 非阻塞I/O模型而得以輕量和高效兔仰,非常適合在分布式設(shè)備上運(yùn)行數(shù)據(jù)密集型的實(shí)時(shí)應(yīng)用茫负。
簡單的說 Node.js 就是運(yùn)行在服務(wù)端的 JavaScript蕉鸳。
Node.js 是一個(gè)基于Chrome JavaScript 運(yùn)行時(shí)建立的一個(gè)平臺乎赴。
Node.js是一個(gè)事件驅(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ì)上只是從某個(gè)數(shù)據(jù)庫中查找一些值并將它們組成一個(gè)響應(yīng)徒蟆。由于響應(yīng)是少量文本胁出,入站請求也是少量的文本,因此流量不高段审,一臺機(jī)器甚至也可以處理最繁忙的公司的API需求全蝶。
2. 統(tǒng)一Web應(yīng)用的UI層
目前MVC的架構(gòu),在某種意義上來說寺枉,Web開發(fā)有兩個(gè)UI層抑淫,一個(gè)是在瀏覽器里面我們最終看到的,另一個(gè)在server端姥闪,負(fù)責(zé)生成和拼接頁面始苇。
不討論這種架構(gòu)是好是壞,但是有另外一種實(shí)踐筐喳,面向服務(wù)的架構(gòu)催式,更好的做前后端的依賴分離。如果所有的關(guān)鍵業(yè)務(wù)邏輯都封裝成REST調(diào)用疏唾,就意味著在上層只需要考慮如何用這些REST接口構(gòu)建具體的應(yīng)用蓄氧。那些后端程序員們根本不操心具體數(shù)據(jù)是如何從一個(gè)頁面?zhèn)鬟f到另一個(gè)頁面的,他們也不用管用戶數(shù)據(jù)更新是通過Ajax異步獲取的還是通過刷新頁面槐脏。
3. 大量Ajax請求的應(yīng)用
例如個(gè)性化應(yīng)用喉童,每個(gè)用戶看到的頁面都不一樣,緩存失效,需要在頁面加載的時(shí)候發(fā)起Ajax請求堂氯,NodeJS能響應(yīng)大量的并發(fā)請求蔑担。 總而言之咽白,NodeJS適合運(yùn)用在高并發(fā)啤握、I/O密集、少量業(yè)務(wù)邏輯的場景晶框。
4.angular.Js
RequireJS以一個(gè)相對于baseUrl的地址來加載所有的代碼排抬。 頁面頂層標(biāo)簽含有一個(gè)特殊的屬性data-main,require.js使用它來啟動腳本加載過程授段,而baseUrl一般設(shè)置到與該屬性相一致的目錄蹲蒲。
用途:模塊化動態(tài)加載。
7.Vue.js
地址:http://cn.vuejs.org/
描述:Vue.js 是用于構(gòu)建交互式的 Web ?界面的庫侵贵。它提供了MVVM數(shù)據(jù)綁定和一個(gè)可組合的組件系統(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 是一個(gè) Facebook 和 Instagram 用來創(chuàng)建用戶界面的 JavaScript 庫。很多人認(rèn)為 React 是MVC中的V(視圖)瓶逃。我們創(chuàng)造 React 是為了解決一個(gè)問題:構(gòu)建隨著時(shí)間數(shù)據(jù)不斷變化的大規(guī)模應(yīng)用程序束铭。為了達(dá)到這個(gè)目標(biāo),React 采用下面兩個(gè)主要的思想厢绝。
10.Ionic
地址:http://www.ionic.wang/js_doc-index.html
描述:Ionic既是一個(gè)CSS框架也是一個(gè)Javascript UI庫契沫。許多組件需要Javascript才能產(chǎn)生神奇的效果,盡管通常組件不需要編碼昔汉,通過框架擴(kuò)展可以很容易地使用懈万,比如我們的AngularIonic擴(kuò)展。
Ionic遵循視圖控制模式,通俗的理解和 Cocoa觸摸框架相似会通。在視圖控制模式中口予,我們將界面的不同部分分為子視圖或包含其他視圖的子視圖控制器。然后視圖控制器“驅(qū)動”內(nèi)部視圖來提供交互和UI功能涕侈。一個(gè)很好的例子就是標(biāo)簽欄(TabBar)視圖控制器處理點(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)虚婿,我們制作了如下幾個(gè)模板。這些模板都是響應(yīng)式的泳挥,并且沒有使用任何JavaScript然痊。
用途:真的是很精美的一個(gè)樣式框架,便于我們快事構(gòu)建一些個(gè)人產(chǎn)品屉符,當(dāng)然也可以服務(wù)于工作中的一些項(xiàng)目剧浸。
2.bootstrap
地址:http://www.bootcss.com/
描述:簡潔、直觀矗钟、強(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是個(gè)完美支持HTML5網(wǎng)頁的完整框架祖娘。
easyui節(jié)省您網(wǎng)頁開發(fā)的時(shí)間和規(guī)模失尖。
easyui很簡單但功能強(qiáng)大的。
4.Ant Design
地址:http://ant.design/
描述:一個(gè) UI 設(shè)計(jì)語言,一套提煉和應(yīng)用于企業(yè)級后臺產(chǎn)品的交互語言和視覺體系
三雹仿、可視化組件
1.Echarts
地址:http://echarts.baidu.com/
描述:ECharts增热,一個(gè)純 Javascript 的圖表庫,可以流暢的運(yùn)行在 PC 和移動設(shè)備上胧辽,兼容當(dāng)前絕大部分瀏覽器(IE8/9/10/11峻仇,Chrome,F(xiàn)irefox邑商,Safari等)摄咆,底層依賴輕量級的 Canvas 類庫ZRender,提供直觀人断,生動吭从,可交互,可高度個(gè)性化定制的數(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
地址:http://www.gulpjs.com.cn/
描述:易于使用
通過代碼優(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)建工作盡在掌握:如同一系列流管道嗜暴。