Tags:
Node Thumbnail

Redmonk บริษัทวิเคราะห์ข้อมูลนักพัฒนา ออกรายงานอันดับภาษาโปรแกรมยอดนิยมประจำไตรมาสสามปี 2021 โดยใช้แหล่งข้อมูลจาก GitHub (จำนวนโค้ด/แกนนอน) และ Stack Overflow (จำนวนการพูดคุย/แกนตั้ง) มาผสมกัน

ผลจากการจัดอันดับของ Redmonk ไม่ต่างจากอันดับของสำนักอื่นๆ (เช่น JetBrains หรือ GitHub) เพราะ Top 3 เป็นภาษายอดนิยมชุดเดียวกัน โดยอันดับหนึ่งคือ JavaScript ตามด้วย Python และ Java เป็นอันดับสองร่วม

Tags:
Node Thumbnail

JetBrains ออกรายงานสำรวจข้อมูลนักพัฒนาประจำปี 2021 จากผู้ตอบแบบสอบถาม 31,743 คนใน 183 ประเทศ มีข้อมูลที่น่าสนใจดังนี้

Tags:
Node Thumbnail

กูเกิลออก Chrome 91 ที่ระบุว่าเร็วขึ้นสูงสุด 23% อันเป็นผลมาจากคอมไพเลอร์จาวาสคริปต์ตัวใหม่ Sparkplug

เดิมทีเอนจิน V8 ของ Chrome มีคอมไพเลอร์ 2 ระดับคือ Ignition ที่เริ่มแปลงจาวาสคริปต์ชั้นแรกเป็น byte code และ Turbofan ทำหน้าที่ปรับแต่ง (optimize) เป็น machine code ที่มีประสิทธิภาพสูง โดยอิงจากข้อมูลที่ได้ตอนแปลง byte code มาช่วยปรับแต่ง ปัญหาของแนวทางเดิมคือ Turbofan เริ่มทำงานช้ากว่า Ignition มาก

Tags:
Node Thumbnail

Deno รันไทม์สำหรับรันจาวาสคริปต์บนเซิร์ฟเวอร์ คู่แข่ง NodeJS ออกเวอร์ชั่น 1.9 โดยมีฟีเจอร์ใหญ่คือการเตรียมเปลี่ยน HTTP Server ในตัว จากเดิมที่เป็นเซิร์ฟเวอร์เขียนด้วย TypeScript มาเป็นโครงการ Hyper ที่เป็นภาษา Rust (ตัว Deno เองเป็น Rust อยู่แล้ว)

การเปลี่ยนเซิร์ฟเวอร์ใหม่ทำให้ Deno จะรองรับ HTTP/2 ไปด้วย และประสิทธิภาพยังดีขึ้นถึง 48% จากการทดสอบตอบกลับด้วยข้อความ Hello World อย่างเดียว แต่ตอนนี้ฟีเจอร์นี้ยังปิดไว้เป็นค่าเริ่มต้น ต้องเปิดด้วยออปชั่น --unstable เท่านั้น

ฟีเจอร์อื่นๆ เช่น

Tags:
Node Thumbnail

Deno โครงการรันไทม์จาวาสคริปต์สำหรับเซิร์ฟเวอร์คู่แข่ง Nodejs ที่สร้างโดยผู้เริ่มโครงการ Nodejs เองประกาศตั้งบริษัท Deno Company พร้อมเงินทุนประเดิม 4.9 ล้านดอลลาร์

ในบล็อคประกาศเปิดตัวบริษัท ผู้ก่อตั้ง Deno ยืนยันว่าโครงการ Deno จะเป็นโอเพนซอร์สสัญญาอนุญาต MIT ต่อไป และจะไม่กั๊กฟีเจอร์บางส่วนเอาไว้ทำการค้า (รูปแบบ open core) ที่โครงการโอเพนซอร์สจำนวนมากทำกัน แต่จะสร้างธุรกิจจากโครงการโอเพนซอร์สแทน

แม้ในการประกาศครั้งนี้จะไม่ได้ระบุว่าธุรกิจที่จะทำเงินมีอะไรบ้าง แต่ Deno ก็มีบริการ Deno Deploy บริการรันไทม์จาวาสคริปต์ที่รันบน CDN ทั่วโลกให้บริการอยู่

Tags:
Node Thumbnail

Alex Birsan รายงานถึงการโจมตีองค์กรขนาดใหญ่จำนวนมากด้วยการสร้างแพ็กเกจไลบรารีเลียนแบบชื่อไลบรารีในองค์กรแล้วไปวางตามบริการดาวน์โหลดไลบรารีไม่ว่าจะเป็น RubyGems, npm, หรือ PyPI

