โหนด.JS (Node.JS)

Node.js คือรันไทม์ JavaScript แบบโอเพนซอร์สข้ามแพลตฟอร์มที่ทำงานบนเซิร์ฟเวอร์ นับตั้งแต่เปิดตัวในปี 2009 แพลตฟอร์มนี้ได้รับความนิยมอย่างมากและมีบทบาทสำคัญอย่างมากในด้านการพัฒนาเว็บในปัจจุบัน
สำหรับบทความฉบับเต็มบน Node.JS ...

แสดงตัวกรอง
ตัวกรองโฮสติ้ง
A2 Themes & Host Me Filter

ระบบปฏิบัติการ

พื้นที่ดิสก์

หน่วยความจำ RAM

ประเภทดิสก์

แกน CPU

จัดเรียง

คะแนน - 0
RedSwitches Logo
RedSwitches

RedSwitches

Pearl
$6.94 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


RedSwitches Servers in Netherlandsเนเธอร์แลนด์ RedSwitches Servers in Unionสหรัฐ RedSwitches Servers in Melbourneออสเตรเลีย RedSwitches Servers in Mumbaiอินเดีย RedSwitches Servers in Germanyเยอรมนี
เปรียบเทียบ
คะแนน - 0
Hostarina Logo
Hostarina

Hostarina

Personal
$2.92 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


Hostarina Servers in Unionสหรัฐ Hostarina Servers in Rawalpindiปากีสถาน Hostarina Servers in Munichเยอรมนี
เปรียบเทียบ
คะแนน - 0
Net9 Oy Logo
Net9 Oy

Net9 Oy

Small
$1.13 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


Net9 Oy Servers in Stockholmสวีเดน Net9 Oy Servers in Helsinkiฟินแลนด์ Net9 Oy Servers in Parisฝรั่งเศส
เปรียบเทียบ
คะแนน - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


Heroku Servers in United Statesสหรัฐ
เปรียบเทียบ
คะแนน - 0
Awareindia.net Logo
Awareindia.net

Awareindia.net

Linux Hosting Plan G
$5.83 /รายเดือน

เปรียบเทียบ
คะแนน - 0
Chemi Cloud Logo
Chemi Cloud

Chemi Cloud

Ionic
$2.95 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


Chemi Cloud Servers in Bangaloreอินเดีย Chemi Cloud Servers in New Yorkสหรัฐ Chemi Cloud Servers in Bucharestโรมาเนีย Chemi Cloud Servers in Londonประเทศอังกฤษ Chemi Cloud Servers in Amsterdamเนเธอร์แลนด์ Chemi Cloud Servers in Torontoแคนาดา Chemi Cloud Servers in Sydneyออสเตรเลีย
เปรียบเทียบ
คะแนน - 0
Oudel Logo
Oudel

Oudel

cPanel Hosting 1
$5.95 /รายเดือน


ตำแหน่งเซิร์ฟเวอร์


Oudel Servers in Unionสหรัฐ
เปรียบเทียบ

 

Node.js

 

 

Node.js คือรันไทม์ JavaScript แบบโอเพนซอร์สข้ามแพลตฟอร์มที่ทำงานบนเซิร์ฟเวอร์ นับตั้งแต่เปิดตัวในปี 2009 แพลตฟอร์มนี้ได้รับความนิยมอย่างมากและมีบทบาทสำคัญอย่างมากในด้านการพัฒนาเว็บในปัจจุบัน หากเราพิจารณาจำนวนดาวที่โครงการรวบรวมบน GitHub เป็นตัวบ่งชี้ความนิยม Node.js ซึ่งมีดาวมากกว่า 50,000 ดวงถือเป็นโครงการที่ได้รับความนิยมอย่างมาก

 

แพลตฟอร์ม Node.js สร้างขึ้นจากเอ็นจิ้น V8 JavaScript ของ Google ซึ่งใช้ในเบราว์เซอร์ Google Chrome แพลตฟอร์มนี้ส่วนใหญ่ใช้ในการสร้างเว็บเซิร์ฟเวอร์ แต่ขอบเขตไม่ จำกัด เพียงแค่นี้

 

