Angular Geliştiriciler Nasıl İşe Alınır: Aranacak Temel Beceriler ve Bilgi

Yayınlanan: 2022-09-14

Yüksek düzeyde ölçeklenebilir mimarisiyle birçok web geliştirme ekibi, verimli, karmaşık tek sayfalık uygulamalar oluşturmak için Angular'ı seçer. Ancak, Angular geliştiricilerini işe almak, söylemek yapmaktan daha kolaydır. Dışarıda pek çok aday olsa da, sorunsuz bir geliştirme deneyiminin anahtarı, yüksek kaliteli kodlama standartlarını karşılamak için en iyi uygulamaları ve gelişmiş teknikleri uygulayan harika bir Angular geliştirici bulmaktır.

Google'ın popüler ön uç çerçevesiyle ilgili temel kavramları anlamak, sizi potansiyel müşterilerle güvenle görüşmeye ve bir sonraki seviyeye bir kod tabanı getirmeye çalışan en yüksek kalibreli geliştiricileri işe almaya hazırlayacaktır. Bu makale, birinci sınıf bir Angular profesyonelinin sahip olması gereken önemli beceri ve bilgileri ortaya koymaktadır.

TL; DR

Yüksek kaliteli Angular adayları:

  • Angular'ın temel işlevlerini bilir.
  • Kodlamaya başlamadan önce tasarlayın.
  • Angular uygulama yaşam döngülerini anlayın.
  • Sağlam bir reaktif programlama bilgisine sahip olun.
  • Devletin ne olduğunu ve nasıl kullanılacağını bilin.
  • Otomatik test konusunda yetenekli ve destekleyicidir.
  • En son Angular sürümlerinden haberdar olun.

Not: Bu kılavuz, artık AngularJS olarak bilinmeyen en son Angular sürümleri için geçerlidir - “Angular”, Angular 2'den beri uygulanmaktadır. Eski bir AngularJS web uygulaması projesinin (1.x şube), Büyük Bir AngularJS Geliştiricisi Nasıl İşe Alınır bölümüne bakın.

Angular'ın Temel İşlevlerini Bilin

Angular çerçevesi TypeScript üzerinde çalışır ve bir uygulamanın içine yazılan tüm kodlar JavaScript'e aktarılır. TypeScript, düz JavaScript'i derleyen bir JavaScript üst kümesidir . Açısal kod bu üst küme ile temsil edilir.

Pek çok geliştirici Angular'ı öğrenir ancak JavaScript, TypeScript, HTML veya CSS'nin gerektirdiği temel kavramları iyi anlamaz. Bu temeller eksikse, geliştiriciler uygun olmayan geçici çözümler kullanmaya ve dolayısıyla bir projenin teknik borcunu çoğaltmaya eğilimlidir.

Bu nedenle, adaya HTML5 ve CSS3 bilgisi olup olmadığını sorun. İyi bir Angular geliştiricisinin, ekipte başka biri olduğu sürece bir HTML veya CSS uzmanı olması gerekmez, ancak bu temel kavramları anlamaları gerekir:

  • esnek kutu
  • SCSS değişkenleri
  • Bir span ve bir div arasındaki fark
  • CSS'deki önemli sınıflar
  • Öznitellikler

Açısal geliştiriciler, JavaScript ve TypeScript hakkında sağlam bir anlayışa ve ayrıca bazı HTML ve CSS becerilerine sahip olmalıdır.

Cıvıldamak

Kodlamadan Önce Tasarım

İyi tasarım, iyi uygulama mimarisinin anahtarıdır. Adayınıza tasarımlarını nasıl yaptıklarını sorun ve düşüncelerini şu ideal düşüncelerle karşılaştırın:

  • Kod nereye gidecek? Yeni bir kütüphane veya modüle ihtiyaç var mı?
  • Girdiler ve çıktılar nelerdir?
  • Yeniden kullanılabilir bileşenler veya yönergeler olmalı mı?
  • Devlet nereye gidecek? (Aşağıda Devlet Yönetimi başlığı altında daha ayrıntılı tartışılmıştır.)
  • İş mantığı nereye, yani hangi hizmete gidecek?
  • Belirli bileşenler, esasen bir UI tasarım sistemi oluşturmak için kütüphaneler arasında paylaşılabilir mi?