องค์กรขนาดใหญ่จำนวนมากมักมีไลบรารีเฉพาะทางของตัวเองใช้งานภายในเป็นเรื่องปกติ และหลายครั้งชื่อไลบรารีเหล่านี้ก็หลุดออกมาสู่โลกภายนอก เช่น Paypal เคยทำไฟล์ package.json ที่ใช้ภายในหลุดออกมาอยู่บน GitHub ทำให้รู้ว่าบริษัทมีการใช้งานไลบรารีภายในเช่น pplogger, auth-paypal, wurfl-paypal, analytics-paypal เป็นต้น หรือแม้แต่แอปเปิลก็เคยทำรายชื่อแพ็กเกจเหล่านี้หลุดออกมาเช่นกัน

Tags:
Node Thumbnail

วันที่ 4 ธันวาคม 1995 เป็นวันแรกที่ Netscape และ Sun Microsystems ประกาศเปิดตัวภาษา JavaScript ร่วมกัน เปิดโลกเข้าสู่ยุคที่เบราว์เซอร์สามารถรันโปรแกรมได้ในตัว จากเดิมเป็นเพียงโปรแกรมแสดงผลเอกสารเท่านั้น

ประกาศยังแสดงให้เห็นว่าเหตุผลของชื่อ JavaScript แม้ว่าภาษานี้จะสมบูรณ์ในตัวเอง แต่ทาง Sun ก็ระบุว่า JavaScript จะเป็นตัวเติมเต็ม Java Applet (ปลั๊กอินแสดงโปรแกรมซับซ้อนในเบราว์เซอร์ ที่ถูก Macromedia Flash ชิงตลาดไปในภายหลัง) จุดน่าสนใจเช่นทั้งสองบริษัทประกาศตั้งแต่แรกว่า JavaScript สามารถใช้งานบนเซิร์ฟเวอร์ได้ และบริษัทที่ซื้อซอร์สโค้ด Java ไปก็จะได้สิทธิ์ใช้ซอร์สโค้ด JavaScript ด้วย

Tags:
Node Thumbnail

โครงการ Deno รันไทม์ JavaScript/TypeScript ที่เขียนด้วยภาษา Rust ของผู้สร้าง Node.js เปิดตัวเวอร์ชัน 1.0 ไปเมื่อเดือนพฤษภาคม

ตอนนี้ Deno เดินทางมาถึงเวอร์ชัน 1.5 โดยปรับปรุงทั้งเรื่องฟีเจอร์และประสิทธิภาพอย่างรวดเร็ว ของใหม่ในเวอร์ชันนี้คือ Deno เปลี่ยนมาใช้คอมไพเลอร์ชื่อ swc ที่เขียนด้วยภาษา Rust เช่นกัน ทำให้ประสิทธิภาพตอนเช็คชนิดของตัวแปร (type-check) เพิ่มขึ้น 3 เท่า (หรือ 15 เท่าถ้าระบุว่าไม่ต้องเช็คเลย)

ในฝั่งของขนาดโค้ด ทีม Deno ปรับวิธีการจัดการไฟล์ bundle ใหม่ ให้ลดขนาดโค้ดลงได้มาก บาง bundle อาจมีขนาดลดลงได้ถึง 35%

Tags:
Node Thumbnail

Firefox ออกเวอร์ชัน 83 โดยถือเป็นรุ่นที่มีของใหม่หลายอย่าง ฟีเจอร์สำคัญคือการอัพเกรดเอนจินจาวาสคริปต์ SpiderMonkey ครั้งใหญ่ อัพเดตตัวนี้มีชื่อว่า Warp (หรือ WarpBuilder) เป็นการปรับปรุงกระบวนการทำงานของคอมไพเลอร์ just-in-time (JIT) ใหม่ ผลที่ได้คือประสิทธิภาพดีขึ้น 20% ในการโหลดหน้าเว็บ Google Docs, เฉลี่ยแล้ว 15%, ตอบสนองดีขึ้น 12% และใช้หน่วยความจำน้อยลง 8% โดยเฉลี่ย (รายละเอียดเรื่อง Warp สำหรับผู้สนใจ)

Tags:
Node Thumbnail

Next.js เฟรมเวิร์คเว็บ React แบบ server side render (SSR) ออกเวอร์ชั่น 10.0 โดยมีฟีเจอร์ใหม่เพิ่มขึ้นหลายอย่าง เช่น

Tags:
Node Thumbnail