มาดูคุณสมบัติหลักของ Node.js กัน

 

ความเร็ว

 

หนึ่งในสถานที่ท่องเที่ยวหลักของ Node.js คือความเร็ว โค้ด JavaScript ที่ดำเนินการใน Node.js อาจเร็วกว่าโค้ดที่เขียนด้วยภาษาคอมไพล์เช่น C หรือ Java ถึงสองเท่าและลำดับขนาดได้เร็วกว่าภาษาที่ตีความเช่น Python หรือ Ruby เหตุผลนี้เป็นสถาปัตยกรรมที่ไม่ปิดกั้นของแพลตฟอร์มและผลลัพธ์ที่เฉพาะเจาะจงขึ้นอยู่กับเกณฑ์มาตรฐานที่ใช้ แต่โดยรวมแล้ว Node.js เป็นแพลตฟอร์มที่เร็วมาก

 

ความเรียบง่าย

 

แพลตฟอร์ม Node.js นั้นง่ายต่อการเรียนรู้และใช้งาน ในความเป็นจริงมันง่ายมากโดยเฉพาะเมื่อเทียบกับแพลตฟอร์มเซิร์ฟเวอร์อื่น ๆ

 

JavaScript

 

JavaScript ถูกเรียกใช้ในสภาพแวดล้อม Node.js ซึ่งหมายความว่านักพัฒนาฟรอนต์เอนด์หลายล้านคนที่ใช้ JavaScript ในเบราว์เซอร์อยู่แล้วสามารถเขียนโค้ดทั้งฝั่งเซิร์ฟเวอร์และฝั่งไคลเอ็นต์ในภาษาโปรแกรมเดียวกันโดยไม่ต้องเรียนรู้เครื่องมือใหม่ทั้งหมดเพื่อย้ายไปพัฒนาฝั่งเซิร์ฟเวอร์

 

เบราว์เซอร์และเซิร์ฟเวอร์ใช้แนวคิดภาษาเดียวกัน นอกจากนี้ Node.js ยังสามารถเปลี่ยนไปใช้มาตรฐาน ECMAScript ใหม่ได้อย่างรวดเร็วเนื่องจากมีการใช้งานบนแพลตฟอร์ม

 

ไม่จำเป็นต้องรอให้ผู้ใช้รีเฟรชเบราว์เซอร์สำหรับสิ่งนี้เนื่องจาก Node.js เป็นสภาพแวดล้อมฝั่งเซิร์ฟเวอร์ที่อยู่ในการควบคุมของนักพัฒนา ด้วยเหตุนี้คุณลักษณะภาษาใหม่จะพร้อมใช้งานเมื่อคุณติดตั้ง Node.js เวอร์ชันที่รองรับ

 

เครื่องยนต์ V8

 

หัวใจสำคัญของ Node.js ในบรรดาโซลูชันอื่น ๆ คือเอ็นจิ้น V8 JavaScript แบบโอเพนซอร์สของ Google ซึ่งใช้ใน Google Chrome และเบราว์เซอร์อื่น ๆ ซึ่งหมายความว่า Node.js กำลังใช้ประโยชน์จากวิศวกรหลายพันคนที่ทำให้รันไทม์ JavaScript Chrome รวดเร็วอย่างไม่น่าเชื่อและยังคงทำงานเพื่อปรับปรุง V8

 

อะซิงโครไนซ์

 

ในภาษาโปรแกรมแบบดั้งเดิม (C, Java, Python, PHP) คำสั่งทั้งหมดจะถูกบล็อกโดยค่าเริ่มต้นเว้นแต่ผู้พัฒนาจะดูแลอย่างชัดเจนในการเรียกใช้โค้ดแบบอะซิงโครนัส ด้วยเหตุนี้ตัวอย่างเช่นในสภาพแวดล้อมดังกล่าวคุณทำการร้องขอเครือข่ายเพื่อดาวน์โหลดโค้ด JSON การดำเนินการสตรีมที่ส่งคำขอจะถูกระงับจนกว่าจะได้รับและประมวลผลการตอบกลับ

 