Belirli bir tasarımın tüm özellikleri, adayın tasarım yapma alışkanlığında olup olmamasından daha az önemlidir. Tüm tasarımlar geçicidir, bu nedenle çoğu uygulama için belgeler, resmi belgeler gerekmedikçe beyaz tahtadaki bir eskizin fotoğrafı kadar basit olabilir. Daha sonraki bir aşamada geliştirici, tüm parçaların birbiriyle nasıl ilişkili olduğunu netleştirmek için teknik tasarımı koddan (doğru araçlarla) oluşturabilir.

Açısal Uygulama Yaşam Döngülerini Anlama

Adayınıza Angular bileşen yaşam döngüsü hakkında ne bildiklerini sorun. Cevapları üç yaşam döngüsü kancası içermelidir: ngOnInit , ngOnChanges ve ngOnDestroy . Adlarından da anlaşılacağı gibi, bileşen başlatılırken ngOnInit çağrılır, bileşen yok edildiğinde ngOnDestroy çağrılır ve bir öznitelik değiştiğinde ngOnChanges çağrılır. İkincisi, ngOnInit önce gerçekleşebilir - öznitelik, bileşen tamamen başlatılmadan önce zaten atandığında, ngOnChanges önce ngOnInit .

Aday ayrıca ngDoCheck , ngAfterContentInit , ngAfterContentChecked , ngAfterViewInit ve ngAfterViewChecked hakkında bilgi sahibiyse, bileşenler için tüm değişiklik algılama kancalarını bilir ve bir adım öndedir.

Kancalardan herhangi biri hakkında sorulacak iyi bir takip sorusu: "Bu değişiklik tespiti ne zaman gerçekleşir?"

Solda okları aşağıyı gösteren beş kutu görünür. Dördüncüsü dışında hepsi yeşildir, mavidir ve sağda görünen aşağıyı gösteren beş kutuya daha genişleyen bir parantez vardır (ilki beyaz, geri kalanı mavidir). Soldaki kutular yukarıdan aşağıya doğru şunları okur: "constructor, ngOnChanges, ngOnInit, ngDoCheck ve ngOnDestroy." "Yapıcı" ile "ngOnChanges" arasındaki ok, "Bileşenin bağlı girişleri var" olarak etiketlenmiştir ve "yapıcı" ile "ngOnInit" arasında "Bileşenin bağlı girişleri yok" etiketli ek bir ok vardır. "ngOnChanges" ile "ngOnInit" arasındaki ok "İlk çalıştırma" olarak etiketlenmiştir ve "ngOnChange" ile "ngDoCheck" arasında "İlk çalıştırma değil" etiketli ek bir ok vardır. "ngOnChanges" öğesinin sol üst tarafında "1+ veriye bağlı giriş özellikleri değişikliği" metnini içeren beyaz bir kutu görünür ve onu işaret eder. Sağdaki kutular, yukarıdan aşağıya doğru şunları okur: "İlk kez aranıyor mu?, ngAfterContentInit, ngAfterContentChecked, ngAfterViewInit ve ngAfterViewChecked." "İlk kez aranıyor mu?" bölümündeki ok "ngAfterContentInit", "Evet" olarak etiketlenir ve "İlk kez aranıyor mu?" "Hayır" etiketli "ngAfterContentChecked" için. "ngAfterContentChecked" ile "ngAfterViewInit" arasındaki ok, "İlk kez çağrıldı" olarak etiketlenir ve "ngAfterContentChecked" ile "ngAfterViewChecked" arasında, "İlk kez aranmadı" etiketli ek bir ok işaret eder.
Angular bileşen yaşam döngülerine genel bakış.

