Image
By lew Founder on Tag: JavaScript, Open Source, Node.js
JavaScript

ไลบรารี Axios สำหรับการเชื่อมต่อ HTTP ไปยังเซิร์ฟเวอร์อื่นๆ ที่นิยมในหมู่นักพัฒนาที่ใช้ Node.JS ออกเวอร์ชั่น 1.0 ซึ่งเป็นเวอร์ชั่นเสถียรตัวแรก ใช้เวลากว่า 6 ปีหลังจากออกเวอร์ชั่นแรกเมื่อปี 2016

โครงการไลบรารีโอเพนซอร์สจำนวนมากมักออกเวอร์ชั่นก่อนหน้าเวอร์ชั่นเสถียรมาเรื่อยๆ และประกาศเวอร์ชั่นเสถียรโดยปรับจากเวอร์ชั่นล่าสุดไม่มากนัก แต่ Axios ออกเวอร์ชั่นก่อนหน้านี้คือ 0.27.2 มาตั้งแต่เดือนเมษายน และออกเวอร์ชั่น 1.0 alpha1 มาเมื่อเดือนมิถุนายนก่อนจะออกเวอร์ชั่นจริงในสัปดาห์นี้ โดยมีความเปลี่ยนแปลงค่อนข้างมาก

By lew Founder on Tag: Cloudflare, JavaScript, Serverless
Cloudflare

Cloudflare เปิดซอร์สโครงการ workerd ที่เป็นแกนหลักของบริการ Cloudflare Workers บริการแบบ serverless ที่ Cloudflare เปิดตัวมาตั้งแต่ปี 2017 แม้ว่าโดยตัวมันเองจะใช้จาวาสคริปต์แต่ก็มี API เฉพาะของตัวเองทำให้ไม่สามารถนำโค้ดไปรันที่อื่นได้

ก่อนหน้านี้ Cloudflare เคยปล่อยโครงการ Miniflare สำหรับจำลอง API ของ Workers เพื่อนักพัฒนามาก่อนแล้วแต่ก็ไม่ตรงกันนัก โครงการ workerd จะทำให้นักพัฒนาสามารถใช้งานรันไทม์ที่มีพฤติกรรมตรงกันแทบทุกจุด (bug-for-bug) กับ Workers บนคลาวด์ของ Cloudflare ทำให้นักพัฒนาสามารถนำโค้ดไปรันบนเซิร์ฟเวอร์ของตัวเองได้จริงๆ

By mk Founder on Tag: TypeScript, JavaScript, Programming, CircleCI, CI/CD, Ranking, Terraform
TypeScript

CircleCI บริษัทซอฟต์แวร์ด้าน continuous integration (CI) สรุปสถิติการใช้งานของลูกค้าจำนวน 2 ล้านคน ให้เห็นกันว่าภาพรวมของวงการ software delivery ในปัจจุบันเป็นอย่างไร

สถิติหนึ่งที่น่าสนใจคือ ภาษาโปรแกรมยอดนิยมที่ถูกใช้งาน build ผ่านระบบ workflow ของ CircleCI ปรากฏว่าแชมป์เก่า JavaScript ถูกโค่นซะแล้ว กลายเป็น TypeScript ที่มาแรงจนแซงหน้าขึ้นเป็นเบอร์หนึ่งแทน (JavaScript ตกเป็นที่ 2, อันดับ 3 Ruby, อันดับ 4 Python, อันดับ 5 Go)

By lew Founder on Tag: Bun, JavaScript
Bun

Jarred Sumner นักพัฒนา Front End ที่หันมาพัฒนารันไทม์จาวาสคริปต์ Bun โดยชูจุดแข็งความเร็วเหนือกว่ารันไทม์ยอดนิยม ประกาศเปิดบริษัท Oven ที่จะเป็นผู้พัฒนาหลักของ Bun

Bun ได้รับความนิยมอย่างสูงในเวลาอันสั้น ตอนนี้มีดาวบน GitHub แล้ว 32,000 ดาว พร้อมกับสมาชิกใน Discord อีกถึง 14,000 คน ตอนนี้เป้าหมายการพัฒนาคือการออกรุ่นเสถียรภายใน 6 เดือนข้างหน้า

By lew Founder on Tag: Deno, JavaScript, NPM
Deno