JavaScript ช่วยให้เขียนโค้ดแบบอะซิงโครนัสและไม่บล็อกได้ง่ายขึ้นมากโดยใช้เธรดเดียวการเรียกกลับและแนวทางที่ขับเคลื่อนด้วยเหตุการณ์ในการพัฒนา ทุกครั้งที่เราต้องดำเนินการหนักเราจะส่งการเรียกกลับไปยังกลไกที่เหมาะสมซึ่งจะถูกเรียกทันทีหลังจากเสร็จสิ้นการดำเนินการนี้ เป็นผลให้ไม่จำเป็นต้องรอผลการดำเนินการดังกล่าวเพื่อให้โปรแกรมทำงานต่อไป

 

กลไกที่คล้ายกันเกิดขึ้นในเบราว์เซอร์ เราไม่สามารถที่จะรอพูดสำหรับAJAXขอให้เสร็จสิ้นโดยไม่สามารถตอบสนองต่อการกระทำของผู้ใช้เช่นการคลิกปุ่ม เพื่อให้ผู้ใช้ทำงานกับหน้าเว็บได้สะดวกทุกอย่างทั้งการดาวน์โหลดข้อมูลจากเครือข่ายและการคลิกปุ่มประมวลผลต้องเกิดขึ้นพร้อมกันแบบเรียลไทม์

 

หากคุณเคยสร้างตัวจัดการเหตุการณ์การคลิกปุ่มแสดงว่าคุณได้ใช้เทคนิคการเขียนโปรแกรมแบบอะซิงโครนัสแล้ว

 

กลไกอะซิงโครนัสช่วยให้เซิร์ฟเวอร์ Node.js เดียวสามารถจัดการการเชื่อมต่อหลายพันการเชื่อมต่อได้พร้อมกันโดยไม่ทำให้โปรแกรมเมอร์มีภาระในการจัดการเธรดและงานเรียกใช้โค้ดแบบขนาน สิ่งดังกล่าวมักเป็นที่มาของความผิดพลาด

 

Node.js จัดเตรียมกลไก I / O พื้นฐานที่ไม่ปิดกั้นให้กับนักพัฒนาและโดยทั่วไปแล้วไลบรารีที่ใช้ในกรอบงาน Node.js จะถูกเขียนโดยใช้กระบวนทัศน์ที่ไม่ปิดกั้นสิ่งนี้ทำให้พฤติกรรมการบล็อกเป็นข้อยกเว้นแทนที่จะเป็นบรรทัดฐาน

 

เมื่อ Node.js ต้องการดำเนินการ I / O เช่นการโหลดข้อมูลจากเครือข่ายการเข้าถึงฐานข้อมูลหรือระบบไฟล์แทนที่จะบล็อกเธรดหลักเพื่อรอผลลัพธ์ของการดำเนินการดังกล่าว Node.js จะเริ่มต้น ดำเนินการและดำเนินการอย่างอื่นต่อไปจนกว่าจะได้รับผลลัพธ์ของการดำเนินการนี้

 

ห้องสมุด

 

ด้วยความง่ายและสะดวกในการทำงานกับตัวจัดการแพ็คเกจสำหรับ Node.js ที่เรียกว่า npm ระบบนิเวศ Node.js จึงเจริญรุ่งเรือง ขณะนี้มีแพ็กเกจโอเพนซอร์สมากกว่าครึ่งล้านในรีจิสทรี npm ที่นักพัฒนา Node.js ทุกคนสามารถใช้ได้อย่างอิสระ

 

หลังจากตรวจสอบคุณสมบัติหลักบางประการของแพลตฟอร์ม Node.js แล้วเรามาลองใช้งานจริงกัน เริ่มต้นด้วยการติดตั้ง

 

 

Node.js

 

 

การติดตั้ง Node.js

 

Node.js สามารถติดตั้งได้หลายวิธีซึ่งเราจะพูดถึงในอีกสักครู่ ดังนั้นแพคเกจการติดตั้งอย่างเป็นทางการสำหรับแพลตฟอร์มหลักทั้งหมดสามารถพบได้

 