Daha az bilinen bir yaşam döngüsü, yalnızca bir kancaya sahip olan sağlayıcı yaşam döngüsüdür: ngOnDestroy . Bu, yalnızca sağlayıcı bileşen düzeyinde eklendiğinde çağrılır, bu durumda bileşenle birlikte yok edilir. Kök veya modül düzeyinde sağlanırsa, asla yok edilmez.

Bir sağlayıcının kurucusu, sağlayıcı ilk kez kullanıldığında çalıştırılacaktır, bu nedenle kurucunun hiçbir zaman çalıştırılmaması mümkündür. Adayınızı bu olasılık hakkında sorgulayın - gerçek dünya senaryolarında, genellikle gözden kaçan bir hata kaynağı olabilir!

Sağlam Reaktif Programlama Bilgisi

Angular bir uygulamada, reaktif programlama genellikle anlaşılması en zor kısımdır. Birçok kişi, bir tarifin adımları gibi, anlaşılması ve üzerinde çalışılması daha kolay olduğunu varsayarak, bir kod parçasını programlamaya başladıklarında prosedürel bir şekilde düşünür.

Reaktif programlama, kontrol edemediğimiz şeylere tepki vermeyi içerir ve bu öngörülemeyen bir sırada gerçekleşebilir. Her gün olaylara bu şekilde tepki versek de (örneğin, önümüzdeki araba aniden durduğunda fren yapmak gibi), birçok geliştirici programlamaya reaktif bir yaklaşım benimsemeyi zor buluyor.

Ancak, bir Angular uygulamasında olan her şey reaktif programlamaya dayanır. Örneğin, bir Angular alışveriş uygulamasındaki bazı tepkisellik örnekleri şunları içerebilir:

  • Kullanıcı oturum açtığında, alışveriş sepeti simgesindeki numara güncellenir ve menü öğeleri daha özel seçeneklere dönüşür.
  • Kullanıcı bir kategoriye gittiğinde, ürünler seçilen kategoriye göre güncellenir.
  • Kullanıcı sepetine bir ürün eklediğinde, alışveriş sepeti simgesi ürün sayısıyla güncellenir.
  • Bir öğe stokta kalmadığında (arka uçtan mevcut stok miktarlarını izleyen bir dinleyici aracılığıyla kaydedilir), sayfa kullanıcı arabirimi güncellenir.

Bunların otomatik olarak gerçekleştiğini ve görünmesi için sayfanın yenilenmesi gerekmediğini unutmayın. Bir görüşmede adaydan geliştirdikleri bir uygulamada reaktif programlamayı nasıl uyguladıklarını açıklamasını isteyin. Aday, sayfayı yenilemeyi veya bir bileşeni yenilemek için ChangeDetectorRef.detectChanges() manuel olarak çağırmayı içeren çözümleri açıklıyorsa, bunun sarı bir bayrak olduğunu düşünün.

Açısalda Gözlenebilirlerle İlgili Tuzaklar

Daha az deneyimli geliştiriciler bazen Angular uygulamalarında yazdıkları kodun yürütülmediğini görebilirler. Deneyimli Angular geliştiricileri ortak bir neden belirleyebilir: Reaktif programlamada ana dayanak nesne türü olan Observable üzerinde abonelik yoktur. Yalnızca bir abonelikle arka uç aramaları veya diğer reaksiyonlar yürütülür.

Abonelikler oluşturmanın iki yolu vardır: Geliştiriciler zaman async boruyu veya subscribe olma yöntemini kullanabilir. Ancak bir uyarı var: Geliştiriciler manuel bir abonelik yaparlarsa ( subscribe olma yöntemiyle), Observable manuel olarak yok edilmesi gerekecektir (varsayılan olarak gerçekleştiği bazı uç durumlar olmasına rağmen). Geliştiriciler, Observables çeşitli şekillerde yok edebilir:

  • Mümkün olduğunda zaman async boruyu kullanmak (bu, bileşene artık ihtiyaç duyulmadığında Observable yok eder).
  • Bileşenin kullanım süresinin sonunda ( ngOnDestroy ) bir Observable unsubscribe yöntemini kullanarak manuel olarak abonelikten çıkma.
  • Daha bildirimsel bir şekilde, pipe operatörü içindeki takeUntil operatörü ve bir özne (yani, destroy$ adında bir şey) kullanarak. Bu durumda, özne, bileşenin kullanım ömrünün sonunda ( ngOnDestroy ) destroy$.next() yayar. Yok etme olayını aldıktan sonra, takeUntil operatörü artık Observable'dan bağlı olduğu olayları kabul etmeyecek ve böylece abone mantığı artık tetiklenmeyecektir. Bir örnek için, 2. bölümdeki takeUntil operatörüne bakın. take ve takeWhile operatörleriyle benzer işlevler ortaya çıkarılabilir.
  • Angular uygulamaları Ivy derleyicisine geçtiği için ek açıklamaları da kullanabiliriz. Yok until-destroy kitaplık veya SubSink gibi başka bir üçüncü taraf kitaplığı, bir bileşen yok edildikten sonra gözlemlenebilirlerden sorunsuz bir şekilde çıkmak için kullanılabilir.

Reaktif programlama ile ilgili bir başka potansiyel sorun, bellek sızıntılarından ve arka uca yapılan çoklu çağrılardan kaynaklanır. Adaya bu sorunların farkında olup olmadıklarını ve normalde bunları nasıl çözeceklerini sorun. Yukarıda açıklandığı gibi Observable s aboneliğinden çıkılmaması durumunda bellek sızıntıları meydana gelebilir. Bir arka uç aramasında birden çok abonelik nedeniyle arka uca yapılan birden çok arama, Observable paylaşılarak çözülebilir.

Durumu ve Nasıl Kullanılacağını Bilin

Tüm tek sayfalı uygulamaların bir durumu vardır ve bu durum ön uçta bir yerde mevcuttur. Ama tam olarak devlet nedir? Mevcut kullanıcı deneyimine özgü tüm değişkenleri içerir. Örneğin, ad ve profil resmi URL'si, seçilen belirli bir menü öğesi veya alışveriş sepeti öğeleri listesi gibi bir ekran listesi gibi kimliği doğrulanmış kullanıcı ayrıntıları.

Bir Angular uygulamasında, dikkate alınması gereken üç ana ön uç durum türü vardır:

Durum Dürbün
Başvuru Kimliği doğrulanmış kullanıcılar, kullanıcı rolleri, menü öğeleri veya bir kullanıcının alışveriş sepeti gibi tüm uygulama tarafından kullanılabilen genel bilgiler. Bu durumda değişen her şey tüm uygulama için değişecektir.
Modül Bir hizmetin kullanıldığı tüm modül için mevcut bilgiler. Bir geliştirici, sağlayıcılarla bir modülü her yeniden kullandığında, her sağlayıcının yeni bir örneğini oluşturur. Devlet asla yok edilmeyecek ve yalnızca belirli bir sağlayıcı ilk kez kullanıldığında yaratılacaktır.
Bileşen Belirli bir bileşen için mevcut olan bilgiler. Bileşenler, bir uygulamanın en küçük parçalarıdır. Bir Angular uygulamasının birden fazla bileşen durumu olabilir, ancak bunlara yalnızca her bileşen üzerinden erişilebilir. Durum, bileşen oluşturulduğunda oluşturulacak ve bileşen yok edildiğinde yok edilecektir.

