Angular 5.0

Bugün Angular ekibi 5.0 sürümünü bir blog yazısı ile duyurdu. Bir ana sürüm olmasına(major release) rağmen, HttpClient ve bazı pipe’lar dışında, kod yapısına çok dokunan bir değişiklik yok. Önceden yapılmış plan gereği ana sürüm olarak dağıtılıyor. Arka planda(build işlemi gibi) pek çok düzeltme yapıldığı iddia ediliyor. Mobil için özellikle PWA’ler yapabilmemiz için bir gelişme yok şu an, bu hayal kırıklığı oldu. Kısaca liste halinde anlatmaya çalışayım bu sürüm yeniliklerini;

– Build optimizer adındaki araç artık varsayılan olarak her build işleminde çalışacak. Bu araç kullanılmayan kod parçalarını silerek daha küçük boyutlu proje çıktıları almamızı sağlıyordu.

– Client-Server arasındaki durum paylaşımı kolaylaştırılmış. Angular Universal isimli projemizi server tarafında render etmemizi sağlayan araç ile client tarafı arasında ServerTransferStateModule ve BrowserTransferStateModule isimli iki modül yayınlanarak bilgi alışverişi sağlanmış. Büyük dert olan “Ama bunlar SEO uyumsuz, napim böyle projeyi” yakınmalarından biraz daha uzaklaşabiliriz.

– Compiler’da iyileştirmeler yapılmış, daha hızlı ve daha küçük boyutlu çıktılar alınabiliyor artık. Angular’ın resmi sitesi olan angular.io build edilirken 40 saniyeden 2 saniyeye düşüş olmuş yeni sürümde.

preserveWhitespaces; Component decorater’ı ile tanımlayabileceğimiz bu özellik ile dosyamızdaki tab, satır atlama ya da boşluk gibi gereksiz karakterlerin silinmiş olduğu çıktılar alabileceğiz. Bu dosya boyutunda baya azalma sağlayan bir özellik. Varsayılan olarak her Component için true olsa da bunu tsconfig.json dosyasından ayarlayabiliyoruz.

– Component’ler içinde bazı değerler için lambda fonksiyonlar kullanılabilecek.

– Uluslararasılaştırma(i18n) için de bazı değişikler yapılmış. Sayı yazımı, tarihler ve para birimleri için kullanılan pipe’lar yenilenmiş. Darısı çok dilli projeler için metinleri çevirme kısmına diyelim.

– component’ler ve Directive’ler için exportAs özelliği gelmiş. Böylece farklı bir isimle de kullanıma açabileceğiz bir component’i ya da Directive’i.

– HttpClient modülünü güncellenmiş ve yeri değiştirilmiş. @angular/common/http paketinden HttpClientModule ismi ile kullanmamız gerekiyor artık.

– Angular CLI 1.5 sürümü de yayınlanmış. Bu sürüm varsayılan olarak Angular 5.0 projesi oluşturacak bize.

– Formlardaki validasyonlar blur ve submit event’leri ile çalışabilecek.

– RxJS için 5.5.2 ve sonrası desteği sağlanıyor artık.

– Router döngüsüne bir kaç event eklenmiş. İsimleri az çok çağrışım yapıyor görevleri ile ilgili; GuardsCheckStart, ChildActivationStart, ActivationStart, GuardsCheckEnd, ResolveStart, ResolveEnd, ActivationEnd, ChildActivationEnd.

– Projenizi güncellemeniz için şöyle güzel bir site yapmışlar. https://angular-update-guide.firebaseapp.com/. Hangi versiyondan güncelleme yapacağınıza ve projenizin karmaşıklığına göre adımları checklist şeklinde gösteriyor.

Kısa bir çeviri şeklinde şuradaki yazıdan yeni versiyonu toparlamaya çalıştım.

Bir Cevap Yazın