1 poin oleh GN⁺ 2025-11-22 | Belum ada komentar. | Bagikan ke WhatsApp
  • Angular v21 adalah pembaruan besar yang mencakup fitur utama seperti Signal Forms, Angular Aria, server MCP, Vitest, dan deteksi perubahan Zoneless, selaras dengan era pengembangan web yang berpusat pada AI
  • Signal Forms menyediakan pengelolaan formulir reaktif berbasis Signals dengan keamanan tipe dan validasi berbasis skema
  • Angular Aria adalah library komponen UI headless yang mengutamakan aksesibilitas, dengan 8 pola dan 13 komponen yang dapat dikustomisasi sesuai gaya pengembang
  • Vitest diadopsi sebagai test runner bawaan dan telah distabilkan, sementara zone.js dikeluarkan dari paket bawaan sehingga strategi Zoneless menjadi standar
  • Versi ini berfokus pada penguatan pengalaman pengembang dan kemampuan integrasi AI melalui situs dokumentasi baru serta AI tutor dan alat server MCP

Ringkasan fitur utama

  • Angular v21 secara signifikan memperkuat fitur untuk membangun lingkungan pengembangan berbantuan AI dan aplikasi web yang skalabel
  • Versi baru berpusat pada Signal Forms, Angular Aria, server MCP, Vitest, dan deteksi perubahan Zoneless
  • Aplikasi baru secara default tidak menyertakan zone.js, dan sebagai gantinya mengadopsi strategi Zoneless
  • Angular CLI menetapkan Vitest sebagai test runner bawaan, sementara Karma dan Jasmine masih tetap didukung
  • Server MCP yang dapat digunakan untuk berkolaborasi dengan agen AI telah distabilkan, sehingga LLM dapat memanfaatkan fitur Angular terbaru

Signal Forms (fitur eksperimental)

  • Signal Forms adalah library pengelolaan status formulir reaktif berbasis Signals
    • Model formulir didefinisikan sebagai signal dan disinkronkan otomatis dengan field
    • Dilengkapi keamanan tipe dan logika validasi berbasis skema
  • Pengikatan ke template dilakukan menggunakan form() dan direktif [field]
  • Mendukung binding komponen kustom tanpa ControlValueAccessor
  • Menyertakan pola validasi dasar seperti validasi email dan pencocokan regex, serta mendukung validator kustom
  • Saat ini masih berada pada tahap eksperimental dan akan terus ditingkatkan berdasarkan masukan

Angular Aria (developer preview)

  • Angular Aria adalah library komponen UI headless yang menempatkan aksesibilitas sebagai prioritas utama
    • Menyediakan 8 pola (Accordion, Combobox, Grid, Listbox, Menu, Tabs, Toolbar, Tree) dan 13 komponen
    • Semua komponen disediakan dalam keadaan tanpa style bawaan sehingga bebas dikustomisasi
  • Perintah instalasi: npm i @angular/aria
  • Tim Angular mengusulkan tiga jalur pengembangan komponen
    • Angular Aria: komponen headless yang berfokus pada aksesibilitas
    • CDK: menyediakan primitif perilaku seperti Drag & Drop
    • Angular Material: komponen siap pakai dengan gaya Material Design

Server MCP dan integrasi AI

  • Server MCP adalah server alat dukungan AI yang terintegrasi ke Angular CLI, dan telah distabilkan di v21
  • Fitur utama
    • get_best_practices: menyediakan praktik terbaik
    • search_documentation: mencari dokumentasi resmi
    • find_examples: menyediakan contoh Angular terbaru
    • onpush_zoneless_migration: membuat rencana transisi ke Zoneless
    • ai_tutor: asisten pembelajaran Angular berbasis AI
  • Melalui server MCP, masalah knowledge cutoff pada LLM dapat diatasi, sehingga fitur terbaru seperti Signal Forms dan Angular Aria bisa dimanfaatkan

Vitest sebagai test runner bawaan

  • Vitest telah distabilkan sebagai test runner bawaan Angular
    • Dapat dijalankan dengan perintah ng test
    • Karma telah dihentikan sejak 2023, dan Jest serta Web Test Runner dijadwalkan dihapus pada v22
  • Proyek yang sudah ada tetap dapat terus menggunakan Karma/Jasmine
  • Mendukung migrasi otomatis melalui perintah ng g @schematics/angular:refactor-jasmine-vitest

Deteksi perubahan Zoneless

  • zone.js sebelumnya melakukan deteksi perubahan dengan menambal API browser, tetapi memiliki keterbatasan performa
  • Deteksi perubahan Zoneless berbasis Signals beralih menjadi nilai default di v21
    • Per 2024, lebih dari setengah aplikasi baru internal Google menggunakan Zoneless
    • Berdasarkan HTTP Archive, lebih dari 1.400 aplikasi publik telah mengadopsi Zoneless
  • Keunggulan Zoneless
    • Core Web Vitals lebih baik, ukuran bundle lebih kecil, debugging lebih sederhana, dan kompatibilitas pemrosesan asinkron lebih baik
  • Aplikasi yang sudah ada dapat memanfaatkan panduan migrasi atau alat onpush_zoneless_migration di server MCP

Dokumentasi dan peningkatan pengalaman pengembang

  • Situs angular.dev telah diperbarui secara menyeluruh
    • Halaman landing baru dan struktur dokumentasi yang berfokus pada konsep terbaru
    • Penambahan hub sumber daya pengembangan AI (angular.dev/ai)
    • Pembaruan panduan untuk tutorial Signals, routing, DI, tema Material, dan Tailwind CSS
  • Dokumentasi terbaru dapat dicari melalui alat search_documentation di server MCP

Peningkatan tambahan

  • Pembaruan library CLDR ke v47 (format mata uang dan tanggal ditingkatkan)
  • Dukungan regex di dalam template, formatter bawaan untuk Signals, serta kemampuan kustomisasi opsi IntersectionObserver
  • SimpleChanges digenerikkan, peningkatan pipe KeyValue, dan penambahan utility class Material
  • CDK Overlay meningkatkan aksesibilitas dengan menggunakan popover bawaan browser
  • Angular DevTools menambahkan visualisasi Route dan grafik Signal

Kontribusi komunitas

  • Sejak v20, 215 orang telah berkontribusi ke codebase Angular
  • Kontribusi utama
    • Jaime Burgos: peningkatan migrasi dan diagnostik
    • Angelo Parziale: penambahan migrasi transformasi NgClass/NgStyle
    • Hryhorii Avcharov: penambahan tab Transfer State di DevTools
    • Luke Beach, Ruslan Lekhman, Cédric Exbrayat, Younes Jaaidi dan lainnya: peningkatan fitur terkait Vitest dan CDK

Lain-lain

  • Hasil pemungutan suara maskot Angular akan diumumkan pada acara rilis YouTube 20 November 2025
  • Tim Angular berencana terus mengembangkan lingkungan pengembangan aplikasi web yang skalabel dan penuh keyakinan melalui Signal Forms dan Angular Aria
  • Dapat melakukan upgrade ke versi terbaru dengan perintah ng update

Belum ada komentar.

Belum ada komentar.