Durumun ne olduğunu ve ne zaman yüklenmesi veya yeniden yüklenmesi gerektiğini iyi anlamak, Angular geliştiricileri işe alırken aranması gereken temel becerilerden biridir. Bu, ekibinizin aday tarafından yazılan bazı örnek kodları inceleme fırsatı olup olmadığını araştırmak için en önemli bölgedir. Başvuru sahibi devlet yönetimi için bir kütüphane kullanıyorsa:

  • NgRx, Akita, NgXs veya benzer durum yönetimine özgü kitaplıkların kullanımına bakın.
  • Ardından ilgili kodda effects , action , reducer , store , selector için bildirim olup olmadığına bakın.

Örnek olarak NgRx'teki (Akita ve diğer kütüphanelerinkine benzer) uygulama durumunun genel akışına bakalım:

Sol üstteki beyaz bir "Seçici" kutusu, sol alttaki yeşil bir "Bileşen" kutusuna işaret eder, bu da sağda beyaz, katmanlı bir "Eylem" kutusuna işaret eder. "Eylem" kutusu beyaz, katmanlı bir "Küçültücü" kutusuna ve sağda (noktalı bir okla) beyaz, katmanlı bir "Efektler" kutusuna işaret eder. "Küçültücü" kutusu, soldaki "Seçici" kutusunu işaret eden mavi bir "Mağaza" kutusunu işaret eder. Sağ altta, "Efektler" kutusu solu (noktalı bir okla) "Eylem" kutusunu ve yukarıya kadar yeşil bir "Servis" kutusunu gösterir. "Servis" kutusu, "Efektler" kutusuna ve yeşil bir silindir yığınına işaret eder. Yeşil silindir yığını "Servis" kutusunu işaret eder.

Geliştirici hizmetlerle kendi durumunu yaratırsa, durum yönetimindeki yeterliliklerini belirlemek daha zor olabilir:

  • state veya effect kelimelerinin referanslarını arayın.
  • Kodun bir eyleme tepki verip vermediğine bakın, örneğin kullanıcı A Düğmesine basarsa, metin B Ekranında değişmelidir.

Mülakatçıların Devlet Hakkında Soracakları Sorular

Bir başvuru sahibinin kodunu inceleyerek bilmeniz gereken her şeyi her zaman öğrenemezsiniz. Potansiyel Angular geliştiricilerinin durumu ne kadar iyi anladığını araştırmak için bu sorguları soru listenize ekleyin:

  • state nerede ve nasıl kullandınız? Bu, onların devletle olan deneyimlerini anlamak için sağlam bir başlangıç ​​noktasıdır; ayrıntıları araştırmaktan korkmayın.
  • Kütüphane kullanıp kullanmamaya nasıl karar veriyorsunuz? Bir uygulamaya bir durum kitaplığı eklemenin her zaman yararlı olmadığını biliyorlarsa, bu iyiye işarettir.
  • Devletin içine ne koyardınız, nereye koyardınız ve devlet yönetim sisteminden nasıl yararlanırsınız? “Her şeyi global uygulama durumuma koyuyorum” derlerse, bu, geliştiricinin böyle bir sistemin bir uygulamaya verebileceği olumsuz yan etkilerden haberdar olmadığının kesin bir işaretidir.

Çeşitli durum türlerini anlayan geliştiriciler, bu yan etkilerden kaçınacaktır:

  • Yalnızca bir bileşen için geçerli olan durum, diğer bileşenler tarafından değiştirilebilir veya bozulabilir.
  • Veriler depoda yuvalanmıştır, bu nedenle verileri takip etmek zorlaşır ve veriler insan tarafından okunamaz hale gelir (hata ayıklama, veri alışverişi vb. amaçlar için).
  • Bir formun içindeki verileri düzenlemek, onu zaten uygulamanın geri kalanına yayar, oysa yalnızca verileri kaydederken mağazaya itilmesi gerekir; başka bir deyişle, uygulamanın geri kalanı geçersiz veriler kullanıyor olabilir.

