มาสร้าง Back-End ด้วย Node.js กัน

15 Sept 2024 · 2 minute read
Cover image for มาสร้าง Back-End ด้วย Node.js กัน
Table of Contents
  1. ที่มาของ Node.js
  2. ลองใช้งาน Node.js
    1. สร้าง Web Service ด้วย Node.js
    2. มาลองดู Web Service ของเรากัน

สวัสดีค้าบทุกคน ใครที่กดเข้ามาอ่านคงเคยเห็นคำว่า Node.js กันมาบ้าง แต่ Node.js นี่มันหมายถึงอะไรกันแน่ Programming Language? Framework? ฮิปโป? (หมูเด้งกำลังดัง) บทความนี้จะมาไขข้อสงสัยให้ทุกคนเอง!!!

ที่มาของ Node.js

ในการพัฒนา Software จำเป็นต้องมีคนอยู่ 2 กลุ่ม

  1. Front-End - ใช้ HTML, CSS, JavaScript เป็น Code ที่ทำงานบน Web Browser

  2. Back-End - ใช้ Java, Go, C#, Python, … ภาษาไหนก็ได้ (เลือกภาษาเดียว)

สังเกตได้ว่าทั้ง 2 กลุ่มจะใช้ Programming Language ที่ไม่เหมือนกัน ทำให้เมื่อทีมงานส่วนไหนหายไปก็จำเป็นต้องหาทีมงานคนใหม่เข้ามา เป็นการเพิ่มค่าใช้จ่ายให้บริษัท และอาจเกิดการติดขัดในงานที่ทำอยู่

มีคนปวดหัวกับปัญหานี้เช่นกัน แล้วในปี 2009 ก็ได้คิดค้นสิ่งที่ทำให้เขียนภาษา JavaScript ในฝั่ง Back-End ได้ และตั้งชื่อมันว่า “Node.js”

หรือ Node.js เป็น Environment ที่ช่วยให้สามารถเขียน JavaScript บน Server ได้

Tip ชื่อเล่นของ HTTP คือ Web และ HTTP Client แบบแรกของโลกคือ Web Browser

ลองใช้งาน Node.js

HTTP Client มีหลายตัวนอกเหนือจาก Web Browser ในปัจจุบันจึงนิยมให้ HTTP Client เชื่อมต่อกับ Web Service เพื่อรับส่งข้อมูลต่างๆ

จากที่มาของ Node.js มันจึงช่วยให้ใช้คนน้อยลงในการสร้าง Web Service และลดค่าใช้จ่ายของบริษัทในการสร้าง Web Service นั่นเองง

สร้าง Web Service ด้วย Node.js

เข้าไปติดตั้ง Node.js ผ่าน Terminal ได้ที่นี่เลย Link

การสร้าง Web Service เปรียบเหมือนการสร้าง Program ขึ้นมาตัวหนึ่ง

Program ตัวนี้จะมีหน้าที่รับ Request ทั้งหมด จากนั้นเลือกใช้ Function ที่เหมาะสมกับ Request ที่ส่งเข้ามา

// File: web.js

var http = require("node:http")
var server = http.createServer(main)
server.listen(11000)

function main(request, response) {
  if (request.url == "/home") return showHomePage(request, response)
  response.writeHead(404)
  response.write("Not Found")
  response.end()
}

function showHomePage(request, response) {
  response.writeHead(200)
  response.write("This is the Home Page")
  response.end()
}

เราจะเขียน Code นี้ ในไฟล์ที่ชื่อ web.js

เริ่มจากเราจะทำงานบน HTTP และมี Port การเชื่อมต่อหมายเลข 11000

เมื่อมี Request เข้ามาจะไปเรียก Function main()

ถ้า Request มี Endpoint เป็น “/home” จะไปเรียกใช้ Function ชื่อ showHomePage()

จากนั้น Function ชื่อ showHomePage() จะแสดงผลว่า This is the Home Page

และถ้ามี Request อื่นๆที่มี Endpoint นอกเหนือจาก “home” ส่งเข้ามาจะแสดงผลว่า Not Found

มาลองดู Web Service ของเรากัน

รัน Code ใน Terminal ด้วยคำสั่ง node web.js หรือจะเขียน Code ใน IDE ตัวอื่นๆก็ได้

จากนั้นพิมพ์ Request เข้าไปใน Web Browser บนเครื่องที่รัน Node.js อยู่

RequestExpected Output
http://localhost:11000/homeThis is the Home Page
http://localhost:11000/hiNot Found

ถ้า Web Browser แสดงผลเหมือน Expected Output ตาม Request ที่ส่งเข้ามา ก็แปลว่าเราสร้าง Web Service สำเร็จแล้ววว