อ่าน feed ข่าวเจอเรื่อง NODE.JS IS DEAD – LONG LIVE DENO!
เป็นบทความที่ล่อเป้ามาก ๆ
แต่สิ่งน่าสนใจกว่าคือ
Deno คืออะไร ?
Deno มีเป้าหมายอย่างไร ?
Deno ต่างกับ Node อย่างไร ?
มาดูกันนิดหน่อย
Deno คืออะไร ?
Deno มาจาก Node หมุนเอา !!
Deno มันคือ runtime ใหม่สำหรับ JavaScript และ TypeScript
สร้างโดยคุณ Ryan Dahl เป็นผู้สร้าง Node.js นั่นเอง
ซึ่งสร้างขึ้นมาเพื่อแก้ไขปัญหาต่าง ๆ ของ Node.js
สามารถดูเพิ่มเติมได้จาก VDO นี้
ปล. ในช่วงแรกของ Deno จะพัฒนาด้วยภาษา Go
แต่ตอนนี้เขียนด้วยภาษา Rust แทนแล้ว
ส่วน Event loop ใช้ Tokio ซึ่งเขียนด้วยภาษา Rust
Deno ต่างกับ Node อย่างไร ?
มีเป้าหมายเดียวกัน แต่ต่างที่วิธีการ
โดยที่ Deno จะใช้ ES module
ส่วน external library/dependency จะใช้งานผ่าน URL เลย
ดังนั้นจึงไม่มี package manager และ centralize registry
ทำให้สามารถใช้งานได้จากที่ที่มี internet
สนับสนุน TypeScript โดย default
ดังนั้นไม่ต้องทำการติดตั้งหรือ config ใด ๆ เพิ่มเติม
รวมทั้งยังมี test runner, code formatter และ bundler มาให้พร้อมเลย
ถือว่าสะดวกขึ้น
สิ่งที่สำคัญมาก ๆ ของ Deno คือ security by design
หมายความว่า code ต่างๆ จะถูก execute ใน sandbox นั่นคือ
runtime จะไม่สามารถ
เข้าถึง file system ได้
เข้าถึงระบบ metwork ได้
ทำการ execute script อื่น ๆ ได้
ไม่สามารถใช้งาน environment variable ได้
ถ้าจะใช้งานต้องได้รับการอนุญาตเสมอนะ
ยกตัวอย่างเช่น ลองสร้าง Web server แบบง่าย ๆ
[gist id="768f41b7177d5310075133ee3a64d42c" file="hello.ts"]ทำการ run หน่อย
จะเจอ error เกี่ยวกับ permission ดังนี้
ดังนั้นต้องอนุญาตก่อนดังนี้
[gist id="768f41b7177d5310075133ee3a64d42c" file="2.txt"]น่าสนใจเหมือนกันนะสำหรับ Deno
มาดูกันว่าอนาคตจะเป็นอย่างไรต่อไป ...