Apa yang baru di Angular 9.1

Angular 9.1 telah hadir, dengan peningkatan kinerja dan konkurensi pada kompilator kompatibilitas ngcc. Proses kompilasi dan rendering Ivy juga mendapat perhatian, menghasilkan performa yang lebih baik.

Angular 9.1, diterbitkan 25 Maret, mengikuti rilis Angular 9.0, yang tersedia sebagai rilis produksi pada 6 Februari 2020. Upgrade versi 9.0 ke kerangka kerja berbasis TypeScript yang populer mengalihkan aplikasi ke compiler Ivy dan runtime secara default.

Ivy menawarkan kompilasi AOT yang lebih cepat serta ukuran bundel yang lebih kecil, pengujian yang lebih cepat, dan debugging yang lebih baik. Peningkatan class CSS dan pengikatan gaya juga ditampilkan di Ivy, bersama dengan peningkatan dalam pemeriksaan jenis, kesalahan versi, dan waktu pembuatan. Juga bagian dari Angular 9  ng update, yang menjanjikan alat yang lebih andal dan informatif untuk memperbarui aplikasi dan ketergantungannya. 

Angular menyediakan injeksi ketergantungan, yang sangat berguna untuk merakit layanan data untuk aplikasi, bersama dengan penggunaan template HTML untuk membuat komponen. Di Angular, pengembang masih membuat komponen dengan komponen HTML yang terhubung ke kode TypeScript untuk bagian penting dari program.

Tempat mengunduh Angular 9.1 atau rilis sebelumnya

Anda dapat mengunduh rilis produksi Angular dari GitHub serta rilis beta. Panduan pembaruan Angular telah diterbitkan, bersama dengan panduan untuk meningkatkan ke Angular 9.

Fitur baru di Angular 9.1

  • Pengoptimalan kinerja untuk ngcc, serta peningkatan konkurensi dan keandalan untuk kasus penggunaan ngcc monorepo. Skrip pasca-pemasangan NPM tidak lagi direkomendasikan. Dengan ngcc, pemrosesan asinkron akan dihentikan jika proses lain memiliki file terkunci. Juga dengan ngcc, kapabilitas perataan peta sumber dapat memuat pohon file sumber yang dihubungkan oleh peta sumber dan meratakannya ke dalam satu peta sumber. Peta sumber ini memetakan langsung dari file yang dihasilkan akhir ke sumber asli yang dirujuk oleh peta sumber perantara.
  • TypeScript 3.8 didukung.
  • Internasionalisasi, melalui i18n, sekarang mendukung informasi lokal RTL.
  • Kinerja Ivy telah ditingkatkan dengan menghapus argumen acara yang tidak digunakan dalam instruksi pendengar. Sebelumnya, Ivy membuat $eventargumen, meskipun argumen itu tidak digunakan oleh ekspresi pendengar. Ini dapat menyebabkan pembuatan byte yang tidak perlu. Juga, perbaikan kompatibilitas untuk pemeriksaan template Ivy telah disertakan.

Fitur baru di Angular 9.0

