Tags:
Node Thumbnail

Ryan Dahl ผู้เริ่มโครงการ Nodejs เมื่อปี 2009 และออกจากโครงการไปเมื่อปี 2012 กลับมาพัฒนาโครงการ Deno ที่เป็นรันไทม์สำหรับรันจาวาสคริปต์นอกเบราว์เซอร์เหมือนกัน แต่พัฒนาขึ้นด้วยแนวคิดที่ต่างออกไป โดยเลือกใช้ภาษา Rust ในการพัฒนา และสร้างโครงการ rust_v8 สำหรับนำเอาเอนจิน V8 มาใช้งาน และตอนนี้ Deno ก็ออกเวอร์ชั่น 1.0 พร้อมสำหรับการใช้งานจริงแล้ว

ฟีเจอร์สำคัญของ Deno ได้แก่

  • รันโค้ดด้วยความปลอดภัยสูงสุดเป็นค่าเริ่มต้น โค้ดไม่สามารถเชื่อมต่อเน็ตเวิร์ค, เขียนไฟล์, หรือเข้าถึงระบบภายนอกได้หากไม่ได้อนุญาตเป็นพิเศษ เช่นจะทำเว็บเซิร์ฟเวอร์ต้องใส่แฟลก --allow-net
  • รองรับ TypeScript เป็นมาตรฐาน
  • ติดตั้งด้วยไบนารีเดียว
  • มีระบบตรวจสอบ dependency มาในตัว และตัวฟอร์แมตโค้ดแบบมาตรฐาน
  • มีไลบรารีมาตรฐานโดยไม่ต้องพึ่งโครงการภายนอก โดยพอร์ตจากไลบรารีของ Go เป็นหลัก

Ryan Dahl, Bert Belder, และ Bartek Iwańczuk ผู้ประกาศเวอร์ชั่น 1.0 นี้เตือนว่าแม้ Deno จะคล้าย Nodejs แต่มันเป็นคนละโครงการกันเด็ดขาด บางโครงการอาจจะไม่พร้อมที่จะมาใช้ Deno ทดแทน โดยเฉพาะระบบโมดูลที่ไม่สามารถใช้ npm ได้

ที่มา - Deno

No Description

Get latest news from Blognone

Comments

By: Azymik on 15 May 2020 - 06:13 #1158347

ฟีเจอร์สำคัญของ...

By: illuminator
ContributorAndroidUbuntuWindows
on 15 May 2020 - 09:54 #1158379
illuminator's picture

เพิ่ง install ไปเมื่อวาน กะจะลองเล่นดู
เห็นว่าช่วงนี้เขามาแรง


The softest water wears down the hardest rock.

By: risc on 15 May 2020 - 10:14 #1158385

อยากใช้อยู่เหมือนกัน แต่ขอรอดู ecosystem อีกนิด

By: mr_tawan
ContributoriPhoneAndroidWindows
on 15 May 2020 - 11:38 #1158405
mr_tawan's picture

และสร้างโครงการ rust_v8

โห Rust version 8 แล้ว #ผิด


  • 9tawan.net บล็อกส่วนตัวฮับ
By: btoy
ContributorAndroidWindows
on 15 May 2020 - 12:56 #1158429
btoy's picture

ยังเป็นเบบี๋ด้าน Node.js แต่ก็แอบสนใจครับผม


..: เรื่อยไป

By: hisoft
ContributorWindows PhoneWindows
on 15 May 2020 - 14:24 #1158453
hisoft's picture

ค่อนข้างโหยหาเครื่องมือ JS/TS ที่ดีกว่า nodejs อยู่เหมือนกันครับ ผมว่ามันช้าไม่ทันใจและกินเครื่องมากไม่รู้ว่า Deno จะช่วยผมได้หรือเปล่า

แต่จากการที่ nodejs เคยมีแค่ package.json แล้วขยับมาเพิ่ม lock file อีกเนี่ยผมเลยหวังว่า Deno จะไม่เจอปัญหาแบบนั้น (ซึ่งโปรเจคที่ผมเคยทำก่อนจะมี lock file ก็พังไปหลายทีเพราะไม่มี lock file นี่แหละครับ ก็ถือว่าเป็นการแก้ปัญหาที่ตรงจุดอยู่)

By: lew
FounderJusci's WriterMEconomicsAndroid
on 15 May 2020 - 15:39 #1158463 Reply to:1158453
lew's picture

ผมไม่ได้เขียน node (จริงๆ ก็แทบไม่เขียน js เลยยกเว้นแก้นิดๆ หน่อยๆ) แต่คิดว่าแนวทาง std lib นี่สำคัญมาก ข่าว package ประหลาดๆ ใน npm มีปัญหานี่หลายรอบแล้ว ผมเลยมองว่า node นี่พลาดร้ายแรงที่ไม่ทำ stdlib พวกโครงการที่นิ่งๆ อย่าาง python หรือ go ก็มี stdlib ให้ค่อนข้างกว้างขวางจนโครงการจำนวนมากไม่ต้องติดตั้งอะไรเพิ่มเลย


lewcpe.com, @public_lewcpe

By: big50000
AndroidSUSEUbuntu
on 15 May 2020 - 18:39 #1158486 Reply to:1158463
big50000's picture

นึกว่าผมรู้สึกอยู่คนเดียวเสียอีก node มันควรมี lib ตั้งต้นให้มากกว่านี้ ตอนผมเข้ามา node แรก ๆ ผมยังงงเลยว่าจะให้ติดตั้ง express ทำไม ทั้งที่แค่จะทำเว็บเซิร์ฟเวอร์พื้น ๆ แท้ ๆ ขนาด python แค่ตัวรันไทม์ยังแถม SimpleHTTPServer มาให้ ตอนนี้เลยตั้งใจจะใช้ node เป็นหลังบ้านแล้วหาตัว web server เป็นตัวอื่น ๆ แทน

By: panotza
Windows
on 15 May 2020 - 19:17 #1158489 Reply to:1158486

น่าจะเข้าใจผิดครับ node ให้ http.createServer มาครับอันนี้คือ basic http server แล้ว
ส่วน express = framework ครับ

By: big50000
AndroidSUSEUbuntu
on 15 May 2020 - 20:15 #1158497 Reply to:1158489
big50000's picture

ยังต้องเขียนส่วนที่เหลืออีกเพียบครับ ถ้าให้ถูกคือ ต้องติดตั้ง http-server แล้วเรียกใช้ครับ (แน่นอนว่าจะเขียนด้วย http,fs,path แบบไม่โหลดก็ได้ แต่มันมือตอนเขียนแน่นอน)

ที่ผมยก express มาเพราะคนสอนส่วนใหญ่ที่ผมไปอ่าน สอนแต่ตัวนี้กัน ทั้ง ๆ ที่ผมจะหาทาง serve static page เฉย ๆ (ตอนนั้นผมหาวิธีเปิด web server ด้วย node เฉย ๆ นะ)

By: hisoft
ContributorWindows PhoneWindows
on 15 May 2020 - 20:12 #1158496 Reply to:1158463
hisoft's picture

เห็นด้วยสำหรับ stdlib ครับ แต่ผมไม่แน่ใจว่าพวกที่เป็น 3rd party lib นี่จะยังไงกันบ้าง ยังไงก็คงพ่วงกันเป็นทอดๆ อยู่ดี?

By: lew
FounderJusci's WriterMEconomicsAndroid
on 15 May 2020 - 21:02 #1158500 Reply to:1158496
lew's picture

ครับ ก็ดูได้จาก Python ที่มีแนวทางการวม stdlib ค่อนข้างกว้าง (มี database ด้วยซ้ำ แค่ไม่ใช่ SQL) ก็มีโครงการดึงกันเป็นทอดๆ ตามปกติ แต่จะไม่ค่อยมี lib แปลกๆ ทำฟังก์ชั่นแค่ 3-5 บรรทัดแต่ทุกคนใช้กันหมด ลาก dependency จนกระทบทั้ง ecosystem

พอถัดจาก stdlib ขึ้นไป ส่วนที่ใช้งานกันก็จะค่อนข้างเฉพาะทางแต่ละงานไปแล้ว


lewcpe.com, @public_lewcpe

By: hisoft
ContributorWindows PhoneWindows
on 16 May 2020 - 00:08 #1158515 Reply to:1158500
hisoft's picture

จริงด้วยนะครับ ขอบคุณครับ