มีอีกวิธีหนึ่งที่สะดวกมากในการติดตั้ง Node.js นั่นคือการใช้ตัวจัดการแพ็คเกจที่มีให้ในระบบปฏิบัติการ ตัวอย่างเช่นตัวจัดการแพ็คเกจ macOS ซึ่งเป็นมาตรฐานโดยพฤตินัยในด้านนี้เรียกว่า Homebrew

 

หากคุณมีในระบบของคุณคุณสามารถติดตั้ง Node.js โดยรันคำสั่งนี้บนบรรทัดคำสั่ง:

 

ชงติดตั้งโหนด

 

รายชื่อผู้จัดการแพ็คเกจสำหรับระบบปฏิบัติการอื่น ๆ รวมถึง Linux และ Windows มีอยู่ที่นี่

 

ตัวจัดการเวอร์ชัน Node.js ยอดนิยมคือ nvm เครื่องมือนี้ช่วยให้คุณสามารถสลับระหว่าง Node.js เวอร์ชันต่างๆได้อย่างสะดวกด้วยความช่วยเหลือเช่นติดตั้งและลอง Node.js เวอร์ชันใหม่จากนั้นหากจำเป็นให้เปลี่ยนกลับเป็นเวอร์ชันเก่า Nvm ยังมีประโยชน์ในสถานการณ์ที่คุณต้องทดสอบโค้ดบางอย่างบน Node.js เวอร์ชันเก่า

 

สำหรับผู้เริ่มต้นใช้งานโปรแกรมติดตั้ง Node.js อย่างเป็นทางการ สำหรับผู้ใช้ macOS ขอแนะนำให้ติดตั้ง Node.js โดยใช้ Homebrew เมื่อคุณติดตั้ง Node.js แล้วก็ถึงเวลาเขียน "Hello World"

 

แอปพลิเคชัน Node.js แรก

 

ตัวอย่างที่พบบ่อยที่สุดของแอปพลิเคชัน Node.js แรกคือเว็บเซิร์ฟเวอร์ธรรมดา นี่คือรหัส:

const http = ต้องใช้ ('http')

ชื่อโฮสต์ const = '127.0.0.1'

พอร์ต const = 3000

เซิร์ฟเวอร์ const = http.createServer ((req, res) = & gt; {

res.statusCode = 200

res.setHeader ('ประเภทเนื้อหา', 'ข้อความ / ธรรมดา')

res.end ('สวัสดีชาวโลก \ n')

})

server.listen (พอร์ตชื่อโฮสต์ () = & gt; {

console.log (`เซิร์ฟเวอร์ทำงานที่ http: // $ {hostname}: $ {port} /`)

})

 

ในการรันโค้ดนี้ให้บันทึกในไฟล์ server.js และรันคำสั่งต่อไปนี้ในเทอร์มินัล:

 

โหนด server.js

 

ในการตรวจสอบเซิร์ฟเวอร์ให้เปิดเบราว์เซอร์และป้อนในแถบที่อยู่ http://127.0.0.1:3000 นั่นคือที่อยู่เซิร์ฟเวอร์ที่จะแสดงในคอนโซลหลังจากเปิดตัวสำเร็จ หากทุกอย่างทำงานตามที่ควรจะเป็นหน้าเว็บจะแสดง "Hello World"

 

ลองดูตัวอย่างนี้

 

ขั้นแรกให้สังเกตว่าโค้ดมีคำสั่งเพื่อเชื่อมต่อโมดูล HTTP

 

แพลตฟอร์ม Node.js มีชุดโมดูลมาตรฐานที่ยอดเยี่ยมซึ่งรวมถึงกลไกที่พัฒนามาอย่างดีสำหรับการทำงานกับเครือข่าย

เมธอดอ็อบเจ็กต์ createServer () http สร้างเซิร์ฟเวอร์ HTTP ใหม่และส่งคืน

 

เซิร์ฟเวอร์ถูกกำหนดค่าให้รับฟังพอร์ตเฉพาะบนโฮสต์เฉพาะ เมื่อเซิร์ฟเวอร์พร้อมระบบจะโทรกลับที่เกี่ยวข้องเพื่อแจ้งให้เราทราบว่าเซิร์ฟเวอร์กำลังทำงานอยู่

