Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

มาลอง Deno กัน

$
0
0

อ่าน 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 นี้

https://www.youtube.com/watch?v=M3BM9TB-8yA&h=480

ปล. ในช่วงแรกของ 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="1.txt"]

ดังนั้นต้องอนุญาตก่อนดังนี้

[gist id="768f41b7177d5310075133ee3a64d42c" file="2.txt"]

น่าสนใจเหมือนกันนะสำหรับ Deno
มาดูกันว่าอนาคตจะเป็นอย่างไรต่อไป ...


Viewing all articles
Browse latest Browse all 1997

Trending Articles