โครงการ ReactJS ประกาศออกเวอร์ชั่น 17 ที่ระบุชัดว่าไม่มีฟีเจอร์ใหม่ แต่เป็นการปรับโครงสร้างเพื่อรองรับการอัพเกรดทีละส่วน และฟีเจอร์ใหม่ทั้งหมดถูกดันออกไปใน ReactJS 18

เดิมแอปที่พัฒนาด้วย ReactJS จะต้องอัพเกรดตัวเฟรมเวิร์คพร้อมกันทั้งแอป แต่หลายครั้งโค้ดบางส่วนไม่ได้พัฒนามานานทำให้ไม่สามารถอัพเกรดได้ ใน ReactJS 17 จะเปิดทางให้แอปสามารถดาวน์โหลด React เวอร์ชั่นเก่าขึ้นมาใช้งานบางส่วนได้ ทาง React เตรียมแอปสาธิตเอาไว้ โดยสามารถรัน React JS 17.0 ในแอปหลัก และรัน ReactJS 16.8 หรือเก่ากว่านั้นในบาง component ได้

Tags:
Node Thumbnail

AWS โอเพนซอร์สโครงการ Diagram Maker ไลบรารีจาวาสคริปต์สำหรับสร้างตัววาดแผนภาพ ที่แอปพลิเคชั่นจำนวนมากก็ต้องใช้งานกันอยู่แล้ว โดย AWS ระบุว่าไลบรารีที่มีอยู่เดิมไม่เหมาะกับงาน IoT เนื่องจากไลบรารีบางตัวก็เป็นระดับล่างเกินไปหรือบางตัวมี API ระดับสูงก็อินทิเกรดกับแอปพลิเคชั่นได้ยาก

Diagram Maker ของ AWS มีฟีเจอร์มาให้ในตัวค่อนข้างครบ ได้แก่

Tags:
Node Thumbnail

เก็บตกข่าวความเคลื่อนไหวฝั่ง React Native นะครับ ตัวโครงการ React Native ที่พัฒนาโดย Facebook รองรับเพียงแค่ 2 แพลตฟอร์มมือถือคือ Android และ iOS

แต่เมื่อปีที่แล้ว ไมโครซอฟท์อาสาเข้ามาทำ React Native for Windows โดยรองรับทั้งการสร้างแอพแบบ WPF และ UWP

Tags:
Node Thumbnail

Vue.js เฟรมเวิร์คจาวาสคริปต์ยอดนิยมอีกตัวประกาศออกรุ่น 3.0 One Piece หลังจากพัฒนามานานถึงสองปี มีการปรับปรุงตามข้อเสนอทั้งหมด 37 รายการ นักพัฒนาที่เกี่ยวข้องรวม 99 คน

โครงสร้างภายในของ Vue 3.0 ถูกแตกออกเป็นโมดูลย่อยๆ จำนวนมากเพื่อให้ระยะเวลาโหลดน้อยลงและการดูแลง่ายขึ้น รวมถึงการใช้ API ระดับล่างสำหรับงานเฉพาะทางก็ทำได้แล้วในเวอร์ชั่นนี้

จุดเด่นคือประสิทธิภาพการรัน Vue ดีขึ้นทุกกรณีเทียบกับ Vue 2 และการใช้แรมก็ลดลงเหลือครึ่งเดียวเท่านั้น

Tags:
Node Thumbnail

Moment.js ไลบรารีแสดงวันและเวลาในภาษาจาวาสคริปต์ที่ได้รับความนิยมสูง (ดาวบน GitHub มากกว่า 44,000 ดาว และยอดดาวน์โหลดสัปดาห์ละ 12 ล้านครั้ง) ประกาศหยุดพัฒนาโดยระบุเหตุผลว่าโครงสร้างเดิมไม่เหมาะกับนักพัฒนาใหม่ และตัวจาวาสคริปต์เองก็มีออปเจก์ Intl เพื่อรองรับวิธีการแสดงวันและเวลาแล้ว แต่ Moment.js ไม่รองรับ

กระบวนการหยุดพัฒนาของ Moment.js จะแก้ไขช่องโหว่ร้ายแรงต่อไป และจะเพิ่ม timezone ใหม่ๆ ตามฐานข้อมูลของ IANA แต่จะไม่มีการเพิ่มฟีเจอร์ใดๆ รวมถึงไม่มีการแก้ไขพฤติกรรมแปลกๆ (quirk) และไม่มีการออกเวอร์ชั่น 3 อีก

ทาง Moment.js แนะนำไลบรารีทดแทนหลายตัว ได้แก่