เมื่อเซิร์ฟเวอร์ได้รับการร้องขอเหตุการณ์จะถูกเรียกใช้งานที่มีสองวัตถุ อย่างแรกคือคำร้องขอ (req, อ็อบเจ็กต์ http.IncomingMessage) ที่สองคือการตอบสนอง (res, อ็อบเจ็กต์ http.ServerResponse) ซึ่งเป็นกลไกที่สำคัญที่สุดในการจัดการคำขอ HTTP

 

ขั้นแรกให้ข้อมูลเกี่ยวกับคำขอแก่เรา ในตัวอย่างง่ายๆของเราเราไม่ได้ใช้ข้อมูลนี้ แต่ถ้าจำเป็นโดยใช้ออบเจ็กต์คุณจะสามารถเข้าถึงส่วนหัวของคำขอและข้อมูลที่ส่งผ่านไปได้

 

สิ่งที่สองเป็นสิ่งจำเป็นในการสร้างและส่งการตอบกลับคำขอ

 

ในกรณีนี้เราจะตอบกลับคำขอดังต่อไปนี้ ขั้นแรกเราตั้งรหัสสถานะคุณสมบัติเป็นค่า 200 ซึ่งบ่งชี้ว่าการดำเนินการสำเร็จ:

 

res.statusCode = 200

ต่อไปเราตั้งชื่อเรื่อง Content-Type:

res.setHeader ('ประเภทเนื้อหา', 'ข้อความ / ธรรมดา')

จากนั้นเราจะเตรียมการตอบสนองให้เสร็จสมบูรณ์โดยเพิ่มเนื้อหาเป็นอาร์กิวเมนต์ไปยัง method end ():

res.end ('สวัสดีชาวโลก \ n')

 

เราได้กล่าวไปแล้วว่าระบบนิเวศที่ทรงพลังได้ก่อตัวขึ้นรอบ ๆ แพลตฟอร์ม Node.js ตอนนี้เรามาพูดถึงเฟรมเวิร์กยอดนิยมและเครื่องมือช่วยเหลือสำหรับ Node.js

 

Frameworks และ Helper Tools สำหรับ Node.js

 

Node.js เป็นแพลตฟอร์มระดับต่ำ เพื่อลดความซับซ้อนของการพัฒนาและทำให้ชีวิตของโปรแกรมเมอร์ง่ายขึ้นจึงมีการสร้างไลบรารีจำนวนมาก บางคนก็ได้รับความนิยมอย่างมากเมื่อเวลาผ่านไป นี่คือรายชื่อห้องสมุดเล็ก ๆ ที่ฉันคิดว่าทำได้ดีและคุ้มค่ากับการสำรวจ:

 

ด่วน: ไลบรารีนี้มีเครื่องมือที่เรียบง่าย แต่ทรงพลังสำหรับนักพัฒนาสำหรับการสร้างเว็บเซิร์ฟเวอร์ กุญแจสู่ความสำเร็จของ Express คือแนวทางที่เรียบง่ายและมุ่งเน้นไปที่กลไกพื้นฐานฝั่งเซิร์ฟเวอร์โดยไม่ต้องพยายามกำหนดวิสัยทัศน์ของสถาปัตยกรรมเซิร์ฟเวอร์แบบ "ครบวงจร"

 

ดาวตก: เป็นเฟรมเวิร์กแบบฟูลสแต็กที่ทรงพลังซึ่งใช้แนวทางไอโซมอร์ฟิกในการพัฒนาแอปพลิเคชัน JavaScript และใช้โค้ดทั้งบนไคลเอนต์และเซิร์ฟเวอร์ ครั้งหนึ่ง Meteor เป็นเครื่องมือแบบสแตนด์อโลนที่มีทุกสิ่งที่นักพัฒนาต้องการ ตอนนี้ยังรวมเข้ากับไลบรารีส่วนหน้าเช่น React, Vue และ Angular Meteor นอกเหนือจากการพัฒนาเว็บแอปพลิเคชันทั่วไปแล้วยังสามารถใช้ในการพัฒนาอุปกรณ์เคลื่อนที่ได้อีกด้วย

 

