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

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 ได้เร็วๆนี้