珩磨机-精密卧式珩磨机-宁波海工集团

15321250321
010-86462584

APP開發(fā) > APP學(xué)院 > 軟件開發(fā)

自學(xué)app軟件開發(fā)-MERN堆棧

2022-07-07

什么是堆棧?

從技術(shù)上講,堆棧是操作系統(tǒng)、工具、語言、數(shù)據(jù)庫系統(tǒng)、腳本語言、Web 服務(wù)器、框架和 API 等的集合,它們一起工作以創(chuàng)建完整的軟件解決方案。

根據(jù) Layman Guide,堆棧是軟件程序或技術(shù)的集合,它們協(xié)作以實現(xiàn)共同目標(biāo),例如軟件開發(fā)。它包括密切相關(guān)的軟件APP軟件,可以幫助工作流程,從而完成某些任務(wù)。

什么是 MERN 堆棧?

MERN 堆棧包括 MongoDB、Express、React 和 Node.js。MERN 堆棧是一個開源的全棧 JavaScript 解決方案,用于快速輕松地開發(fā)和部署全棧APP軟件。創(chuàng)建 MERN 是為了使APP軟件開發(fā)盡可能簡單。因此,MERN 的每個組件都服務(wù)于我們必須了解的特定目的。

MVC(模型視圖控制器)架構(gòu)

任何 Web 或移動APP軟件都可以使用 3 層 MVC 架構(gòu)構(gòu)建,該架構(gòu)由三層組成——模型、視圖和控制器。

模型——這一層負(fù)責(zé)與數(shù)據(jù)庫相關(guān)的任務(wù),例如檢索、存儲、更新和操作數(shù)據(jù)庫。

視圖 - 視圖層負(fù)責(zé)用戶交互。前端是指用戶在網(wǎng)頁上看到的按鈕、圖像、顏色和動畫。在用戶界面中,它使來自模型層的數(shù)據(jù)可見。

控制器——該層管理視圖和模型之間的前后通信。它的工作是接受用戶請求,用模型層處理它們,并將結(jié)果發(fā)送回視圖層用于可視化部分。

MERN 堆棧的組件

1. MongoDB:獨立于平臺的

它是一個開源、跨平臺的面向文檔的數(shù)據(jù)庫程序。它是一個 NoSQL 數(shù)據(jù)庫,具有基于 JSON 文檔的模式(可選)。MongoDB 具有適應(yīng)性,其文檔模型在代碼中定義對象,從而可以輕松進(jìn)行數(shù)據(jù)操作。因為 MongoDB 的核心是分布式的,所以它具有水平擴(kuò)展和高可用性。

MongoDB 的特點是水平擴(kuò)展、高可靠性、端到端保護(hù)、管理工具和地理分散。

2. 后端框架(Express)

Express 是一個 Node.js 后端 Web APP軟件框架,也稱為 Express.js。它具有許多使開發(fā) Web APP軟件比使用 Node.js 更容易和更快的特性:

  1. 首先,Express 易于設(shè)置和定制。

  2. 其次,它有助于創(chuàng)建基于 HTTP 和 URL 的APP軟件路由。

  3. 第三,Express 包含幾個中間件組件來幫助完成額外的任務(wù)。

  4. 最后,Express 使在APP軟件中提供靜態(tài)資源和文件變得更加容易。

3. React:Library是一個前端開發(fā)的第三方庫

為什么使用 ReactJs?因為它是 Facebook 發(fā)布的一個開源免費的前端 JavaScript 庫。它用于為交互式 Web APP軟件(用戶界面)制作用戶界面。它可以開發(fā)移動APP軟件和WebAPP軟件并管理視圖層。React 允許開發(fā)人員創(chuàng)建封裝的段來維護(hù)其狀態(tài)并將它們集成以創(chuàng)建復(fù)雜的接口。使用 Node 時,React 也會在服務(wù)器上呈現(xiàn)。

4. Node.js 運行環(huán)境

它是一個跨平臺的移動應(yīng)用開發(fā)平臺,后端的開源 JavaScript 運行環(huán)境。Node.js 是一個 V8 引擎,用于在 Web 瀏覽器之外運行 JS 代碼。Node.js 可用于為網(wǎng)頁創(chuàng)建獨特的內(nèi)容、收集表單數(shù)據(jù)、更改數(shù)據(jù)庫信息和管理服務(wù)器文件等。Node.js 不是為每個請求創(chuàng)建新線程,而是一次只運行一個進(jìn)程。它還包括一組 I/O 原語,以防止 JS 代碼卡住。

MERN堆棧開發(fā)的過程是什么?

如前所述,MERN 堆棧的每個元素都可以獨立使用;但是,開發(fā)人員可以通過結(jié)合這些技術(shù)來創(chuàng)建高性能的 Web APP軟件。在本節(jié)中,我們將了解 MERN 堆棧的工作原理。

讓我們看一個插圖來幫助您理解整個機制。假設(shè)您已經(jīng)為服裝網(wǎng)站開發(fā)了一個電子商務(wù)聊天機器人。客戶現(xiàn)在可以通過 Web APP軟件購買 T 恤。由于網(wǎng)頁上的鏈接,用戶被引導(dǎo)到 T 恤頁面。但是,我們將如何從后端獲取數(shù)據(jù)?

  • 用戶到達(dá)我們的 React 登錄頁面。

  • 通過單擊該鏈接,用戶購買了一件 T 恤。無需重新啟動系統(tǒng)即可呈現(xiàn) T 恤頁面,因為它是單頁APP軟件。

  • 但是,我們現(xiàn)在沒有關(guān)于 T 恤的任何數(shù)據(jù),因此狀態(tài)為空。我們將使用 API 調(diào)用從后端獲取數(shù)據(jù)。

  • 由于數(shù)據(jù)檢索過程的自動化性質(zhì),這將需要更長的時間。與此同時,用戶會看到一個加載的 GIF。

  • 在后端,Express JS 搜索命中端點并調(diào)用適當(dāng)?shù)目刂破骱瘮?shù)來檢索信息。

  • 在控制器中,我們可以使用 mongoose 來查詢數(shù)據(jù)庫、檢索數(shù)據(jù)并以 JSON 格式返回。

  • React 接收 JSON 數(shù)據(jù)并使用獲取的信息更新狀態(tài)。

  • 然后 React 將使用更新的狀態(tài)重新渲染組件,并用 T 恤信息替換加載的 GIF。

  • 這就是 MongoDB、React、Express 和 Node 的通信方式。
    以上就是自學(xué)app軟件開發(fā)-MERN堆棧的介紹。

客服QQ:121446412 聯(lián)系電話:15321250321

京ICP備17026149號-1

版權(quán)所有@2011-2022 北京天品互聯(lián)科技有限公司 公司地址:北京市海淀區(qū)上地信息路甲28號B座(二層)02D室-010號

主站蜘蛛池模板: 国产在线高清一级毛片 | 国产午夜精品久久理论片 | 精品久久久久久中文字幕 | 在线视频日韩欧美 | 亚洲色大成网站www永久麻豆 | 亚洲小说区图片区另类春色 | 国产精品r级最新在线观看 国产精品sp调教打屁股 | 麻豆md0077饥渴少妇 | 丁香六月狠狠激情综合基地 | 久久成人国产精品免费软件 | 欧美精品国产日韩综合在线 | 日韩一区二区三区在线视频 | 国内老熟妇对白xxxxhd | 粗大猛烈进出高潮视频 | 亚洲精品久久久久一区二区三区 | 亚洲成av人片一区二区 | 午夜视频在线观看国产 | hezyo加勒比一区二区三区 | 国产乱理伦片a级在线观看 国产乱理伦片在线观看 | 国产成人精品高清免费 | 亚洲日本中文 | 亚洲色无码中文字幕手机在线 | 亚洲中文字幕无码一区在线 | 99久久99这里只有免费的精品 | 亚洲av无码av在线播放 | 全免费a级毛片免费看视频免 | 国产女人被狂躁到高潮小说 | 中文字幕不卡在线播放 | 老司机免费在线视频 | 亚洲欧洲成人av每日更新 | 欧美性性性性o00xx | 韩国主播19福利视频在线观看 | 99这里只有是精品2 99只有精品 | 国产精品无码mv在线观看 | 无码av最新无码av专区 | 成年人天堂 | 无遮挡又黄又爽又色的视频免费 | 国产凸凹视频一区二区 | 九九免费视频 | 欧美一区不卡二区不卡三区 | 国产成人精品日本亚洲语音2 |
收縮
  • 15321250321