iT邦幫忙

2022 iThome 鐵人賽

DAY 1
0
Modern Web

MERN Stack + Tailwind CSS - React 小專案實踐計畫系列 第 1

【Day 1】什麼是 MERN Stack ? 為什麼選擇它?

  • 分享至 

  • xImage
  •  

嗨大家好~ 這是我第一次參與 iThome 鐵人賽,這次的挑戰比較著重在應用、個人經驗及結果的部分,所以理論部分不會描述太多。雖然已經接觸前端一段時間了,但還是有很多不足及需要學習的地方,還請大家多多包涵!


首先先來介紹這次挑戰會使用到的架構,也就是「MERN」,它是一個全端(前端+後端)的架構,官方的概要說明如下:

  • MongoDB — document database(資料庫)
  • Express(.js) — Node.js web framework(伺服器框架)
  • React(.js) — a client-side JavaScript framework(前端框架)
  • Node(.js) — the premier JavaScript web server(後端伺服器)

image mern

從上圖可以知道,所謂的「M = MongoDB」代表著資料庫,而「E = Express.js」及「N = Node.js」是作為伺服器的角色,負責前端「R = React.js」與後台資料庫的串接,他們各自詳細的介紹與特色會在之後的文章做說明,或是在網路上也有許多大神有詳細的介紹,所以在這邊就簡單帶過啦哈哈

為什麼選擇 MERN Stack 呢?

用 JavaScript 通吃前後端不是問題!

以對於 JavaScript 較為熟悉的 React 開發者來看,MERN 架構算是學習成本較低的選擇之一,不論是同樣以 JavaScript 為基礎語言撰寫的後端 Node.js,還是 NoSQL 的非關聯式資料庫 MongoDB,在開發小型且不複雜的專案前提下,我認為是個不錯的入手選擇!(網路上也有很多不錯的教學,都能在短時間內開發小型專案)更不用說在沒有後端經驗的背景之下,能以 JavaScript 來建構自己的 server 而不用多花時間學另一種後端語言(PHP、Java、Python…),怎麼看 CP 值都很高~對吧?

依據專案內容靈活開發

關於資料庫的選擇,其實我也使用過同樣為非關聯式資料庫的 Firebase ,不得不說它真的很方便,許多功能都已經寫好了,我們只要按照官方文檔的說明使用即可,但相對來說就會有一些限制,程式碼也較為複雜混亂。而使用 MongoDB 的話,雖然許多東西就得自己親自撰寫,還需要用 Node.js + Express.js 寫用來串接的 API,不過隨之而來的好處就是可以隨心所欲的開發,不用遷就於某些限制,官方也提供了許多好用的功能,當然在過程中也會碰到許多不同的問題,但這也是個可以從中學習與成長的好機會!

參考資料:


下一篇
【Day 2】目前前端三大主流框架之一 - React
系列文
MERN Stack + Tailwind CSS - React 小專案實踐計畫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言