Tags:
Node Thumbnail

Josh Larson วิศวกร Vox Media สร้างเฟรมเวิร์ค Flareact เป็นเฟรมเวิร์คทดลองที่ได้รับแรงบันดาลใจมาจาก Next.js เพื่อให้แอปพลิเคชั่นแบบ React สามารถเรนเดอร์ด้วย Cloudflare Workers ได้

ปกติแล้ว React ออกแบบสำหรับสร้างแอปพลิเคชั่นที่เรนเดอร์ฝั่งเบราว์เซอร์ทั้งหมด หลายครั้งประสิทธิภาพบนเบราว์เซอร์ไม่ดีนัก และบริการหลายตัวที่ต้องการอ่าน HTML โดยไม่สามารถเรนเดอร์ React ได้ก็จะได้ข้อมูลไม่ครบ การทำ server side rendering (SSR) จึงเป็นฟีเจอร์สำคัญที่หลายเว็บใช้งานกัน เช่น Next.js ที่ได้รับความนิยมสูง

Tags:
Node Thumbnail

Bootstrap เฟรมเวิร์คสำหรับเขียนเว็บชื่อดัง ประกาศออกเวอร์ชัน 5.0 Alpha 1 มีการเปลี่ยนแปลงสำคัญคือเลิกใช้เฟรมเวิร์ค jQuery ที่ใช้มายาวนาน เปลี่ยนมาใช้โค้ด JavaScript ปกติแทน ด้วยเหตุผลว่าฟีเจอร์ของ JavaScript และเบราว์เซอร์รุ่นใหม่ๆ สามารถทดแทน jQuery ได้แล้ว

ผลของการเลิกใช้ JQuery ช่วยให้ขนาดไฟล์เว็บที่สร้างด้วย Bootstrap เล็กลง และเว็บเพจโหลดได้เร็วขึ้น ทีมงาน Bootstrap บอกว่ายังต้องปรับปรุงแก้ไขการแสดงผลอีกหลายจุดหลังถอด jQuery ออกไป ซึ่งก็จะค่อยๆ แก้ไขในรุ่นทดสอบถัดๆ ไป

Bootstrap 5 ยังเลิกซัพพอร์ต Internet Explorer แล้ว ทำให้เรียกใช้ฟีเจอร์เว็บใหม่ๆ ได้ เช่น CSS custom properties

Tags:
Node Thumbnail

JetBrains ผู้พัฒนา IDE และสร้างภาษา Kotlin เปิดเผยผลสำรวจ The State of Developer Ecosystem ประจำปี 2020 ซึ่งเป็นการรายงานปีที่ 4 จากการสอบถามนักพัฒนา 19,696 คน ใน 18 ประเทศ มีประเด็นที่น่าสนใจดังนี้

  • Python แซง Java ในแง่ภาษาที่มีการใช้งานในช่วง 12 เดือน แต่ถ้าวัดภาษาหลักที่ใช้งาน Java ยังสูงกว่า
  • JavaScript ยังเป็นภาษาอันดับหนึ่งที่มีการใช้งาน (70% ของผู้ตอบแบบสำรวจ)
  • Go, Kotlin และ Python เป็น 3 อันดับภาษา ที่นักพัฒนามีแผนจะใช้งานในอนาคตมากที่สุด
Tags:
Node Thumbnail

ทีมงานซอฟต์แวร์ของ SpaceX ตั้งกระทู้ตอบคำถามบน Reddit ให้คนทั่วไปตั้งคำถามใดๆ ก็ได้ ทำให้ทีมงานมีโอกาสเปิดเผยข้อมูลเพิ่มเติม โดยประเด็นที่สำคัญคือหน้าจอสัมผัสของยาน Dragon นั้นรันอยู่บน Chromium โดยมีไลบรารีจาวาสคริปต์แบบ reactive ที่พัฒนาขึ้นเองเป็นการภายใน โดยหน้าจอนี้ไม่เกี่ยวอะไรกับหน้าจอรถของ Tesla

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

Tags:
Node Thumbnail

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

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

Tags:
Topics: 
Node Thumbnail

โมดูล is-promise เป็นโมดูลง่ายๆ บน npm ที่ใช้ตรวจสอบว่าออปเจกต์ใดเป็น Promise บ้าง โดยตัวโมดูลเองมีความยาวเพียง 5 บรรทัดเท่านั้น (โค้ดอยู่ในภาพ) แต่การอัพเดตครั้งล่าสุดในเวอร์ชั่น 2.2.0 กลับทำให้โมดูลจำนวนมากไม่ทำงาน