Selain menjadikan Ivy sebagai default, Angular 9.0 menyertakan fitur dan peningkatan baru berikut:

  • Opsi baru untuk providedIn, untuk membuat @Injectablelayanan, termasuk platform, yang membuat layanan tersedia di injektor platform tunggal khusus yang dibagikan oleh semua aplikasi di halaman, dan any, yang menyediakan instance unik di setiap modul yang memasukkan token.
  • Memanfaatkan komponen, untuk memastikan pengujian unit memiliki cakupan yang benar dan tidak rapuh. Detail implementasi disarikan.
  • Komponen baru memungkinkan penyertaan kemampuan YouTube dan Google Maps dalam aplikasi.
  • TypeScript 3.7 dan TypeScript 3.6 didukung.
  • Performa telah ditingkatkan untuk eventListeners.
  • Kode mata uang default CurrencyPipesekarang dapat dikonfigurasi.
  • Untuk meningkatkan kinerja Ivy renderer, akses status global berulang dihapus dari instruksi i18n ketika informasi sudah tersedia. Ivy juga mendapatkan peningkatan kinerja dari penghapusan SafeDetectionkode ekstra . Dan paket @ angular / localize dapat ditambahkan ke proyek CLI Angular melalui ng add.
  • Juga untuk perender Ivy, pesan kesalahan yang lebih baik ditawarkan untuk komponen yang tidak diketahui. Selain itu, bendera baru telah ditambahkan localize-translateyang memungkinkan lokal sumber ditentukan.
  • Untuk meningkatkan kinerja dalam inti, sanitasi menjadi pohon-goyah di perender Ivy. 
  • Juga di Ivy, pemeriksaan jenis template telah diubah untuk menghasilkan ts.Diagnostics. Ini memperbaiki masalah desain di mana kompiler Angular telah menghasilkan diagnostik TypeScript asli dan format diagnostik internalnya sendiri, yang belum optimal.
  • Juga untuk inti, Angular menambahkan skema migrasi baru, sesuai dengan rencana migrasi yang diberikan.
  • The NgFormSelectorWarningpemilih telah dihapus.
  • Untuk ngcc (Angular kompatibilitas compiler), migrasi telah ditambahkan untuk kelas turunan yang tidak didekorasi.
  • Sejumlah perbaikan bug telah dibuat untuk Ivy, compiler, core, language-service, ngcc, dan Bazel.

Fitur baru di Angular 8.2

Dirilis pada Agustus 2019, Angular Versi 8.2 mencakup:

  • Untuk meningkatkan kinerja kompiler, penyalinan dihindari dari prototipe saat mengkloning objek. Ini memperbarui fungsi klon kelas ApplySourceSpanTransformer, tempat loop for-in digunakan, yang mengakibatkan penyalinan dari prototipe ke properti milik sendiri, yang menghabiskan lebih banyak memori.
  • Dukungan TypeScript 3.5.
  • Mengompilasi target yang digunakan oleh alat Kythe dengan perender Ivy. Ini menghilangkan masalah dengan referensi silang ke dependensi transitif yang tidak dibuat, karena bagaimana dependensi tersebut dimuat oleh compiler lama.
  • Dukungan untuk $elementkomponen templatedan templateURLfungsi yang ditingkatkan .
  • Untuk Bazel, pengguna sekarang dapat meneruskan Bazel CompilerHost kustom untuk kompilasi Angular, mendukung penggantian host compiler TypeScript.
  • Sejumlah perbaikan bug, termasuk meningkatkan batas memori di ngcbawah Bazel dari 2GB menjadi 4GB.

Fitur baru di Angular 8.1

  • Test helper disediakan untuk pustaka pemutakhiran / statis yang menyambungkan injektor Angular dan AngularJS tanpa perlu bootstrap penuh dari aplikasi hibrid.
  • Penghentian integrasi dengan Web Tracing Framework, yang sebelumnya didukung oleh Angular untuk pengujian kinerja. Tim pengembang Angular mencatat bahwa integrasi belum dipertahankan dan kemungkinan tidak berfungsi untuk sebagian besar aplikasi Angular saat ini. 
  • Implementasi definitionAndBoundSpan, yang sekarang lebih disukai daripada definition. Penerapannya definitiontelah difaktorisasi dan disederhanakan.
  • Penghentian API platform-webworker. Dimasukkannya dukungan ini bersifat eksperimental, untuk mencoba menjalankan seluruh aplikasi di Web Worker, untuk konten web untuk menjalankan skrip latar belakang. Pendukung sudut tidak lagi berusaha melakukan ini.

Angular 8.1 juga menawarkan perbaikan bug untuk alat build Bazel serta inti dan router Angular.

Fitur baru di Angular 8.0

Perbaikan di Angular 8, dirilis pada Mei 2019, meliputi yang berikut ini: