Deno ประกาศเฟรมเวิร์ค Fresh เวอร์ชั่น 1.0 พร้อมใช้งานเต็มรูปแบบ หลังจากเปิดตัวมาไม่นานนัก โดย Fresh แตกต่างจากเฟรมเวิร์คอื่นๆ ที่มันพยายามหลีกเลี่ยงการส่งจาวาสคริปต์ไปรันบนเบราว์เซอร์ หากไม่ได้คอนฟิก component ใดเป็นการเฉพาะ เว็บทั้งหมดที่เบราว์เซอร์ได้รับก็จะไม่มีต้องรันจาวาสคริปต์เลย
ทีมงาน Deno ระบุว่าเฟรมเวิร์คทุกวันนี้อาศัยการรันจาวาสคริปต์บนไคลเอนต์จำนวนมาก ผลที่ได้คือผู้ใช้มักต้องดาวน์โหลดโค้ดจาวาสคริปต์ขนาดใหญ่ การทำงานช้าลงโดยเฉพาะในอุปกรณ์เคลื่อนที่ ตัว Fresh จะส่งจาวาสคริปต์ไปเป็นส่วนๆ เฉพาะที่จำเป็น สำหรับนักพัฒนา Fresh ไม่มีขั้นตอนการ build กระบวนการพัฒนาและการ deploy จึงทำได้เร็วกว่าเฟรมเวิร์คอื่นๆ มาก
ก่อนหน้านี้ทีมงานระบุว่ายังไม่ควรใช้งาน Fresh บนโปรดักชั่น แต่การประกาศครั้งนี้ก็แสดงความพร้อมใช้งานแล้ว และเว็บ Deno เองก็รันบน Fresh จำนวนมากแล้ว
ที่มา - Deno
Comments
เจ้านี้ปล่อยของอย่างไว ตั้งแต่ deno ละ เห็นข่าวเปิดตัว อีกแว่บ โผล่มา 1.0 เฉย
ผมต้องย้อนไปดูเลยว่าใช่ตัวเดียวกันรึเปล่า
นี่แหละที่ฉันต้องการ
ที่มันใหญ่เพราะจะ function เล็กหรือใหญ่ ไม่ค่อยจะเขียนเองกัน
มองหา 3rd party library กันลูกเดียว
3rd party library เองก็ไป depend อันอื่นอีก ใหญ่เข้าไปอีก
+
ฟังก์ชันบางตัวมัน implement ง่ายมาก ไม่มีปัญหาเรื่องความปลอดภัยแต่ก็ไม่ยักกะจะเขียนเองกัน พึ่ง 3rd-party กันลูกเดียว สงสัยกลัวทำเองแล้วพัง
แต่พอรัน server side หมดก็ส่งผลลัพธ์ไปอย่างเดียว เจ้าของ product สามารถ monitor โหลดกันเองได้ ไม่ใช่ไปโหลดที่ client ซึ่งตรวจสอบยากกว่ามาก
lewcpe.com, @wasonliw
reply ผมน่าจะ mislead
นี้ผมหมายถึง javascript เฉพาะที่มัน run บน browser น่ะครับ
พอดีผมไม่มีประสบการณ์ใช้ javascript framework ทำเป็น webserver น่ะครับ
ผมเลยนึกว่าทุก response, file ที่ส่งไปที่ client ทำโดยความจงใจของคนเขียน ไม่ใช่ framework เสียอีก
จะว่าไปมันไม่มี gzip, brotli ให้เหรอครับถ้าเป็นพวก text น่าจะ compress ได้เยอะมาก
ผมยังไม่ได้ลองนะครับ แต่ตอบจากการเดาจาก context ว่าแทนที่ build แบบเก่า ซึ่งจะเอาทุก lib มา bundle รวมเป็นก้อน พอ server เรียกใช้ก็ส่ง bundled ไปทั้งก้อน
แต่กรณี Fresh น่าจะบริหาร bundled ได้ แล้วน่าจะมี server ในตัวด้วยเลย ซึ่งน่าจะเลือกส่งเฉพาะส่วนของ code และ lib ที่จะใช้ในหน้านั้นๆ
มั้ง
ไม่ครับ ของ Fresh นี่คือรัน js ทั้งหมดบน server เลย ที่เบราว์เซอร์เห็นกลายเป็น HTML เหมือนพวก PHP เลย ยกเว้นกำหนดเฉพาะว่า JS ตรงไหนต้องรันบน client ค่อยส่ง JS ไปด้วย
lewcpe.com, @wasonliw
ขอบคุณฮะ แสดงว่ามันบริหาร library ส่งเฉพาะที่ต้องใช้ จะไม่ bundle พวก clientside js เป็นก้อนๆ แล้วค่อยส่งไปใช่มั้ยครับ
จะว่าไป bundled นี้ใน framework อื่นๆ เราก็กำหนดเองนี่น่า
ผมว่ามันใหญ่เพราะมันเป็น text file จำนวนมากครับ
บาปยิ่งขึ้นถ้าฝัง base64 blob เข้าไปด้วยด้วยเหตุผลบางอย่าง
รันบน t2.tiny ได้ไหมครับ?