MEAN 堆疊

menu icon

MEAN 堆疊

MEAN 適合您使用嗎? 瞭解為何此由 MongoDB、Express.js、AngularJS 和 Node.js 組成的完整堆疊越來越受到現代 Web 應用程式開發的歡迎。
  • 建立針對雲端部署進行最佳化的可擴充應用程式
  • 在整個應用程式中使用單一語言來簡化開發
  • 使用內建 Web 伺服器來簡化部署
  • 利用 MongoDB 的靈活彈性來管理大量資料

從零開始建置應用程式時,採用一致的標準化軟體堆疊很重要。 使用專門設計用來協同合作的一組工具來建立後端系統,以減少開發時間並簡化資源。

不過,堆疊現場變得越來越擁擠。 從 LAMP 到 Ruby on Rails,選項有很多。每個堆疊都各有優缺點,各自適用於不同專案。 對於開發而言,世界上沒有一體適用的堆疊。

何謂 MEAN?

相對很新的堆疊 MEAN,此縮寫代表 MongoDB、Express.js、AngularJS 和 Node.js。MEAN 是完整的端對端 JavaScript 堆疊,主要用於雲端就緒應用程式。 瞭解您可能會使用它的原因,識別採用時機的範例,並深入瞭解可協助您讓 MEAN 在軟體開發中發揮最大價值的個別元件。

如果您想要瞭解如何輕鬆地使用 MEAN 堆疊來開發應用程式並將其部署至雲端,IBM 提供了在 MEAN 堆疊中建立現代應用程式的簡易指導教學

優勢

MEAN 是開放程式碼 Web 堆疊,主要用來建立雲端代管應用程式。 MEAN 堆疊應用程式具備彈性、可擴充性和可延伸性,這使得它們成為雲端代管的完美選擇。此堆疊包含自己的 Web 伺服器以便可以輕鬆部署,此外,也包含可根據需求進行擴充的資料庫,以應付暫時的用量尖峰。 MEAN 應用程式進入以下世界:經過最佳化以善用雲端的所有成本節約和效能加強等優點。

JavaScript 一直以來都是前端 Web 開發的熱門語言,因為它很彈性、動態且容易使用。但它成為後端系統和資料庫開發的唯一選項已很多年,其可讓開發人員使用端對端 JavaScript 來建立應用程式。 因為 MEAN 的每個部分都使用相同的語言,所以您可以精簡開發團隊。 MEAN 消除了雇用不同專家來開發應用程式各個部分的需要。 取而代之的是,您可以使用單一群 JavaScript 開發人員,在有需要的時間和地點透過適合的方式工作。 以 JavaScript 為基礎的標準化還可讓您有機會在整個應用程式中重複使用程式碼,以減少不必要的改造。 

使用案例

雖然 MEAN 堆疊對每個應用程式來說都不夠完美,但它在很多方面都可以勝出。 它擁有可擴充性和並行使用者管理能力,因此在開發雲端原生應用程式方面是很好的選擇。AngularJS 前端架構也很適合用來開發單頁應用程式 (SPA),也就是在單一頁面上提供所有的資訊與功能。 以下是使用 MEAN 的幾個範例:

  • 行事曆
  • 費用追蹤
  • 最新消息彙總網站
  • 地圖和位置搜尋
在 MEAN 堆疊上具有 MongoDB 之 Node.js 執行時期的架構圖

在 MEAN 堆疊上具有 MongoDB 之 Node.js 執行時期的範例架構。

元件

MongoDB

MongoDB 是一種開放程式碼,NoSQL 資料庫則是專門針對雲端應用程式而設計。 它採用物件導向組織方式,而不是關聯式模型。

在 MEAN 堆疊中,MongoDB 可儲存應用程式的資料。 應用程式和資料庫都使用 JavaScript,因此當物件在應用程式和資料庫之間往返時無需轉換物件。 應用程式可以在後端系統和資料庫之間推送與取回物件,中間沒有一點錯失。

