Angular v13 Artık Kullanılabilir!
Hepinizle paylaşmak üzere Angular v13'ün yepyeni sürümüyle geri döndük! Bu son sürüm, ekiplerinizin harika uygulamalar oluşturmasına yardımcı olacak her türlü güncellemeyi ve özelliği getiriyor.
ng update
Projenizde çalıştırarak Angular v13'ü şimdi edinin . Ekiplerin projelerini
nasıl güncelleyecekleri konusunda talimatlar almasına yardımcı olmak için
update.angular.io adresinde bir güncelleme kılavuzumuz da var .
Her yeni sürümde amacımız, Angular'ı daha iyi hale getirmenin maddi yollarını bulmaktır. Bu sürümde bunu, Ivy tabanlı özelliklerin ve optimizasyonların genişletilmesi, mükemmel Angular topluluğumuzla ortaklık kurarak ve ekipleriniz ve projeleriniz için sorunsuz, istikrarlı bir güncelleme süreci sağlamaya devam ederek gerçekleştirdik.
Ivy'nin gücüyle Angular'ı nasıl ileriye taşıdığımıza bir göz atarak başlayalım.
Açısal işlemeyi geleceğe taşıma
Gelen v12 sürüm Mayıs 2021 yılında biz “Her yerde Ivy” hakkında konuştuk ve bazı olacağını belirtti önemli değişiklikler bu girişimi desteklemekten açısal için. Bunun peşinde koşarken gayretli davrandık ve Ivy optimizasyonlar ve iyileştirmeler için kapılar açmaya devam ederken v13'te bazı etkili değişiklikler yapmaktan son derece memnunuz.
Görüş Durumu Motoru
View Engine , v13'ten itibaren Angular'da artık mevcut değildir. Bu harika bir
haber çünkü Angular, platformla üretkenliğinizi artıran Ivy tabanlı
özellikler oluşturmaya devam edebilir. View Engine'in kaldırılması ayrıca,
Angular'ın gelecekte ngcc
( Angular uyumluluk derleyicisi ) bağımlılığını azaltabileceği ve meta
veriler ve özet dosyaları artık dahil edilmediğinden ekiplerin daha hızlı
derlemeyi dört gözle bekleyebileceği anlamına gelir .
Açısal Paket Formatında (APF) Değişiklikler
Eğik Paketi Biçimi (APF) aerodinamik ve daha iyi geliştiriciler hizmet etmek modernize edilmiştir. APF'yi v13'te düzene sokmak için View Engine'e özgü meta veriler dahil olmak üzere eski çıktı biçimlerini kaldırdık.
Modernize etmek için ES2020 gibi daha modern JS formatlarını
standartlaştırdık. APF'nin en son sürümüyle oluşturulan kitaplıklar
artık ngcc
. Bu değişikliklerin bir sonucu olarak kitaplık geliştiricileri, daha yalın
paket çıktısı ve daha hızlı yürütme bekleyebilirler.
Ayrıca, Düğüm Paketi Dışa Aktarmalarını desteklemek için APF'yi güncelledik . Bu, geliştiricilerin yanlışlıkla değişebilecek dahili API'lere güvenmelerine yardımcı olacaktır.
Bileşen API güncellemeleri
Ivy ayrıca geliştiricilerin dinamik olarak bileşenler oluşturma yöntemlerinde yaşam kalitesi iyileştirmeleri sağlar. API artık basitleştirildi. Angular v13'teki değişikliklerden önce, bileşenleri dinamik olarak oluşturmak çok sayıda ortak kod gerektiriyordu.
Yeni API, yapıcıya ComponentFactoryResolver
enjekte edilme ihtiyacını ortadan kaldırır . Ivy, ViewContainerRef.createComponent
ilişkili bir fabrika oluşturmadan bileşeni somutlaştırma fırsatı yaratır .
Angular'ın önceki sürümleriyle bileşen oluşturmaya bir örnek:
Yeni API ile bu kod şöyle olabilir:
Ivy'nin etkinleştireceği çalışmalarda bunun gibi daha birçok API geliştirmemiz var.
IE11 desteğinin sonu
Geri bildiriminizi duyduk ve Angular v13'te IE11 desteğinin kaldırılmasıyla ileriye doğru bir yol açmak için çalıştık.
IE11 desteğinin kaldırılması, Angular'ın yerel web API'leri aracılığıyla CSS değişkenleri ve web animasyonları gibi modern tarayıcı özelliklerinden yararlanmasına olanak tanır. Dahası, IE'ye özgü çoklu dolguları ve kod yollarını kaldırabildiğimiz için uygulamalar daha küçük olacak ve daha hızlı yüklenecek. Ayrıca diferansiyel yükleme ihtiyacını ortadan kaldırır . Uygulama kullanıcıları daha hızlı yükleme ve iyileştirilmiş bir kullanıcı deneyiminden faydalanırken, geliştiriciler geliştirilmiş API'lerden ve altyapıdan yararlanacak.
Çalıştırmak ng update
, bu IE'ye özgü çoklu dolguları otomatik olarak düşürür ve proje geçişi
sırasında paket boyutunu azaltır.
Yorum talebine (RFC) katılan herkese teşekkürler. Halen mevcut projeler için IE11 kullanıcılarını desteklemesi gereken geliştiriciler, Angular v12'yi kullanmaya devam edebilir ve Kasım 2022'ye kadar desteklenecektir .
Angular CLI'deki İyileştirmeler
Angular'ın araçlarıyla ilgili güncellemeler hakkında . Angular
artık yeni v13 projeleri için varsayılan olarak kalıcı derleme önbelleğinin kullanımını destekliyor .
Varsayılan olarak [RFC] Kalıcı derleme önbelleğinden gelen değerli geri
bildirimler, derleme hızında %68'e varan iyileşme ve daha ergonomik
seçeneklerle sonuçlanan bu araç güncellemesine yol açtı. Bu özellikleri
etkinleştirmek için v13'e yükseltilen mevcut projeler için geliştiriciler bu
yapılandırmayı şuraya ekleyebilir angular.json
:
Belgelerde daha fazla ayrıntı öğrenin .
ESBuild ayrıca bu sürümde bazı performans iyileştirmeleri görüyor! Artık
global komut dosyalarını optimize etmek için esbuild
birlikte çalışan 'ı tanıttık terser
. Ayrıca, esbuild
CSS kaynak haritalarını destekler ve tüm stil sayfalarını optimize etmenin
yanı sıra genel CSS'yi optimize edebilir.
Çerçeve değişiklikleri ve bağımlılık güncellemeleri
Angular v13 ayrıca bazı yararlı güncellemeler ve önemli değişiklikler
içerir. İlk olarak, RxJS 7.4 artık ng new
. RxJS v6.x kullanan mevcut uygulamalar, npm install rxjs@7.4
komutu kullanarak manuel olarak güncellemek zorunda kalacak . Sürüm 6'dan
sürüm 7'ye yapılan değişiklikler hakkında daha fazla bilgi edinmek için
rxjs.dev adresindeki bu özete bakın .
Bu yeterli değilse, artık TypeScript 4.4 için destek var. TypeScript yayın bloguna göz atarak daha fazla bilgi bulabilirsiniz .
Açısal testlerde iyileştirmeler
Artık TestBed
her testten sonra test modüllerini ve ortamlarını daha iyi yıkmak için bazı
önemli iyileştirmeler yaptık . DOM artık her testten sonra temizleniyor ve
geliştiriciler daha hızlı, daha az bellek yoğun, daha az birbirine bağımlı
ve daha optimize testler bekleyebilirler.
Bu özellik 12.1.0'dan beri tercih edilmektedir ve şimdi özelleştirilebilir
kalırken varsayılan olacak. İşte nasıl - TestBed.initTestEnvironment
yöntem aracılığıyla tüm test paketi için yapılandırılabilir :
Veya TestBed.configureTestingModule
yöntemi güncelleyerek modül başına yapılandırılabilir :
Bu, bu değişiklikleri her proje ve testleri için en anlamlı oldukları yerde uygulama esnekliği sağlar. Şuna bak blog tarafından Lars Gyrup Brink Nielsen daha fazla bilgi edinmek için.
Bileşenler hakkında her şey
Erişilebilirlik (a11y), Angular topluluğunun içinde ve dışında inşa ettiğimiz her şeyin temeli olmalıdır. Bu sorumluluğu ciddiye alıyoruz ve yaptığımız çalışma , Angular Material bileşenlerinde anlamlı iyileştirmeler ve değişikliklerle sonuçlandı .
Tüm MDC tabanlı bileşenler, kontrast, dokunma hedefleri, ARIA ve daha fazlası gibi alanlarda yüksek a11y standartlarını karşılayacak şekilde değerlendirilmiştir.
Bu değişikliklerin bileşenleri nasıl etkilediği hakkında daha iyi bir fikir edinmek için, onay kutusu ve radyo düğmesi gibi bileşenler için dokunma hedefi boyutlarında yaptığımız ayarlamalara göz atın .
Ayrıca, birden çok bileşen için yüksek kontrast modlarında bazı iyileştirmeler yapılmıştır.
Angular Component'in erişilebilirliğini iyileştirme hakkındaki blog yazımızda bu değişiklikler hakkında daha fazla bilgi edinin . Bunun herkesin daha kapsayıcı Angular uygulamaları oluşturmasına yardımcı olacağını umuyoruz.
Diğer önemli güncellemeler
2020'de Angular v11'in piyasaya sürülmesiyle birlikte, Google Yazı Tiplerini
satır içine alma desteğini kullanıma sunduk. Şimdi, desteği Adobe Fonts'a
genişletiyoruz . Unutmayın, satır içi yazı tipleri, First Contentful Paint'i
(FCP) hızlandırarak uygulamanızın performansını artırabilir . Bu değişiklik
artık varsayılan olarak herkes için etkindir! Tek yapman gereken ng update
. Yazı tipi satır içi ekleme hakkında yardımcı olabilecek bir videomuz var,
buradan kontrol edin:
Geliştiricilere yerelleştirme API'si hakkında daha fazla bilgi vermek için
angular.io'daki belgelerde önemli değişiklikler yaptık. Yerelleştirme
kılavuzları , öğrenme yolculuğunu daha net hale getirmek için daha küçük
bölümler içerecek şekilde güncellendi. Ayrıca için daha fazla API belgesi
ekledik $localize
.
Topluluk katkıları
Angular topluluğu, çerçeveye özellikler ekleyerek büyük bir şekilde ortaya çıkmaktan asla vazgeçmez. Angular ekibi, böylesine canlı ve destekleyici bir topluluk için inanılmaz derecede minnettar. Bu sürümde yer alan katkılardan birkaçını vurgulamak için biraz zaman ayıralım.
Doğrulayıcıları dinamik olarak etkinleştirin/devre dışı bırakın
Nirmal Bhagwani tarafından gönderilen bu PR , değer olarak ayarlanarak
yerleşik doğrulayıcıların devre dışı bırakılmasına izin verir null
. Bu, dinamik formlar oluştururken giderek daha yararlı hale gelir.
İptal edilen navigasyondan sonra geçmişi geri yükle
Ahmed Ayed bir katkıda PR verir canceledNavigationResolution
ayarlandığında yönlendirici bayrak tarayıcı geçmişi hesaplanan değeri
geri computed
.
Bunlar, altını çizdiğimiz güncellemelerden birkaçı, ancak topluluktan daha da fazla katkı geldi:
- SwUpdate API'sini biraz daha ergonomik hale getirmek
- Null yapılabilir sembolde isteğe bağlı zincirlemeyi otomatik uygulamayı etkinleştirmek için Dil Hizmeti yapılandırması
- Bir çıkış takıldığında/çıkarıldığında yönlendirici etkinleştirme/devre dışı bırakma olayları yayar
- Ve dahası!