Deno โครงการรันไทม์จาวาสคริปต์ประกาศแผนการพัฒนาเพิ่มเติม โดยจุดใหญ่ที่สุดคือการรองรับแพ็กเกจต่างๆ จาก npm ทำให้สามารถใช้แพ็กเกจแบบเดียวกับใน NodeJS ได้ แม้ว่าภายในแล้ว Deno จะต่างกับ NodeJS พอสมควร

By lew Founder on Tag: Astro, JavaScript, Framework
Astro

เว็บเฟรมเวิร์ค Astro ประกาศออกเวอร์ชั่น 1.0 หลังเปิดตัวมา 16 เดือน และพัฒนาจากเดิมที่มองว่าเป็น static site generator สำหรับสร้างเว็บที่ไม่มีความเปลี่ยนแปลงใดๆ เป็นหลัก มาเป็นเฟรมเวิร์คเต็มรูปแบบ แข่งขับกับเฟรมเวิร์คยอดนิยม เช่น NextJS

ในเวอร์ชั่น 1.0 ความเปลี่ยนแปลงสำคัญ ได้แก่

By mk Founder on Tag: JavaScript, JSON, Programming
JavaScript

Douglas Crockford โปรแกรมเมอร์ผู้สร้าง JSON ในปี 2000 ออกมาให้สัมภาษณ์วิจารณ์ JavaScript ว่าพัฒนาช้ามากในช่วง 20 ปีที่ผ่านมา จากที่เขาเคยเป็นกองเชียร์ JavaScript และพยายามแก้ปัญหาหลายๆ อย่าง ก็ประสบความสำเร็จน้อยมากใน ECMAScript 5 ที่เป็นเวอร์ชันใหญ่เมื่อปี 2009 จนตอนนี้เขามองว่า JavaScript เป็นภาษาไดโนเสาร์ที่ไม่ทันโลก และควรเลิกใช้กันดีกว่า (The best thing we can do today to JavaScript is to retire it.)

Crockford ยังให้ความเห็นว่าชุมชน JavaScript พยายามพัฒนาตัวภาษาให้บวมขึ้นกว่าเดิม แทนที่จะพัฒนามันให้ดีกว่าเดิม อย่างไรก็ตาม ปัญหาคือเราไม่มีภาษาอื่นมาใช้ทดแทนแนวทาง JavaScript แก้แก้โครงของ DOM ในเบราว์เซอร์ ซึ่งก็ไม่ง่ายเลยที่จะสร้างภาษาใหม่ขึ้นมาแล้วให้เบราว์เซอร์ทุกตัวยอมรับ

เขายังแสดงความเห็นต่อภาษาโปรแกรมในภาพรวมว่า ภาษาส่วนใหญ่ที่เราใช้กันถูกออกแบบมาตั้งแต่ยุคโพรเซสเดียวบนคอมพิวเตอร์เครื่องเดียว ซึ่งโลกเปลี่ยนจากนั้นไปมากแล้ว

By lew Founder on Tag: Bun, JavaScript, Open Source
Bun

Jarred Sumner นักพัฒนา Front End เปิดตัวโครงการ Bun รันไทม์จาวาสคริปต์ที่พยายามแข่งกับ Node และ Deno โดยชูจุดเด่นที่ความเร็วเหนือกว่ารันไทม์ยอดนิยมในหลายๆ ด้าน มันมาพร้อมกับตัวจัดการแพ็กเกจและตัวแปลงโค้ด (transpile) จาก TypeScript เป็นจาวาสคริปต์ในตัว

By mk Founder on Tag: Deno, JavaScript, Startup
Deno

บริษัท Deno ของผู้สร้าง Node.js ที่หันมาทำเฟรมเวิร์คจาวาสคริปต์ที่เขียนด้วย Rust ตั้งแต่ปี 2020 ประกาศข่าวระดมทุน Series A มูลค่า 21 ล้านดอลลาร์จากนักลงทุนหลายราย นำโดย Sequoia Capital และมี Nat Friedman ผู้ร่วมก่อตั้ง Xamain และอดีตซีอีโอ GitHub มาร่วมลงทุนด้วย

By mk Founder on Tag: Meta, JavaScript, Open Source
Meta

บริษัท Meta ประกาศยกโครงการ Jest เฟรมเวิร์คสำหรับรันทดสอบจาวาสคริปต์ ให้เป็นของมูลนิธิ OpenJS Foundation