Global mağazanın düzensiz bir karmaşaya dönüşmesi uzun sürmez ve dağınıklığın her bir parçasının nereden kaynaklandığı net değildir, bu da hata ayıklamayı ve bakımını zorlaştırır.

Otomatik Testin Önemini Anlamak

Otomatik test, herhangi bir Angular web uygulaması için kod kalitesi kadar önemli kabul edilmelidir. Programcıların test yazmalarının en önemli nedenlerinden biri kodlarını belgelemektir: Şirkete yeni bir geliştirici katılırsa, iş mantığı ve belirli UI akışları, test paketinin beklentilerine göre net olmalıdır. Ayrıca, otomatik test, geliştirmenin başlarında hataları ortaya çıkarır.

Potansiyel Angular geliştiricinize üç test sorusu sorun:

  • Test hakkında düşünceleriniz nelerdir? Otomatik testi umursamayan herhangi bir adayın değerlendirilmesi durdurulmalıdır. Test odaklı geliştirmeyi (TDD) kullanmamayı tercih etseler bile, otomatik testin değerini göremeyen geliştiriciler, şirketinizin manuel test süresine ve daha da kötüsü, bir uygulamada değişiklik yapıldığında gerilemeler göründüğünde son kullanıcı kesinti süresine mal olur. mesai.
  • Test ederken nelere dikkat ediyorsunuz? Harika bir Angular geliştiricisi, bir alana değerler atayabilmek veya belirli test kapsamı ölçümleri (yani, %85 kapsam) için çabalamak gibi temel verileri test etmek yerine, temel iş mantığını test etmeye odaklanmalıdır.
  • Genellikle daha fazla E2E testi veya daha fazla birim testi var mı? Neden? Niye? Angular uygulamaları, ön uç uygulamalar olarak iki ana tür otomatik testten yararlanabilir: birim testleri ve uçtan uca (E2E) testler. Tipik olarak, bir test paketinde birçok birim testi ve daha az E2E testi bulunur. Birim testleri küçüktür, bu nedenle yazmaları ve yürütmeleri hızlıdır. E2E testleri daha büyük ve daha yavaştır. Adil uyarı: Tüm geliştiriciler, korunacak birim ve E2E testlerinin doğru oranı konusunda aynı görüşe sahip olmayacaktır. Gerçekte, test edilen uygulamanın karmaşıklığına bağlıdır ve o zaman bile cevap bir dereceye kadar tartışmalıdır.

Sol üstte açık mavi ve yeşil bir kutu ile bir akış şeması başlar. Açık mavi kısımda "Test hakkındaki düşünceleriniz nelerdir?" metni bulunur. ve yeşil kısımda "Aday otomatik testle ilgileniyor mu?" metni bulunur. Yeşil kısımdan, bir "Hayır" oku, "Adayın uygun test becerilerine sahip değil" yazan koyu mavi bir kutuyu işaret eder ve "Evet" oku, başka bir bölme kutusunu işaret eder. İkinci kutunun açık mavi kısmında "Test ederken neye odaklanırsınız?" metni bulunur. ve yeşil kısımda "Aday, temel iş mantığını test etmeye odaklanıyor mu (kod kapsamı yüzdelerinin ötesine geçiyor)?" Yeşil kısımdan, bir "Hayır" oku, "Adayın uygun test becerilerine sahip olmayabilir" yazan koyu mavi bir kutuyu işaret eder ve "Evet" oku, başka bir bölme kutusunu işaret eder. Üçüncü kutunun açık mavi kısmında "Genellikle daha fazla E2E testi veya daha fazla birim testi var mı? Neden?" metni bulunur. ve yeşil kısımda "Aday, hem ünite hem de uçtan uca testin önemini ve amacını anlıyor mu?" metni bulunur. Yeşil kısımdan, bir "Hayır" oku yukarıyı ve "Adayın uygun test becerilerine sahip olmayabilir" yazan koyu mavi kutuyu işaret eder ve "Evet" oku, "Adayın uygun testi var" yazan koyu mavi bir kutuyu işaret eder. Beceriler."
Angular geliştiricileri için mülakat sorularını test etme kılavuzu.

