• ทำให้ API หลักที่เกี่ยวข้องกับ reactivity มีเสถียรภาพ และเปิดตัวฟีเจอร์ Zoneless ในสถานะ Developer Preview
  • ยกระดับ ประสบการณ์การดีบัก และประสิทธิภาพการพัฒนาอย่างมาก ด้วยการผสานรวมกับ Chrome DevTools เป็นต้น
  • รองรับการพัฒนา GenAI, นำ llms.txt มาใช้ และเปิดซอร์สคู่มือกับตัวอย่างสำหรับการสร้างแอป AI
  • เลิกใช้ NgIf, NgFor, NgSwitch เดิมอย่างเป็นทางการ และแนะนำให้เปลี่ยนไปใช้ control flow แบบ built-in
  • เริ่มโปรเจ็กต์ใหม่เพื่อคัดเลือก มาสคอตทางการของ Angular ผ่านการโหวตจากชุมชน

ฟีเจอร์เด่นของ Angular v20

  • ในช่วงหลายปีที่ผ่านมา Angular ได้ขับเคลื่อนการเปลี่ยนแปลงครั้งใหญ่ด้วย reactivity แบบ Signals และแอปแบบ Zoneless
  • ใน Angular v20 ทีมงานมุ่งเน้นที่การเพิ่มเสถียรภาพของฟีเจอร์ที่กำลังพัฒนาและการปรับปรุงประสบการณ์นักพัฒนา

ทำให้ฟีเจอร์ reactivity มีเสถียรภาพ

  • API ของ Signals, computed, input และ view queries เข้าสู่สถานะเสถียรแล้ว
  • API ของ effect, linkedSignal และ toSignal ก็เสถียรแล้วเช่นกัน ทำให้จัดการสถานะแบบ asynchronous ได้อย่างน่าเชื่อถือ
  • มีการแชร์กรณีศึกษาความสำเร็จจากบริการขนาดใหญ่ เช่น Google และ YouTube รวมถึงการ ปรับปรุง input latency ได้ 35%

API เชิงทดลองใหม่: resource, httpResource

  • API resource ช่วยให้จัดการคำขอแบบ asynchronous และข้อมูลแบบสตรีมมิงตามการเปลี่ยนแปลงของ signal ได้ง่ายขึ้น
  • httpResource รองรับคำขอ HTTP แบบอิง signal และสามารถใช้ผลลัพธ์ของคำขอจาก signal ได้โดยตรง
  • รูปแบบข้อมูลสตรีมมิงหลากหลาย เช่น WebSocket สามารถจัดการด้วย signal ได้อย่างง่ายดาย

ฟีเจอร์ Zoneless ในสถานะ Developer Preview

  • ในสภาพแวดล้อม SSR มีตัวจัดการพื้นฐานสำหรับ unhandledRejection และ uncaughtException ของ Node.js มาให้ในตัว
  • ฝั่งไคลเอนต์สามารถรับฟังข้อผิดพลาดแบบ global ได้ผ่าน provideBrowserGlobalErrorListeners
  • มีคู่มือสำหรับลบ polyfill ของ zone.js ออกจาก angular.json และสลับไปใช้โหมด zoneless

การยกระดับ server-side rendering

  • incremental hydration และ โหมดการเรนเดอร์ตามแต่ละ route เข้าสู่สถานะเสถียรแล้ว
  • ดาวน์โหลดและทำ hydration เฉพาะ UI ที่จำเป็นเมื่อเข้าสู่ viewport เพื่อลดทราฟฟิก JavaScript ให้น้อยที่สุด
  • สามารถตั้งค่าโหมดการเรนเดอร์ที่แตกต่างกัน เช่น SSR/CSR/Prerender แยกตาม route ได้