โคอา: เว็บเฟรมเวิร์กนี้สร้างขึ้นโดยทีมงานเดียวกับที่อยู่เบื้องหลัง Express จากประสบการณ์หลายปีกับ Express ได้รับการพัฒนาโดยเน้นที่ความเรียบง่ายและกะทัดรัด โครงการนี้เกิดขึ้นเพื่อแก้ปัญหาการเปลี่ยนแปลงที่สำคัญของ Express ที่ไม่เข้ากันกับกลไกกรอบอื่น ๆ ที่อาจทำให้ชุมชนแตกแยก

 

Next.js: เฟรมเวิร์กนี้ออกแบบมาเพื่อจัดระเบียบการแสดงผลแอปพลิเคชัน React ทางฝั่งเซิร์ฟเวอร์

 

ไมโคร: เป็นไลบรารีที่มีน้ำหนักเบามากสำหรับการสร้างไมโครเซอร์วิส HTTP แบบอะซิงโครนัส

Socket.io เป็นไลบรารีสำหรับพัฒนาแอพพลิเคชั่นเครือข่ายแบบเรียลไทม์

 

ในระบบนิเวศของ Node.js คุณสามารถค้นหาไลบรารีตัวช่วยสำหรับงานเกือบทุกอย่าง อย่างที่คุณสามารถจินตนาการได้ว่าการสร้างระบบนิเวศดังกล่าวต้องใช้เวลานานมาก แพลตฟอร์ม Node.js ปรากฏในปี 2009 ในระหว่างที่มีอยู่มีหลายสิ่งหลายอย่างเกิดขึ้นซึ่งโปรแกรมเมอร์ที่ต้องการเรียนรู้แพลตฟอร์มนี้ควรทราบ

 

ประวัติโดยย่อของ Node.js

 

Node.js มีอายุ 9 ปีในปีนี้ แน่นอนว่าไม่มากนักเมื่อคุณเปรียบเทียบอายุนี้กับอายุของ JavaScript ซึ่งมีอายุ 23 ปีแล้วหรืออายุ 25 ปีของเว็บอย่างที่เราทราบกันดีหากคุณนับจากการถือกำเนิดของโมเสก เบราว์เซอร์

 

9 ปีเป็นช่วงเวลาสั้น ๆ สำหรับเทคโนโลยี แต่ตอนนี้ดูเหมือนว่าแพลตฟอร์ม Node.js จะมีอยู่ตลอดเวลา

 

ด้วย Node.js จากแพลตฟอร์มเวอร์ชันแรกเมื่ออายุเพียง 2 ปี ถึงอย่างนั้นแม้ว่าจะไม่มีข้อมูลเกี่ยวกับ Node.js มากนัก แต่ก็สามารถรู้สึกได้ว่า Node.js นั้นร้ายแรงมาก

 

ตอนนี้เรามาพูดถึงเทคโนโลยีที่อยู่เบื้องหลัง Node.js และดูไฟล์การพัฒนาหลักที่เกี่ยวข้องกับแพลตฟอร์มนี้.

 

ดังนั้น JavaScript จึงเป็นภาษาโปรแกรมที่สร้างขึ้นใน Netscape เป็นภาษาสคริปต์สำหรับจัดการเว็บเพจในเบราว์เซอร์ Netscape Navigator

ธุรกิจส่วนหนึ่งของ Netscape คือการขายเว็บเซิร์ฟเวอร์ซึ่งรวมถึงสภาพแวดล้อมที่เรียกว่า Netscape LiveWire อนุญาตให้คุณสร้างเว็บเพจแบบไดนามิกโดยใช้ JavaScript ฝั่งเซิร์ฟเวอร์

 

แนวคิดในการใช้ JS สำหรับการพัฒนาฝั่งเซิร์ฟเวอร์นั้นเก่ากว่า Node.js มาก แนวคิดนี้เกือบจะเก่าพอ ๆ กับ JavaScript แต่ในขณะนั้น JS ฝั่งเซิร์ฟเวอร์ไม่เป็นที่นิยม

 