Açısal Test Çerçeveleri

Açısal geliştiricilerin, otomatikleştirilmiş test çerçeveleri söz konusu olduğunda seçenekleri vardır. Birim testi, Jest veya Jasmine ve Karma aracılığıyla yapılabilir. Her Angular geliştiricisi Jasmine ve Karma'ya aşina olmalıdır. Jest de yaygındır; genellikle daha hızlıdır ve daha gelişmiş test seçenekleri sunar.

Bir Angular uygulaması için E2E test standardı, Angular CLI tarafından oluşturulan varsayılan araç olan İletki'dir. Bir alternatif, birçok seçeneğe sahip gelecek vaat eden bir E2E test çerçevesi olan Cypress'tir.

Adayın en az bir birim test çerçevesi ve bir E2E test çerçevesi hakkında derinlemesine bilgi sahibi olduğundan emin olun.

En Son Angular Sürümlerden Haberdar Olun

Great Angular geliştiricileri, çeşitli nedenlerle geliştirme aşamasında her zaman en son sürümü kullanmayabilir, ancak değişikliklerden haberdar olabilmeleri ve geçiş yapmaya hazır olabilmeleri için Angular sürüm programını bilmeleri gerekir. Bunu değerlendirmenin bir yolu, adaya Angular'ın yayın stratejisine aşina olup olmadıklarını sormaktır. Angular, her altı ayda bir, genellikle Şubat ve Mayıs aylarında büyük bir sürüm yayınlamayı hedefliyor. Bir Angular sürümü, çıkış tarihinden sonraki ilk altı ay boyunca "aktif destek" altındadır ve çıkış tarihinden sonraki 12 ay boyunca "uzun vadeli destek" altındadır. Bu, diğer bazı teknolojilere kıyasla oldukça dar bir zaman çizelgesidir ve güncel kalmayı özellikle önemli kılar.

Ayrıca Angular'ın en son sürümü hakkında biraz araştırma yapabilir ve adayınıza bu yeni özelliklerin faydalarını sorabilirsiniz. Örneğin, Angular 14 piyasaya sürüldüğü zaman, adaya şunları sormuş olabilirsiniz:

  • Açısal modüllere olan ihtiyacı azaltan bağımsız bileşenler. Bağımsız bileşenler mevcut herhangi bir NgModule içinde bildirilmez ve doğrudan kendi bağımlılıklarını yönetirler. Sonuç olarak, bir ara NgModule ihtiyaç duymadan doğrudan bunlara güvenilebilir.
  • Angular Reaktif Formlar için varsayılan olarak katı yazmayı ayarlayan Angular 14'teki bir başka önemli güncelleme olan yazılan formlar. Yazılan formlar, FormControls , FormGroups ve FormArrays içindeki değerlerin tüm API yüzeyinde tip açısından güvenli olmasını sağlar. Bu, özellikle iç içe geçmiş karmaşık durumlar için daha güvenli formlar sağlar.

Ön Uç Ekibiniz İçin Bir Sonraki Büyük Açısal Geliştirici

Her web geliştirme projesi ve ekibi farklıdır ve bir Angular geliştiricisinin beceri ve bilgisinin çeşitli yönlerine farklı önem verir. Ancak burada sunduğumuz temel konuları anlamak, işe alım yöneticilerinin işe alım sürecine – hatta daha teknik değerlendirmelerde bile – anlamlı bir şekilde katılmalarını sağlayacaktır.

Toptal Engineering Blog, bu makalede sunulan teknik kavramları ve diyagramları gözden geçirdiği için Ramazan Yıldız'a teşekkürlerini sunar.