ปรับปรุงประสบการณ์นักพัฒนาและผลิตภาพ

  • ทำงานร่วมกับ Chrome DevTools เพื่อเพิ่ม performance track สำหรับ Angular โดยเฉพาะ ทำให้มองเห็นการเรนเดอร์ภายในเฟรมเวิร์ก, event และ change detection ได้แบบเรียลไทม์
  • ปรับปรุง API สำหรับการสร้างแบบไดนามิกของ createComponent, การใช้ directive และการ bind แบบอิง signal
  • รองรับ ตัวดำเนินการยกกำลัง(**), ตัวดำเนินการ in และ untagged template literal ในเทมเพลต
  • เสริมความสามารถด้านการวินิจฉัย เช่น การไม่ถูกเรียกของ @for trackFn, การใช้ nullish coalescing ผิดวิธี และการไม่ส่งอินพุตให้ structural directive

ปรับปรุง style guide และ host binding

  • ทำให้ style guide เรียบง่ายและทันสมัยขึ้นโดยอิงจากกรณีศึกษาตลอด 10 ปี
  • ค่าเริ่มต้นจะไม่สร้าง suffix ของชื่อไฟล์/ชื่อคลาส และแนะนำให้ใช้ออบเจ็กต์ host แทน HostBinding/HostListener
  • เพิ่มตัวเลือก typeCheckHostBindings เพื่อรองรับการตรวจจับข้อผิดพลาดของ binding แบบเรียลไทม์

ปรับปรุง DevTools/สภาพแวดล้อมการทดสอบ และ Angular Material

  • เพิ่มความสามารถดีบักสำหรับ incremental hydration และ deferrable view ใน Angular DevTools
  • รองรับ vitest เป็นทางเลือกแทน Karma พร้อมโหมด watch และการทดสอบบนเบราว์เซอร์ในสถานะทดลอง
  • ปรับปรุงคุณภาพของคอมโพเนนต์ปุ่มใน Material ให้สอดคล้องกับสเปก M3 รวมถึงการจัดระเบียบคำศัพท์และการควบคุม animation/motion

การรองรับ GenAI และ LLM

  • นำ llms.txt มาใช้เพื่อให้ LLM เรียนรู้โค้ด Angular เวอร์ชันล่าสุด พร้อมเปิดซอร์สตัวอย่างและคู่มือ
  • เผยแพร่คู่มือการเชื่อมต่อกับ Genkit, Vertex AI ฯลฯ รวมถึงไลฟ์สตรีมเชิงปฏิบัติและ best practices

การนำ built-in control flow มาใช้และการเลิกใช้ structural directive

  • built-in control flow ที่เปิดตัวใน v17 มีความโดดเด่นกว่าในหลายด้าน ทั้งความเข้าใจง่าย type safety และประสิทธิภาพ
  • *ngIf, *ngFor, *ngSwitch มีกำหนดถูกลบออกทั้งหมดใน v22 และมี schematic สำหรับ migration โค้ดให้

โปรเจ็กต์มาสคอตทางการของ Angular

  • เปิดตัวผู้เข้าชิงมาสคอตทางการและ RFC เพื่อเสริมเอกลักษณ์และความเป็นสัญลักษณ์ของชุมชน Angular
  • มีข้อเสนอ เช่น รูปทรงโล่ที่ได้แรงบันดาลใจจากโลโก้ และตัวละคร Anglerfish (ปลาแองเกลอร์)
  • จะคัดเลือกรอบสุดท้ายผ่านการโหวตและฟีดแบ็กจากชุมชน และยังสามารถเสนอชื่อได้ด้วย

โรดแมปต่อจากนี้

  • ใน v20 มีการขัดเกลาและทำให้ฟีเจอร์ขนาดใหญ่ เช่น reactivity, zoneless และ incremental hydration มีเสถียรภาพมากขึ้น
  • กำลังเตรียมโปรเจ็กต์ใหญ่ถัดไป เช่น Selectorless, signal-forms, การปรับปรุง unit test และมาสคอต
  • คาดว่าจะกำหนดทิศทางการพัฒนาผ่านการรับฟังความคิดเห็นจากชุมชนอย่างจริงจัง

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น