ความผิดพลาดเกิดจากความพยายามซัพพอร์ต ES module แต่คอนฟิกที่ใส่มากลับไม่สมบูรณ์ ทำให้คำสั่งสำคัญๆ เช่น create-react-app หรือ firebase-tools ติดตั้งใหม่ไม่ได้

แพ็กเกจที่ติดตั้งไปก่อนแล้วยังคงทำงานได้ และคำแนะนำแรกๆ หลังมีปัญหานี้คือให้ย้อนกลับไปใช้เวอร์ชั่น 2.1.0 ส่วนตอนนี้ทาง is-promise ออกเวอร์ชั่น 2.2.1 ที่แก้ปัญหาแล้ว

Tags:
Node Thumbnail

Wikipedia ถือกำเนิดมาตั้งแต่ปี 2001 โดยใช้ซอฟต์แวร์ MediaWiki ที่เขียนขึ้นในยุคนั้น ซึ่งปัจจุบันก็มีหลายส่วนที่เริ่มล้าสมัยแล้ว

มูลนิธิ Wikimedia Foundation ในฐานะผู้ดูแลโครงการ Wikipedia จึงพยายาม "ยกเครื่อง" ซอฟต์แวร์ MediaWiki ให้ทันสมัยขึ้น หนึ่งในแผนการคือเปลี่ยนมาใช้เฟรมเวิร์คจาวาสคริปต์ตัวใหม่ๆ แทน jQuery ที่ใช้มานาน และเฟรมเวิร์คของตัวเองที่ชื่อ OOUI

คณะทำงานมีเกณฑ์การคัดเลือกเฟรมเวิร์คหลายข้อ เช่น ต้องนิยาม UI แบบ declarative, ตัว UI ต้องอัพเดตแบบ reactive (ตามการป้อนข้อมูลของผู้ใช้), เป็นโครงการโอเพนซอร์สที่มีชุมชนเหนียวแน่น, ประสิทธิภาพสูง, ยืดหยุ่นต่อการใช้งานหลายสถานการณ์

Tags:
Node Thumbnail

เฟซบุ๊กเปิดซอร์สโครงการ Rome ชุดเครื่องมือพัฒนาจาวาสคริปต์ โดยรวมเอาทั้ง compiler, linter, formatter, bundler, และเฟรมเวิร์คทดสอบโค้ดในชุดเดียวกัน

จุดพิเศษของโครงการ Rome คือการตั้งเป้าว่าชุดเครื่องมือทั้งหมดจะสมบูรณ์ในตัวเอง ไม่ต้องใช้ dependency ภายนอกอีก ตัวโครงการเองใช้ compiler ในโครงการมา compile ตัวเอง ขณะที่การพัฒนาทั้งหมดใช้ภาษา TypeScript

โครงการพัฒนาโดยทีม React Native และตอนนี้ยังอยู่ในระดับทดลองเท่านั้นยังไม่มีไบนารีออกมาให้ดาวน์โหลด แต่ทางเฟซบุ๊กระบุว่าโครงการนี้จะพัฒนาร่วมกับภายนอกอย่างชัดเจน การสื่อสารในโครงการจะใช้ GitHub, Discord, และ Twitter ไม่มีช่องทางสื่อสารหลังบ้าน

Tags:
Node Thumbnail

Node.js ออกเวอร์ชัน 13.0 (และออกรุ่นแก้บั๊ก 13.0.1 ตามมาในวันถัดมา) ถือเป็นเวอร์ชันแรกของ Node.js สาย 13.x

ระบบการออกรุ่นของ Node.js ในปัจจุบันคือออกเวอร์ชันใหญ่ทุก 6 เดือน โดยแบ่งเป็นรุ่นเลขคี่ (ไม่เสถียร) และรุ่นเลขคู่ (เสถียร) และมีเงื่อนไขว่าเมื่อออกรุ่นเลขคี่แล้ว จะปรับเวอร์ชันของรุ่นเลขคู่เป็นรุ่นซัพพอร์ตระยะยาว (LTS) ทันที และเลื่อนรุ่น LTS สองรุ่นก่อนหน้าเป็นสถานะ Maintenance

การออก Node.js 13.0 จึงมีผลทำให้ Node.js 12 มีสถานะเป็น LTS (เริ่มนับที่ 12.13.0) และส่งผลให้ Node.js 8 LTS เข้าสถานะ Maintenance

ณ ปัจจุบัน เราจึงมี Node.js ที่เป็น LTS ทั้งหมด 3 รุ่นคือ

Pages