Angular, TypeScript kullanarak istemci uygulamaları geliştirmek için Google destekli bir çerçevedir. Bireysel gereksinimlere ilişkin kullanıma hazır başlangıç kodu için TypeScript kitaplıkları olarak önceden uygulanmış bir dizi işlev sunar. Kişinin yalnızca temel Angular ortamını kurması ve bu kitaplıkları hareket halindeyken web uygulamalarına aktarması gerekir.
Çerçeve yolculuğuna bir JavaScript kitaplığı olarak başladı ve daha sonra AngularJS olarak biliniyordu. Geliştirme topluluğundan aldığı kitlesel desteği göz önüne alındığında, Angular 2 + 'dan tam teşekküllü bir çerçeve olarak ortaya çıktı. Başlamak ve yetkin olmak için, çerçevenin mimarisini, yani yapı taşı bileşenlerini ve bunlar arasındaki ilişkileri anlamak önemlidir. Bu makalede, Angular çerçevenin mimarisinin (Angular 11) en son sürümüne genel bir bakış sunacağız. Angular 11'e özgü mimari değişikliklerden açıkça bahsederek, üst düzey genel bakışı alt düzey tekniklere kadar tartışarak yukarıdan aşağıya yaklaşımı kullanacağız.
Mimariye Genel Bakış
Angular çerçevenin temel yapı taşları, daha sonra NgModules şeklinde organize edilen bileşenleridir. NgModules, bir Angular uygulamasını tanımlamak için bir araya getirilen işlevsel kod kümeleridir. Her uygulamanın en az bir kök modülü (önyüklemeyi etkinleştirmek için) ve bir kök bileşeni (DOM hiyerarşisine bağlanmak için) vardır. Ek olarak, çok sayıda başka özellik modülleri ve bileşenleri olabilir.
Daha da ileri giderek, bileşenler iki önemli kullanım durumu sunar:
Temelde, Angular mimari aşağıdaki temel yapı taşlarından oluşur:
Modüller
Açısal modüller NgModules olarak adlandırılır ve standart JavaScript modüllerini tamamlar. Genellikle uygulama etki alanına, iş akışına ve yakından ilgili kod ve hizmetlerin işlevsel birimlerini ilişkilendiren bileşenlere yönelik derleme bağlamlarını bildirmek için kullanılırlar.
Daha önce tartışıldığı gibi, her uygulamanın önyüklemeyi etkinleştirmek için en az bir kök modülü vardır ve bu modüle göre AppModule olarak adlandırılır . Birim işlevleri için çok sayıda başka özellik modülü de karmaşık bir uygulamada yer alabilir. Dahası, JavaScript modüllerine benzer şekilde,
Angular'ın NgModülleri diğer modüllere aktarılabilir ve aktarılabilir. Önemsiz bir örnek, Yönlendirici NgModule'dan içe aktarılan bir uygulamaya yönlendirici hizmetinin içe aktarılmasıdır.
Angular, yeniden kullanılabilirliği ve geç yüklemeyi iyileştirme girişiminde (başlangıçta yüklenen kodu en aza indirmek için modüllerin isteğe bağlı olarak yüklenmesi) karmaşık uygulamaların geliştirilmesi için birim işlevsel modüllerin kullanımını teşvik eder.
Angular 11, verimli derleme işlemi için bir varlık ve modül paketleyici olan deneysel Webpack 5 desteği sunar.
Bileşenler
Modüllere benzer şekilde, her Angular uygulamasının hiyerarşiyi DOM'a (belge nesne modeli) bağlayan en az bir kök bileşeni vardır. Her bileşen sınıfı, uygulama verileri ve mantığıyla birlikte bir görünümü tanımlayan bir HTML şablonuna bağlıdır. @Component dekoratör tanımlar şablon ve bileşene özgü meta. Angular 11
, bileşenlerle paralel asenkron yürütmeyi etkinleştirerek testlerde asenkron eylemleri kolaylaştırmak için paralel bir işlev de içerir .
Şablonlar, Yönergeler ve Veri bağlama
Şablonlar, yönergeler ve veri bağlama genellikle birbirleriyle bağlantılı olarak kullanılır. Şablon, HTML'yi program mantığı sağlamak için yönergeler gibi Angular işaretlemelerle ve uygulama verilerini DOM ile bağlamak için veri bağlamayla tanımlar. Angular'da bulunan iki tür bağlama şunlardır:
Angular tarafından desteklenen bir diğer önemli özellik, bugün için değerleri değiştirerek kullanıcı deneyimini dinamik olarak geliştirmek için boruların kullanılmasıdır. Tarihler ve para birimi değerleri gibi önceden tanımlanmış kanallar, kullanıcının yerel ayarlarına hitap etmek için kullanılabilir veya özel ve özel mantık için özel olanlar tanımlanabilir.
Açısal yönergeler üç türe ayrılabilir:
Hizmetler ve Bağımlılık Enjeksiyonu
Program mantığının veya verilerin belirli bir görünümle bağlantılı olamayacağı durumlarda, hizmet sınıfı kullanışlıdır. Bir hizmet sınıfının somutlaştırılmasıyla mantık veya verilerin bileşenler arasında paylaşılmasına izin verir. Diğer sağlayıcıların bağımlılıklarını sınıfınıza enjekte etmek için meta verileri sağlayan @ Enjekte Edilebilir adlı dekoratörden hemen önce gelir .
Bağımlılık Enjeksiyonu, delegasyon için hizmet sınıfı ile birlikte kullanılır. Sunucudan veri getirmeyerek veya kullanıcı olaylarını doğrulayarak bileşen sınıflarını çevik ve verimli tutmaya olanak tanır. Bunun yerine, bu tür görevler hizmetler için yönetilir ve hizmetlere devredilir.
Angular 11, güçlü ve daha doğru bir deneyim sağlamak için artık Dil Hizmetinin gelişmiş bir sürümünü içeriyor. Dil Hizmeti, Angular şablonlar içinde tamamlamaları, hataları, ipuçlarını ve gezinmeyi almak için kullanılır. Çekirdek
için, kullanımdan kaldırılmış async işlevine @ angular / core / testing tüm içe aktarmaları ve çağrıları bulan ve bunları waitforasync ile değiştiren bir geçiş eklenir . Hizmet çalışanı için, bir uygulamanın yalnızca bazı bölümlerinin düzgün şekilde yükleneceği bozuk bir durumun ortaya çıkmasına neden olan bir sorunu gideren bir UnrecoverableStateError bildirimi eklenir. Bu durum, tarayıcının artık sunucuda bulunamayan varlıkları önbellekten çıkarılan varlıkları hevesle önbelleğe aldığında ortaya çıkıyordu.
Yönlendirme
Yönlendirici NgModule, gezinme yollarını tanımlamak ve hiyerarşileri görüntülemek için bir hizmettir. Bu modül, bazıları:
Yönlendiricinin yavaş yüklenmesi, belirli bir sayfa için bir modülün henüz yüklenip yüklenmediğini kontrol etme ve ardından isteğe bağlı olarak yükleme yeteneği ile de ayırt edilir. Gezinme kurallarını tanımlamak için, gezinme yollarının bileşenlerle bağlantılı olması gerekir. Yollar, şablon söz diziminin görünümler ve verilerle entegrasyonuna benzer bir şekilde URL benzeri sözdizimini kullanır. Özel kurallar,
belirli bir olay veya program mantığına yanıt olarak hangi görünümlerin görüntüleneceği veya gizleneceği konusunda ayarlanabilir .
Angular 11'deki yönlendirici, relativeLinkResolution'un varsayılan değerini "eski" den "düzeltilmiş" e değiştirir. Geçiş , varsayılan değeri kullanan RouterModule yapılandırmalarını günceller ve artık güncelleme sırasında kırılmaları önlemek için özellikle "eski" olanı kullanır. Ayrıca, kod yeniden düzenleme için, Angular 11 navigateByUrl ve createUrl parametrelerini daha doğru olacak şekilde ayarlar .
Sonuç
Yani, bu tamamen Angular 11 mimarisinin tanıtımı ile ilgiliydi. Umarım harika bir okuma olmuştur ve sizi Angular 11'in temel kavramlarını tanıtmıştır. Mimariyi öğrendikten sonra, artık parçalar arasında kolayca gezinebilir ve çerçevenin genişliğini anlayabilir ve Angular'ı kullanarak kaliteli uygulamalar oluşturabilirsiniz. İyi şanslar!
Giriş Kısa bir süre önce Keystone.js CMS'ye dayalı bir sistem üzerinde çalışıyordum.
NGINX Sunucu Güvenliğinizi nasıl güvence altına alacağınıza dair kısa bir kılavuz, giderek daha önemli hale geliyor. Modern yazılımlar, güvenli yazılım geliştirmemize yardımcı olma konusunda giderek daha iyi hale geliyor, ancak çoğunlukla ürünlerimiz için daha fazla güvenlik elde etmek için ekstra çaba sarf etmemiz gerekiyor.
Arka hikaye Her ürünün bir hikayesi vardır ve bu Yapdoof'un başlangıç hikayesidir. Yapdoof, Omept Technology Nijerya Limited'in bir ürünüdür.
Bu blogda, İngilizce'ye yaklaşımımı nasıl ve neden değiştirmeye karar verdiğimi ve yaptığım bazı etkinliklerden para kazanarak bir yıldan kısa bir sürede fakir bir B1'den başlayarak B2 seviyesine nasıl geldiğimi tartışacağım. İçindekiler Okulda örnek bir öğrenci olmasam da İngilizce öğrenmek her zaman kültürel geçmişime eklemek istediğim bir şeydi.
İnsanlar sanata çekilir. On yıldan fazla bir süredir araştırmacılar, izleme sanatının sağlığımız ve esenliğimiz üzerindeki olumlu etkisini araştırıyorlar.
Bugün farklı bir yolculuğa çıkıyoruz. Çoğunlukla resimler.