ปัจจัยสำคัญประการหนึ่งที่ทำให้แพลตฟอร์ม Node.js แพร่หลายและเป็นที่นิยมคือเมื่อแรกปรากฏ ดังนั้นเมื่อไม่กี่ปีก่อนหน้านี้ JavaScript ได้เริ่มถูกพิจารณาว่าเป็นภาษาที่ร้ายแรง สิ่งนี้เกิดขึ้นเนื่องจากแอปพลิเคชัน Web 2.0 เช่น Google Maps หรือ Gmail ซึ่งแสดงให้โลกเห็นถึงพลังของเทคโนโลยีเว็บสมัยใหม่

 

เนื่องจากสงครามการแข่งขันของเบราว์เซอร์ซึ่งยังคงดำเนินต่อไปจนถึงทุกวันนี้ประสิทธิภาพของเอ็นจิ้น JavaScript เพิ่มขึ้นอย่างมาก ทีมพัฒนาที่อยู่เบื้องหลังเบราว์เซอร์หลักกำลังทำงานทุกวันเพื่อปรับปรุงประสิทธิภาพของโซลูชันของพวกเขาซึ่งส่งผลดีต่อ JavaScript โดยทั่วไป

 

หนึ่งในเอ็นจิ้นดังกล่าวคือ V8 ที่กล่าวถึงแล้วซึ่งใช้ในเบราว์เซอร์ Chrome และใช้ใน Node.js ถือเป็นหนึ่งในผลลัพธ์ของนักพัฒนาเบราว์เซอร์ที่พยายามหาโค้ด JavaScript ประสิทธิภาพสูง

 

แน่นอนว่าความนิยมของ Node.js ไม่เพียงขึ้นอยู่กับความบังเอิญที่โชคดีและความจริงที่ว่าแพลตฟอร์มเกิดในเวลาที่เหมาะสม เธอแนะนำโลกให้รู้จักกับแนวทางใหม่ในการพัฒนา JavaScript ฝั่งเซิร์ฟเวอร์ มาดูเหตุการณ์สำคัญในประวัติศาสตร์ของ Node.js

 

2009


  • การเกิดขึ้นของ Node.js

  • สร้างตัวแปร npm แรก

 

2010

  • ลักษณะของ Express

  • การเกิดขึ้นของ Socket.io

 

2011


  • รุ่น Npm 1.0

  • บริษัท ใหญ่ ๆ เช่น LinkedIn และ Uber ได้เริ่มใช้ Node.js

 

2012


  • ความนิยมที่เพิ่มขึ้นอย่างรวดเร็วของ Node.js

 

2013


  • การเกิดขึ้นของ Ghost ซึ่งเป็นแพลตฟอร์มหลักแรกสำหรับสิ่งพิมพ์โดยใช้ Node.js

  • Koa ปล่อย

 

2014


  • มีการจัดงานละครในปีนี้ โครงการ IO.js ปรากฏขึ้นซึ่งเป็นทางแยกของ Node.js โดยมีวัตถุประสงค์เพื่อแนะนำการสนับสนุน ES6 และเร่งการพัฒนาแพลตฟอร์ม

 

2015


  • ก่อตั้งมูลนิธิ Node.js

  • การรวม IO.js และ Node.js

  • ใน npm สามารถทำงานกับโมดูลส่วนตัวได้

  • Yield Node.js 4 (ควรสังเกตว่าเวอร์ชัน 1, 2 และ 3 จากแพลตฟอร์มไม่ได้)

 

2016


  • เหตุการณ์หีบห่อด้านซ้าย

  • การเกิดขึ้นของเส้นด้าย

  • Node.js 6 รีลีส

 

2017


  • Npm เริ่มให้ความสำคัญกับความปลอดภัยมากขึ้น

  • Node.js 8 รีลีส

  • การเกิดขึ้นของการสนับสนุน HTTP / 2

  • V8 ได้รับการยอมรับอย่างเป็นทางการว่าเป็นเอ็นจิ้น JS ที่ออกแบบมาไม่เพียง แต่สำหรับ Chrome เท่านั้น แต่ยังรวมถึงโหนดด้วย

  • มีการดาวน์โหลด 3 พันล้าน npm ทุกสัปดาห์

 

2018


  • Node.js 10 รีลีส

  • รองรับโมดูล ES

  • การสนับสนุน mjs ทดลอง