你有想過一個人也有機會單挑世界嗎?
你可能會說這個人是*超人*吧
還是傳說中的*超大型巨人*
錯!今天要介紹的是一個非常輕薄但足以挑戰世界的混合物種 - **MAN**
用MAN架構打造超人般的網頁應用程式:復仇者聯盟系列文章
開始前必須說明,因為小弟的不小心,導致原賬號無法繼續參加本屆鐵人賽,所以只好從新參賽,但我保證就像電影的復仇者聯盟一樣,對於這系列的內容我一定十倍奉還,原先的系列文章也是會按照之前的貼回來先請大家見諒,但之後我會在後面幾天的實作文章內補充更多的內容與額外使用到的一些工具,讓大家不只能十倍也能百倍奉還。
前言
你有想過一個人也有機會單挑世界嗎?
你可能會說這個人是超人吧
還是傳說中的超大型巨人
錯!今天要介紹的是一個非常輕薄但足以挑戰世界的混合物種 - MAN
MAN = MongoDB + AngularJS + NodeJS
組成成分
MongoDB:
是一個以JSON文檔(Document)格式為主的非關聯式(NoSQL)資料庫,特色是在海量的儲存資料中也能提供良好的查詢效能,除此之外它也保有關聯式資料庫中的好用的一些查詢概念(不是用T-SQL語法作查詢歐),這使得資料在查詢時能透過查詢語法的概念去查出所需要的資料。
AngularJS:
是Google推出的JavaScript開發框架,主要是建設JS上面的MVC模式(官方沒直說,但大多使用者都這麼認為),跳脫傳統js大多直接操作HTML DOM物件的概念,AngularJS主要以宣告式語法 (Directives Syntax) 直接賦予 HTML 額外的操作能力,讓你以MVC的架構在Web應用程式開發上把HTML地呈現與JS的資料模型與邏輯控制盡量切開,已此達到各部分程式碼精簡與功能強化,而其DOM Templates、雙向資料繫結 (Two Way Data-Binding)、相依性注入 (Dependency Injection) 與關注點分離等特性更是他與其他JS MVC框架相比更誘人之處,可將前端的JS減少80%以上,本系列文章也會以AngularJS為主體結合另外兩項技術來作開發。
NodeJS:
是一個以JavaScript為開發語言所建立的網站應用程式開發框架 (Web Application Framework),可以取代目前透過asp.net、php、jsp、python等針對Server Side開發語言所撰寫的後台網頁開發方式。使用NodeJS開發的後台網站服務可以直接讓他做到資料庫讀取,檔案處理等基本處理外還能保有高效能、低耗能、易擴充的後台網站服務與特性,此外統一使用JS作為開發語言也可以整合前台與後台的開發一致性。
結語
看完成分介紹是否覺得他們各自都可以獨霸一方!!
這三股力量就像是拯救網頁世界的英雄一樣
當這三個合體的時候他能做到什麼功能呢?
簡單來說,我們就可以透過JavaScript用MVC的架構開發一個支援Resful URL與文檔型資料庫功能的單一網頁應用程式,而且目前這三項都是跨平台的技術,不管你在Windows、Linux或Unix都能找到他的安裝跟使用的方法,甚至做出來的網站還可以搭配Phonegap移植到Mobile App上面,在iOS、Android甚至Windows Phone上面都可以順暢地執行。
架構上我們可以參考下圖:
而接下來的30天,我將與大家一起學習如何實作這個架構並且實際做出一個SPA網站與app來,過程中如果有任何說不清楚或說錯的地方也麻煩大家給予指教讓我們一起學習與進步
希望能成功完成這次的試煉~!Day-1 over!