Jest ถือเป็นเฟรมเวิร์คสำหรับรันทดสอบยอดนิยมตัวหนึ่ง มียอดดาวน์โหลดสัปดาห์ละ 17 ล้านครั้ง ถูกเขียนขึ้นตั้งแต่ปี 2011 ในชื่อว่า "jst" โดยใช้กับฟีเจอร์ Facebook Chat (ในขณะนั้นยังไม่เรียก Messenger) ที่ถูกเขียนใหม่เป็นจาวาสคริปต์ แต่บริษัทพบว่าไม่มีเฟรมเวิร์คสำหรับจาวาสคริปต์ที่ดีพอ จึงสร้างขึ้นมาเอง

By lew Founder on Tag: JavaScript, Deno, Netlify, Serverless
JavaScript

Netlify ผู้ให้บริการคลาวด์สำหรับการพัฒนาเว็บ เปิดบริการ Netlify Edge Functions บริการ serverless โดยใช้ Deno เป็นเอนจินภายในที่อาจจะใช้สำหรับรันงานเฉพาะทาง เช่น เรนเดอร์ภาพ, แก้ไขคอนเทนต์ก่อนส่งถึงผู้ใช้, ทดสอบผู้ใช้แบบ A/B ไปจนถึงการรันเฟรมเวิร์ค front-end เต็มรูปแบบ

By mk Founder on Tag: React, JavaScript, Development
React

React ออกเวอร์ชัน 18.0 ถือเป็นการออกเวอร์ชันใหญ่ครั้งแรกนับจาก React 17.0 ในปี 2020 ที่ไร้ฟีเจอร์ใหม่ รอบนี้จึงมีฟีเจอร์ใหญ่สะสมมาออกทีเดียวหลายอย่าง

ฟีเจอร์สำคัญที่สุดคือ Concurrent React เป็นการเปิดให้มี UI หลายเวอร์ชันในเวลาเดียวกัน (concurrency) โดย Concurrent React เป็นการปรับกลไกภายในของ React เองให้รองรับฟีเจอร์ใหม่สาย concurrency ต่างๆ ซึ่งนักพัฒนาสามารถเลือกใช้ได้แบบ opt-in

ทีมพัฒนา React บอกว่าในระยะใกล้ นักพัฒนาแอพจะเลือกใช้ Concurrent หรือไม่ก็ได้ แต่ในระยะยาวแล้ว หลายส่วนใน React จะมุ่งไปทาง Concurrent มากขึ้น

By lew Founder on Tag: Security, NPM, JavaScript
Security

RIAEvangelist นักพัฒนาโมดูล node-ipc ที่ได้รับความนิยมสูง ใส่โค้ดเพื่อลบไฟล์ผู้ใช้หากตรวจสอบไอพีแล้วพบว่าผู้ใช้อยู่ในรัสเซียหรือเบลารุส ไม่ว่าผู้ใช้จะติดตั้งโมดูลโดยตรงหรือติดตั้งจาก dependency โมดูลอื่นๆ ก็ตาม

ทาง GitHub ออกมาประกาศว่าเวอร์ชั่น 10.1.1 และ 10.1.2 ที่ผู้ดูแลใส่โค้ดเข้ามานี้เป็นช่องโหว่ร้ายแรงระดับวิกฤติ ตอนนี้ทาง NPM ได้ลบเวอร์ชั่นเหล่านี้ออกแล้ว และมีการอัพเดตเป็นเวอร์ชั่น 10.1.3

By mk Founder on Tag: JavaScript, TypeScript, Programming, Microsoft, ECMA
JavaScript

ข้อจำกัดประการสำคัญของ JavaScript คือการไม่กำหนดชนิดของตัวแปร (type) แบบตายตัว (static typing) เมื่อ JavaScript ได้รับความนิยมเพิ่มขึ้นเรื่อยๆ จึงมีคนพยายามแก้ปัญหานี้ด้วยการประดิษฐ์ภาษาหรือเครื่องมือใหม่ๆ ที่เป็น JavaScript แบบมี type เข้ามา (เช่น TypeScript, Closure Compiler หรือ Flow) เพื่อจัดระเบียบการเขียนโค้ดให้มีโครงสร้างมากขึ้น

แนวทางของภาษาแบบ TypeScript คือให้มนุษย์เขียนโค้ดด้วยภาษาใหม่ที่มีระเบียบขึ้น จากนั้นใช้เครื่องมือ "แปลง" (ในที่นี้คือ transpiler) ภาษาใหม่กลับมาเป็น JavaScript อีกทีหนึ่ง

By lew Founder on Tag: NPM, JavaScript
NPM

Russ Cox วิศวกรกิตติมศักดิ์ (Distinguished Engineer) ของกูเกิล และทีมพัฒนาภาษา Go เขียนบล็อคถึงประเด็นที่นักพัฒนาโมดูล color.js และ faker.js ใส่โค้ดทำให้แอปอื่นๆ พังโดยจงใจ ว่ายังดีที่โค้ดนี้ไม่ได้ทำอะไรมุ่งร้ายมากไปกว่าทำให้แอปพังเพราะโค้ดพิมพ์ขยะจนเต็มหน้า แต่หลังจากเหตุการณ์นี้ NPM ควรปรับปรุงเพื่อรับมือปัญหาแบบนี้ในอนาคต

By lew Founder on Tag: JavaScript, NPM, GitHub
JavaScript

ผู้ใช้ GitHub ชื่อบัญชี Marak เป็นผู้ดูแลโครงการโอเพนซอร์สจำนวนมากและช่วงสัปดาห์ที่ผ่านมาเขาใส่โค้ดรัน infinite loop เข้าไปยังโครงการ color.js (4,300 stars) และ faker.js (795 stars) ส่งผลให้โมดูลและแอปอื่นๆ ที่ใส่โมดูลเหล่านี้เป็น dependency ไม่สามารถทำงานได้ หน้าจอจะค้างและพิมพ์ขยะออกมาไม่หยุด

By mk Founder on Tag: Angular, JavaScript
Angular

เฟรมเวิร์ค AngularJS เวอร์ชันแรก 1.x ที่เปิดตัวตั้งแต่ปี 2010 หมดระยะซัพพอร์ตแล้วเมื่อสิ้นปี 2021 ถือเป็นการปิดตำนาน AngularJS เวอร์ชันแรกที่เขียนด้วยภาษา JavaScript

เมื่อปี 2015 กูเกิลจับมือกับไมโครซอฟท์สร้างเฟรมเวิร์ค Angular (ไม่มี JS) ด้วยภาษา TypeScript ขึ้นมาใหม่แทนการพัฒนา AngularJS เวอร์ชันแรกต่อ และยังใช้งานมาจนถึงปัจจุบัน (เวอร์ชันล่าสุดขณะที่เขียนคือ 13.x ออกเมื่อปลายปี 2021)

By mk Founder on Tag: Ruby, Rails, Node.js, Development, JavaScript
Ruby

Ruby on Rails ออกเวอร์ชันใหญ่ 7.0 ซึ่งมีการเปลี่ยนแปลงสำคัญ 2 เรื่องคือ ไม่ต้องผูกกับโลกของ Node.js อีกแล้ว และเปลี่ยนระบบ front-end มาเป็นตัวใหม่คือ Hotwire

David Heinemeier Hansson หรือ DHH ผู้สร้าง Rails อธิบายว่าโครงสร้างของภาษา JavaScript ในอดีตเป็นปัญหาของโปรแกรมเมอร์มาก ทางออกจึงเป็นการเขียนภาษาอื่นแล้วแปลงเป็น JavaScript (เรียกว่า transpiling เช่น CoffeeScript หรือ Babel) ที่ช่วยให้เขียนโค้ดง่ายขึ้น แต่ก็ต้องแลกมาด้วยความซับซ้อนที่เพิ่มขึ้น

By mk Founder on Tag: Vercel, Next.js, Development, JavaScript, Startup
Vercel

บริษัท Vercel ผู้สร้างเฟรมเวิร์คจาวาสคริปต์ชื่อดัง Next.js ประกาศระดมทุนซีรีส์ D จำนวน 150 ล้านดอลลาร์ ทำให้บริษัทมีมูลค่า 2.5 พันล้านดอลลาร์

By lew Founder on Tag: NPM, JavaScript
NPM

ไลบรารี coa หรือ Command-Option-Argument เป็นไลบรารีสำหรับอ่านคำสั่ง command line ยอดนิยมบน npm ถูกแฮกและคนร้ายสามารถปล่อยเวอร์ชั่นมุ่งร้าย 2.0.3, 2.0.4, 2.1.1, 2.1.3, และ 3.1.3 ให้เหยื่อดาวน์โหลดผ่าน npm ได้สั้นๆ ไม่กี่ชั่วโมง

อัตราการใช้งาน coa สูงมาก มียอดดาวน์โหลดเกือบ 9 ล้านครั้งต่อสัปดาห์ ช่วงเวลาไม่กี่ชั่วโมงก็อาจจะถูกดาวน์โหลดไปแล้วนับแสนครั้ง

Subscribe to JavaScript