Node.js - บทนำ
Node.js คืออะไร?
Node.js เป็นแพลตฟอร์มฝั่งเซิร์ฟเวอร์ที่สร้างขึ้นจาก JavaScript Engine (V8 Engine) ของ Google Chrome Node.js ได้รับการพัฒนาโดย Ryan Dahl ในปี 2009 และเวอร์ชันล่าสุดคือ v0.10.36 คำจำกัดความของ Node.js ตามเอกสารอย่างเป็นทางการมีดังนี้ -
Node.js เป็นแพลตฟอร์มที่สร้างขึ้นบนรันไทม์ JavaScript ของ Chromeเพื่อสร้างแอปพลิเคชันเครือข่ายที่รวดเร็วและปรับขนาดได้อย่างง่ายดาย Node.js ใช้โมเดล I / O ที่ขับเคลื่อนด้วยเหตุการณ์และไม่ปิดกั้นทำให้มีน้ำหนักเบาและมีประสิทธิภาพเหมาะสำหรับแอปพลิเคชันแบบเรียลไทม์ที่ใช้ข้อมูลจำนวนมากซึ่งทำงานบนอุปกรณ์แบบกระจาย
Node.js เป็นสภาพแวดล้อมรันไทม์แบบโอเพนซอร์สข้ามแพลตฟอร์มสำหรับการพัฒนาแอปพลิเคชันฝั่งเซิร์ฟเวอร์และระบบเครือข่าย แอปพลิเคชัน Node.js เขียนด้วย JavaScript และสามารถเรียกใช้ภายในรันไทม์ Node.js บน OS X, Microsoft Windows และ Linux
Node.js ยังมีไลบรารีที่หลากหลายของโมดูล JavaScript ต่างๆซึ่งช่วยลดความยุ่งยากในการพัฒนาเว็บแอปพลิเคชันโดยใช้ Node.js ในระดับที่ดี
Node.js = Runtime Environment + JavaScript Library
คุณสมบัติของ Node.js
ต่อไปนี้เป็นคุณสมบัติสำคัญบางประการที่ทำให้ Node.js เป็นตัวเลือกแรกของสถาปนิกซอฟต์แวร์
Asynchronous and Event Driven- API ทั้งหมดของไลบรารี Node.js เป็นแบบอะซิงโครนัสนั่นคือไม่ปิดกั้น โดยพื้นฐานแล้วหมายถึงเซิร์ฟเวอร์ที่ใช้ Node.js ไม่รอให้ API ส่งคืนข้อมูล เซิร์ฟเวอร์จะย้ายไปยัง API ถัดไปหลังจากเรียกใช้และกลไกการแจ้งเตือนเหตุการณ์ของ Node.js ช่วยให้เซิร์ฟเวอร์ได้รับการตอบสนองจากการเรียก API ก่อนหน้านี้
Very Fast - สร้างขึ้นบน V8 JavaScript Engine ของ Google Chrome ไลบรารี Node.js นั้นรวดเร็วมากในการเรียกใช้โค้ด
Single Threaded but Highly Scalable- Node.js ใช้โมเดลเธรดเดียวที่มีการวนซ้ำเหตุการณ์ กลไกของเหตุการณ์ช่วยให้เซิร์ฟเวอร์ตอบสนองโดยไม่ปิดกั้นและทำให้เซิร์ฟเวอร์ปรับขนาดได้สูงเมื่อเทียบกับเซิร์ฟเวอร์แบบเดิมที่สร้างเธรดที่ จำกัด เพื่อจัดการกับคำขอ Node.js ใช้โปรแกรมเธรดเดียวและโปรแกรมเดียวกันสามารถให้บริการกับคำขอจำนวนมากได้มากกว่าเซิร์ฟเวอร์แบบดั้งเดิมเช่น Apache HTTP Server
No Buffering- แอปพลิเคชัน Node.js ไม่เคยบัฟเฟอร์ข้อมูลใด ๆ แอปพลิเคชันเหล่านี้เพียงแค่ส่งออกข้อมูลเป็นชิ้น ๆ
License- Node.js ออกภายใต้ใบอนุญาตเอ็มไอที
ใครใช้ Node.js
ต่อไปนี้เป็นลิงค์บน github wiki ที่มีรายการโครงการแอปพลิเคชันและ บริษัท ที่ใช้งาน Node.js โดยละเอียด รายการนี้รวมถึง eBay, General Electric, GoDaddy, Microsoft, PayPal, Uber, Wikipins, Yahoo! และ Yammer เพื่อเป็นชื่อไม่กี่
โครงการแอปพลิเคชันและ บริษัท ที่ใช้โหนด
แนวคิด
แผนภาพต่อไปนี้แสดงถึงส่วนที่สำคัญบางส่วนของ Node.js ซึ่งเราจะพูดถึงรายละเอียดในบทต่อ ๆ ไป

จะใช้ Node.js ได้ที่ไหน?
ต่อไปนี้เป็นพื้นที่ที่ Node.js พิสูจน์ตัวเองว่าเป็นพันธมิตรทางเทคโนโลยีที่สมบูรณ์แบบ
- แอปพลิเคชั่นที่ผูกไว้กับ I / O
- แอปพลิเคชันการสตรีมข้อมูล
- แอปพลิเคชันแบบเรียลไทม์แบบเร่งรัดข้อมูล (DIRT)
- แอปพลิเคชันที่ใช้ JSON API
- แอปพลิเคชั่นหน้าเดียว
ที่ไม่ใช้ Node.js?
ไม่แนะนำให้ใช้ Node.js สำหรับแอปพลิเคชันที่ใช้ CPU มาก