Sosyal medyadan sağlık hizmetlerine, bankacılıktan e-ticaret uygulamalarına kadar günümüzde birçok insan mobil uygulamaları kullanmaktadır. Bu uygulamalar oldukça kullanışlıdır sorunsuz kullanıcı deneyimleri ile arayüzler sunarak günler hayattaki birçok işimizde bize yardımcı olmaktadır. Bu tür uygulamalar bizim için nasıl bu kadar güvenilir oldu? Büyük bir oranı sağlam ve güvenilir uygulamalar oluşturmayı kolaylaştırmaya yarayan Angular gibi yaygın olarak kullanılan çerçevelere gider.
İçindekiler
Angular Nedir?
TypeScript kullanarak yazılmış olup açık kaynaklı bir JavaScript çerçevesidir. Google bunu sürdürür ve amacı tek sayfalık uygulamak geliştirmektedir. Angular, bir çerçeve olarak büyük avantajlara sahipken, geliştiricilere çalışmak için standart bir yapı da sağlar. Kullanıcıların bakım yapabilecekleri büyük uygulamalar oluşturmasını sağlar.
Neden Bir Çerçeveye ihtiyacınız Var?
Çerçeveler genellikle, kodu sıfırdan oluşturmak zorunda kalmamanız için birbirini destekleyen yapı ile web geliştirme performanslarını artırır. Çerçeveler ekstra çaba sarf etmeden yazılıma eklenebilecek ekstra özellik sunan zaman kazandıran araçlardır.
Farklı Sürümleri Nelerdir?
Çeşitli çerçeve sürümleri için her şeyi kapsayan bir terimdir. İlk olarak 2009 yılında geliştirilmeye başladı buna bağlı olarak bugüne kadar birçok yenileme yapıldı. Başlangıç olarak AngularJS halk arasında angular 1 olarak bilinmektedir. Ardından 1,2,3,4,5 geldi ve son olarak 11.11.2020’de paylaşılan sürüm 11’e kadardır. Başından sonuna kadar her sürümü mevcut sorunları ele alarak, hataları düzenleyerek ve mevcut platformlara ayak uydurarak kendini geliştirmiştir.
Özellikleri
Belge Nesnesi Modeli
Belge Nesne Modeli (DOM), bir XML ya da HTML belgesini her düğümün belgenin bir bölümünü temsil eden ağaç yapısı olarak ele alır. Normal bir belge nesneni modeli kullanır. Aynı HTML üzerinde birden fazla güncelleme olduğunu düşünün, hali hazırda güncellenmiş olanları değil tümünü güncelleyecektir.
Yazı Tipi
TypeScript, kullanıcıların anlaşılması daha az karmaşık olan JavaScript kodu yazmaya yardımcı olan birden fazla JavaScript türü tanımlar. Tüm TypeScript kodu, JavaScript ile bir araya getirilerek herhangi bir platformda kolayca çalışabilmektedir.
Veri Bağlama
Veri bağlama, müşterilerin bir internet tarayıcısı ile net web sayfası faktörlerini değiştirmesine şans tanıyan yöntemdir. Dinamik HTML kullanılır ve karmaşık komut dosyası oluşturma ya da programlamaya ihtiyaç duyulmaz. Veri bağlanma, hesap makineleri, öğreticiler, oyunlar vb. için kullanılmaktadır.vAyrıca, sayfalar genellikle veri içerdiğinde, bir web sayfasının yüksek kademeli olarak gösterilmesini sağlar.
Test
Jasmine test çerçevesini kullanmaktadır. Farklıı türde test seneyolarını yapmak için Jasmine test çerçevesi kullanılmaktadır. Birden fazla işlevsellik sağlamaktadır. Artık Angular’ın temel özelliklerini kavradıktan sonra yapısını tanımak istersiniz. Angularla günlük hayatta çalışmak istiyorsanız Angular Sertifikasyon Eğitim Kursu alarak kullanmaya başlayabilirsiniz.
Mimari
Donanımlı bir model-view-controller (MVC) çerçevesidir. Uygulamanın yapısının nasıl olması gerektiğini anlatmak için net bir rehberlik servisine sahiptir ve DOM sunarken çift yönlü veri akışı sağlar. Temel yapıtaşları şunlardır;
Modüller
Angular’ın , uygulamayı başlatmak için AppModule adında bir temel modülü mevcuttur.
Bileşenler
Uygulamadaki bileşenler, uygulama mantığını ve verilerini tutan bir sınıf tanımlar. Bileşen genel olarak kullanıcı arayüzünün bir bölümünü kapsar.
Şablonlar
Şablonu, HTLM ögelerini gösterilmeden önce değiştirmek için angular işaretlemesini ve Html’i birleştirir. İki tür bağlama türü vardır;
- Olay Bağlama: Var olan uygulamanızın verilerinde güncelleme yaparak hedefindeki kullanıcı girişine yanıt verilmesini sağlamaktadır.
- Özellik Bağlama: Kullanıcıların, uygulama verilerinizden hesaplanan değeri Html’ye enterpolasyon yapmasına olanak sağlar.
Meta veriler
Meta veriler, angular’a bir sınıfın nasıl işlediğini söylemektedir. Bir sınıfta beklenen davranışını yapılandırabilmesi için sınıf içini dekore etmek için kullanılmaktadır.
Hizmetler
Görünümle bir ilişkisi olmayan ancak bileşenler arasında paylaşılması gereken veriniz ve düşünceleriniz olduğunda, bir hizmet sınıfı oluşturulmuş olur. Bu sınıflar her zaman @Injectible ile ilişkilendirilir.
Bağımlılık Enjeksiyonu
Bu özellik, bileşen sınıflarınızı verimli ve net tutmanıza olanak sağlar. Herhangi bir sunucudan veri getirmez, kullanıcı girişinizi doğrulamaz ve doğrudan oturum açmaz. Kendi avantaj ve dezavantajlarıyla birlikte gelir. Bunlara birlikte bakalım;
Angular’ın Avantajları
- Özel Bileşenler
Kullanıcıların gösterdikleri işlevselliği yeni olarak kullanılacağı parçalara dönüştürme mantığı ile paket oluşturabilen kendi bileşenlerini oluşturmaya şans vermektedir.
- Veri Bağlama
Kullanıcıların verilerini JavaScript kodundan manuel olarak bir kod yazılmasına gerek duyulmadan kullanıcı olaylarına tepki vermesine olanak tanımaktadır.
- Bağımlılık Enjeksiyonu
Kullanının hizmet yazmasını ve ihiyaç duyulan her yere erişimde bulunmalarını sağlar. Bu aynı zamanda test edilme özelliğinin kullanılabilirliğini geliştirir.
- Test
Testler birinci sınıf araçlar kategorisine girerler ve test edilebilirliğini göz önünde bulundurularak oluşumunu sağlamıştır. Uygulamanızdaki tüm bölümleri test etme olasılığına sahip olabilirsiniz.
- Kapsamlı Oluşum
Tam anlamıyla teşekkürlü bir çerçevedir uygulama içinde yönlendirme, sunucu içinde iletişim kurma ve daha fazlasını kullanmak için hazır çözümler sunar.
- Tarayıcı ile Uyumluluğu
Platformlar arasındadır ve birden fazla tarayıcı ile uyum sağlamaktadır. Uygulama aynı oranda tarayıcılarda ve işletim sistemlerinde çalışabilir.
Angular Dezavantajlar
- Derin Öğrenme Etkisi
Kullanan tüm kullanıcıların bilmesi gereken temel yönergeleri, bileşenleri, modülleri, şablonları ve dekoratörleri içerir. Gelişmiş konular arasında değişiklik algılama, bölgeler ve AoT derlemeleri yer alır. Angular 4 adet tam çerçeve olduğu için yeni başlayanların kavraması zor olabilir.
- Sınırlı SEO seçenekleri
Arama motoru tarayıcılarına ve sınırlı SEO seçeneklerine zayıf erişebilirlik sunmaktadır.
- Göç
Firmaların angular’ı sık sık kullanmalarının sebeplerinden biri eskiden kullanılan js/jquery tabanlı olan kodu anguların mimarisine taşımanın zor olmasıdır. Ayrıca her yeni olan sürümün yükseltilmesi zor olabilir ve birçoğu geriye dönük için uyumlu değildir.
- Karmaşık ve Ayrıntılı
Topluluğundaki yaygın olan bir diğer sorun, çerçevelerin ayrıntılı olmasıdır. Diğer ön uç araçlarla kıyasla oldukça karmaşıktır.