MongoDB 的賣點是它在儲存和效能方面上具有可擴充性。 您可以在資料庫中新增欄位,無需重新載入整個表格,而且 MongoDB 著名的地方是,它能夠管理大量資料又不會影響資料存取。 只需按幾下,您就可以擴充資源以供資料庫使用,這使得它很適合用於有時會出現活動增加的應用程式。

如需深入瞭解 MongoDB,請參閱「MongoDB:基本指南」。

Express

Express 是 Node.js 的 Web 應用程式架構。 它在容易使用和功能完整之間取得平衡。

形成 MEAN 堆疊後端系統的 Express,它負責處理所有的前端系統和資料庫,以確保資料順利傳送給一般使用者。 它專門設計用來與 Node.js 搭配使用,以持續在堆疊中一致使用 JavaScript。

Express 奉行極簡,它專門設計用來有效率地處理各種處理程序,以免造成應用程式雜亂。 不過,莫將極簡與毫無特色混為一談。 Express 提供出色的錯誤處理和範本功能,以協助您進行開發。

Express 還可以保護您,因為它使用 CommonJS 模組標準來防止不小心改寫共用名稱空間中的變數。 您不會意外地重新定義先前建立的變數。 此強制關閉 JavaScript 可協助防止耗時且成本高昂的錯誤。

AngularJS

儘管 AngularJS(Google 的 JavaScript 前端系統架構)不是目前在使用的唯一架構,但它非常受歡迎。 實際上,它是前端系統 JavaScript 開發的預設值。 如果您在 JavaScript 中開發 Web 應用程式,那麼您會使用 AngularJS。

MEAN 堆疊包含 AngularJS,以協助開發人員建置應用程式的面對使用者端。 後端系統、前端系統和資料庫全都以 JavaScript 做為建置基礎,因此在應用程式的各個部分之間將會有流暢的資訊流程。

AngularJS 並非誤打誤撞成為最受歡迎的 JavaScript 前端系統。 它能夠同時為桌面和行動使用進行開發,其效能完善和容易使用的範本使它成為用來建立雲端原生應用程式的理想前端系統。

Node.js

Node.js 是一種開放原始碼 JavaScript 架構,它使用非同步事件來同時處理多重連線。 它是雲端型應用程式的理想架構,因為它可以毫不費力地隨需應變調整要求。 您可能會在最知名的 Web 顯示中找到 Node.js。

Node.js 是 MEAN 堆疊的骨幹。 Express 是為了在 Node.js 的基礎上運作而專門設計的,而 AngularJS 可無縫連接 Node.js 以快速處理資料。 Node.js 完整隨附於整合式 Web 伺服器,方便您將 MongoDB 資料庫和應用程式輕鬆部署至雲端。

Node.js 最強大的地方是它的可擴充性。 能夠快速回應使用尖峰的雲端應用程式是最好的。 若只有在使用者逾時之後才能使用,那麼幾乎毫無限制的處理能力有何好處? 在有需要時擴充您的資源,以便您為更多使用者提供服務,而且此架構的單一執行緒架構可讓應用程式有效地透過眾多連線提供流暢的使用者體驗。 Node.js 可以支援多達 100 萬個同時連線。

請記住,Node.js 最適合用來支援眾多低資源要求,而不是資源密集型要求。 雖然單一執行緒可防止處理程序鎖死,但是當供所有用戶端使用的系統發生大規模處理程序凍結時,它未必能夠不受影響。

MEAN 堆疊與 IBM

MEAN 堆疊越來越受歡迎。 MEAN 堆疊擁有靈活彈性、一致語言及可擴充性等優點,對於準備用於雲端的 Web 開發而言是絕佳選擇。

如果您想要瞭解如何輕鬆地使用 MEAN 堆疊來開發應用程式並將其部署至雲端,IBM 提供了在 MEAN 堆疊中建立現代應用程式的簡易指導教學

若您準備好立即開始使用 IBM Cloud,請透過這裡註冊。