เฟรมเวิร์กพื้นหลังของโหนดประกอบด้วย: 1. Koa ซึ่งเป็นเฟรมเวิร์กเว็บของโหนดโอเพ่นซอร์สที่ใช้ Generator เพื่อใช้การควบคุมกระบวนการมิดเดิลแวร์และลอง/จับเพื่อปรับปรุงการจัดการข้อยกเว้น 2. Nest ซึ่งเป็นเซิร์ฟเวอร์โหนดโอเพ่นซอร์สที่ใช้ในการสร้างเซิร์ฟเวอร์โหนดที่มีประสิทธิภาพและปรับขนาดได้ . กรอบงานสำหรับแอปพลิเคชันไคลเอนต์ 3. ซ็อกเก็ตเฟรมเวิร์กที่ใช้ในการสร้างการสื่อสารสองทางแบบเรียลไทม์ระหว่างไคลเอนต์และเซิร์ฟเวอร์ 4. Sails ซึ่งเป็นเฟรมเวิร์กโหนดที่แข็งแกร่งมากที่ให้ทุกสิ่งที่จำเป็นในการสร้างแอปพลิเคชันเว็บทุกขนาด คุณสมบัติทั้งหมด
สภาพแวดล้อมการทำงานของบทช่วยสอนนี้: ระบบ Windows 7, nodejs เวอร์ชัน 16, คอมพิวเตอร์ DELL G3
Node เป็นแพลตฟอร์มเว็บแอปพลิเคชันฝั่งเซิร์ฟเวอร์ที่คล่องตัวที่สุด เนื่องจากช่วยให้บริษัทพัฒนาแอปพลิเคชันมีความสะดวกในการสร้างแพลตฟอร์มเว็บภาษาโปรแกรมเดียวที่ปรับขนาดได้ เป็นหนึ่งในเฟรมเวิร์กรันไทม์ JavaScript แบบโอเพ่นซอร์สที่ได้รับความนิยมมากที่สุดและมีคุณสมบัติข้ามแพลตฟอร์ม ทำให้เราสามารถเรียกใช้โค้ดนอกเบราว์เซอร์ได้
1. Koa
Koa เป็นเหมือน "เฟรมเวิร์กของเฟรมเวิร์ก" มากกว่าเพราะมันเรียบง่ายเกินไปและฟรีมาก Koa ใช้ Generator เพื่อใช้การควบคุมกระบวนการมิดเดิลแวร์ และใช้ try/catch เพื่อปรับปรุงการจัดการข้อยกเว้น ในเวลาเดียวกัน คุณจะไม่เห็นการเรียกกลับที่ซับซ้อนในกรอบงาน Koa อีกต่อไป กรอบงาน Koa มีขนาดเล็กมากและมีเพียงฟังก์ชันที่จำเป็นบางอย่างเท่านั้น ไม่มีการจัดการกระบวนการ และจำเป็นต้องใช้กับแพ็คเกจของบุคคลที่สาม
Koa.js สามารถใช้สำหรับ:
ระบบ Front-end
ระบบ Back-end
ระบบไฮบริด
คุณสมบัติหลักของ Koa.js:
แสดงถึงความทันสมัยและอนาคต
ซึ่งมีขนาดเล็กกว่ากรอบงาน Node.js ทั้งหมด
มีตัวจับข้อผิดพลาดในตัวเพื่อป้องกันเว็บไซต์ล่ม
ใช้วัตถุบริบทซึ่งเก็บทั้งวัตถุคำขอและการตอบสนอง
2. Nest
Nest เป็นเฟรมเวิร์กสำหรับการสร้างแอปพลิเคชันฝั่งเซิร์ฟเวอร์ Node.js ที่มีประสิทธิภาพและปรับขนาดได้ กรอบงานระดับอุตสาหกรรมที่สมบูรณ์อย่างแท้จริง ใช้ Progressive JavaScript มีการสนับสนุน TypeScript ในตัวและเต็มรูปแบบ (แต่ยังคงอนุญาตให้นักพัฒนาเขียนโค้ดด้วย JavaScript ล้วนๆ) และรวมองค์ประกอบของ OOP (Object-Oriented Programming), FP (Functional Programming) และ FRP (Functional Reactive Programming) . มอบโซลูชันที่สมบูรณ์ ตั้งแต่โค้ดไปจนถึงการแยกโมดูล ไปจนถึงโมเดลไมโครเซอร์วิส และแพลตฟอร์ม HTTP พื้นฐานของเฟรมเวิร์กนั้นมีการใช้งานแบบ Express เป็นค่าเริ่มต้น ดังนั้นจึงไม่จำเป็นต้องกังวลเกี่ยวกับการไม่มีไลบรารีของบุคคลที่สาม นอกจากนี้ยังมีสถาปัตยกรรมแอปพลิเคชันที่พร้อมใช้งานทันทีที่ช่วยให้นักพัฒนาและทีมสามารถสร้างแอปพลิเคชันที่สามารถทดสอบได้สูง ปรับขนาดได้ เชื่อมต่ออย่างหลวมๆ และบำรุงรักษาง่าย
Nest.js สามารถใช้เพื่อ:
เขียนโค้ดที่สะอาดขึ้นและนำกลับมาใช้ใหม่ได้
เขียน
โค้ดด้วยโครงสร้างระดับสูงกว่า เช่น ตัวดักจับ ตัวกรอง ไปป์ ฯลฯ
ฟีเจอร์หลักของ Nest.js
นั้นขยายได้ง่าย โดยสามารถนำไปใช้กับไลบรารีอื่นๆ ได้
อนุญาตให้นักพัฒนาเขียนโค้ดด้วย JavaScript ล้วนๆ
เป็นการผสมผสานคุณลักษณะของการเขียนโปรแกรมเชิงฟังก์ชัน การเขียนโปรแกรมเชิงวัตถุ และการเขียนโปรแกรมเชิงโต้ตอบ
Open Framework API เพื่อช่วยให้นักพัฒนาใช้โมดูลของบริษัทอื่นต่างๆ บนแพลตฟอร์มต่างๆ
มีเอกสารที่ละเอียดและได้รับการดูแลอย่างดี
3. Total
Total.js เป็นเฟรมเวิร์กที่ดีที่จะช่วยคุณสร้าง Node.js เว็บเพจ/แอปพลิเคชัน และยังรองรับสถาปัตยกรรม MVC อีกด้วย
4. Socket
Socket.io เป็นเฟรมเวิร์กที่ใช้เพื่อสร้างการสื่อสารสองทางแบบเรียลไทม์ระหว่างไคลเอนต์และเซิร์ฟเวอร์ ในการดำเนินการนี้ ไคลเอ็นต์จำเป็นต้องติดตั้ง http://Socket.io ในเบราว์เซอร์ และเซิร์ฟเวอร์จำเป็นต้องรวมแพ็คเกจ http://Socket.io ทำให้สามารถแบ่งปันข้อมูลได้หลายล้านรูปแบบ อย่างไรก็ตาม วิธีการยอดนิยมยังคงเป็น JSON
Socket.io ประกอบด้วยสองส่วนต่อไปนี้:
บริการ JavaScript: Node.js
ไลบรารีไคลเอนต์ JavaScript: Node.js
หมายเหตุ: Socket.io ยังเข้ากันได้กับภาษาอื่น ๆ อีกมากมาย เช่น Java, C+, Swift, Dart, .Net และ Python .
Socket.io สามารถใช้สำหรับ:
เนมสเปซต่างๆ
การจัดการเหตุการณ์
การออกอากาศ
การจัดการข้อผิดพลาด
การบันทึกและการดีบัก
แอปพลิเคชันแช
ท
คุณสมบัติหลักของ Socket.io ภายใน:
เข้ารหัสข้อมูลลงใน JSON ที่มีชื่อหรือเหตุการณ์ไบนารี
เพิ่มความสามารถ "เรียลไทม์" ให้กับแอปพลิเคชันของคุณ
รองรับการเชื่อมต่อใหม่อัตโนมัติ
ความเร็วและความน่าเชื่อถือที่ยอดเยี่ยม
การส่งข้อความและการแชททันที
5. Sails
Sails เป็นเฟรมเวิร์ก Node.js ที่แข็งแกร่งมากซึ่งมีฟีเจอร์ทั้งหมดที่จำเป็นในการสร้างเว็บแอปพลิเคชันทุกขนาด กรอบงาน Express ถูกใช้ที่ด้านล่างเพื่อจัดเตรียมการประมวลผลคำขอ HTTP และกรอบงาน Socket.IO ใช้เพื่อประมวลผลคำขอ WebSocket นอกจากนี้ยังใช้ฟังก์ชัน ORM ซึ่งช่วยให้แอปพลิเคชันของคุณสลับจากฐานข้อมูลแบ็กเอนด์หนึ่งไปยังอีกฐานข้อมูลหนึ่งโดยไม่ต้องทำการแก้ไขที่สำคัญ Sails เหมาะอย่างยิ่งสำหรับการพัฒนาแอปพลิเคชันที่มีความต้องการสูงสำหรับการอัปเดตข้อมูลแบบเรียลไทม์ และคำอธิบายประกอบก็มีรายละเอียดมากจนคุณอาจไม่ทราบวิธีใช้งาน กรอบงานที่ใส่ใจนักพัฒนาสามารถคงอยู่ได้เป็นเวลานาน
6. Egg
Egg ขึ้นอยู่กับ Koa ซึ่งจำกัดและสร้างมาตรฐานในการพัฒนาทีม สิ่งสำคัญคือการช่วยให้ทีมพัฒนาและนักพัฒนาลดต้นทุนการพัฒนาและบำรุงรักษา โดยให้ความสามารถในการปรับแต่งเฟรมเวิร์กชั้นบนโดยใช้ Egg ซึ่งเป็นกลไกปลั๊กอินที่ปรับขนาดได้สูง การจัดการหลายกระบวนการใน
ตัว ประสิทธิภาพที่ยอดเยี่ยม และเฟรมเวิร์กที่เสถียร มีการนำไปใช้ในสายผลิตภัณฑ์ของอาลีบาบาหลายสาย ซึ่งสามารถพิสูจน์ความปลอดภัยและความน่าเชื่อถือได้ ดังนั้นโปรดใช้มันตามใจชอบ
7. Hapi.js
Hapi.js ยังคงข้อดีทั้งหมดของ Express.JS และเพิ่มคุณสมบัติบางอย่าง นักพัฒนาไม่ต้องเสียเวลาสร้างโครงสร้างพื้นฐานอีกต่อไป และสามารถใช้เวลานี้เพื่อเขียนตรรกะของแอปพลิเคชันที่นำมาใช้ซ้ำได้ ข้อดีบางประการ: การแก้ไขข้อบกพร่องและการเพิ่มคุณสมบัติใหม่ไม่ต้องใช้เวลา การสร้าง API สำหรับไคลเอนต์ประเภทต่างๆ สถาปัตยกรรมที่ใช้ปลั๊กอินทำให้การปรับขนาดเป็นเรื่องง่าย และควบคุมวิธีประมวลผลคำขอได้ดีขึ้น
Hapi.js สามารถใช้สำหรับ:
เว็บไซต์
HTTP Proxy
บริการ API
Hapi.js คุณสมบัติหลัก:
การตรวจสอบความถูกต้องของอินพุต
การบันทึก
ข้อผิดพลาด การจัดการ
รหัส การแคชการนำ
กลับ
ไม่มีการพึ่งพาภายนอก
การทำงานตาม
การรวม: ให้การรับรองความถูกต้องที่ครอบคลุมในกรอบงานโหนดและการสนับสนุน API การอนุญาต