NodeJS ตอนที่ 1 [NodeJS คืออะไร ?]

NodeJS ตอนที่ 1 NodeJS คืออะไร ?

  • เทคโนโลยีฝั่ง Server Side ที่ถูกพัฒนาด้วยภาษา JavaScript
  • เดิมทีภาษา JavaScript ทำงานฝั่ง Client เป็นหลัก แต่จริงๆแล้ว NodeJS เป็น Client หรือ Server ก็ขึ้นอยู่กับจุดประสงค์ของแอพนั้น แต่จุดตั้งต้นเริ่มมาจาก Server Side เป็นหลัก
  • ผู้สร้าง คือ คนนี้แหละครับ
  • Ryan Dahl เขาว่าคือพ่อมด แฮรี่ ที่มาร่ายเวทย์ด้วยภาษา JavaScript
  • NodeJS คือ JavaScript มีการ Complied เป็น Byte Code ด้วย V8 Engine ของ Google
  • Debug ได้ ต่างจาก JavaScript ในยุคแรกๆ ทำให้แก้ปัญหาได้ง่ายขึ้น
  • รันได้บนทุกระบบปฏิบัติการยอดนิยม
  • มาพร้อมกับเทคโนโลยีที่เรียกว่า Non - Blocking I/O
  • ปัจจุบันเติบโตเร็วมาก มี Library แล้ว 235,745 Package ข้อมูล ณ วันที่ 2/2/2016

ปัจจุบัน NodeJS ถูกนำมาทำเป็น Web Server , Mobile Hybrid , IOT , Webkit , TVOS ,OS อื่นๆอีกมาก เรียกได้ว่าเข้าถึงได้หลากหลายเทคโนโลยี

เหตุผลที่ได้รับความนิยมหลักๆคือ

  • เขียนโค้ดเข้าใจได้ง่าย
  • มี Library ฟรีมากมาย
  • ใช้ทรัพยากรน้อย
  • เรียนรู้ได้เร็วสำหรับโปรแกรมเมอร์ทุกๆระดับ

มาลองใช้ NodeJS กันดีกว่า

โหลด NodeJS มาเลยที่ https://nodejs.org/en/download/

ติดตั้งก็ง่ายมาก ก็ next ๆ

เท่าที่เปิดสอนมายังไม่เจอว่าใครติดปัญหา แต่ก็มีครถามมาว่าติดตั้งหลายเวอร์ชั่นได้มั้ยตอนนั้นก็ยังไม่รู้ ก็เลยบอกไปว่าขอเป็นการบ้าน ตอนนี้ก็เจอเครื่องมืออย่าง nave

https://github.com/isaacs/nave

tj/n

https://github.com/tj/n

ก็สามารถช่วยได้

เมื่อติดตั้งแล้วก็เปืด terminal แล้วพิมพ์ node -v ก็จะรู้ว่าติดตั้งสำเร็จหรือไม่

node -v
v5.0.0

เริ่มเขียนโปรแกรม Hello NodeJS

1. ป้อนโค้ด ดังนี้

const http = require('http');

http.createServer( (request, response) => {
  response.writeHead(200, {'Content-Type': 'text/plain'});
  response.end('Hello NodeJSn');
}).listen(8124);

console.log('Server running at http://127.0.0.1:8124/');

2.บันทีกเป็น ch1_hello.js

3.เปิด terminal ลองรันดูเลย พิมพ์ node ch1_hello.js

node ch1_hello.js
Server running at http://127.0.0.1:8124/

4. เปิด browser พิมพ์ url localhost:8124

browser1

Global Object คือฟังก์ชั่นหรือออบเจคที่สามารถเรียกจากตรงไหนก็ได้ ในโค้ดตัวอย่างแรก มี Global object ดังนี้

  • require คือ ฟังก์ชั่นที่ใช้เรียก library ต่างๆที่พัฒนาไว้แล้ว เทียบได้กับ C# using , Java import
  • console.log คือ ฟังก์ชันไว้แสดงข้อความบนหน้าจอ terminal

อธิบายโค้ด

const http = require('http');

เรียกใช้ http ออบเจคที่ NodeJS พัฒนาไว้แล้ว
http.createServer( (request, response) => {

}).listen(8124);

สร้าง http server ขึ้นมา โดยเปิด port 8124
response.writeHead(200, {'Content-Type': ‘text/plain'});

เพิ่ม http header 200 คือ สถานะสมบูรณ์ completed

{'Content-Type': ‘text/plain’}

ข้อมูลใน body เป็นแบบ text
response.end('Hello NodeJSn’);

ส่งสัญญาณให้ server รู้ว่ามี header และ body สมบูรณ์พร้อมข้อความ Hello NodeJS

ติดตามตอนที่ 2 ได้เร็วๆนี้


1 Comment

  1. ข้อมูลมีประโยชน์มากๆ ขอบคุณครับ

Leave a comment!

You must be logged in to post a comment.