AngularJS Nedir?
AngularJS, dinamik web uygulamaları için yapısal bir frameworktür. HTML'i şablon dili olarak kullanmanızı sağlar ve uygulamanın bileşenlerini açık bir şekilde ifade etmek için HTML sözdizimini genişletmenize izin verir. Angular'ın veri bağlama ve bağımlılık enjeksiyonu, aksi takdirde yazmak zorunda kalacağınız kodun çoğunu ortadan kaldırır. Hepsi tarayıcıda olur ve herhangi bir sunucu teknolojisi ile ideal bir ortaklık yapar.
AngularJS Özellikleri
- AngularJS, Rich İnternet Uygulaması (RIA) oluşturmak için güçlü bir JavaScript tabanlı geliştirme çerçevesidir (framework).
- AngularJS, temiz bir MVC (Model View Controller) yöntemiyle istemci tarafı uygulaması (JavaScript kullanarak) yazmak için geliştiriciler sağlar.
- AngularJS ile yazılmış uygulama çapraz (Cross) tarayıcı uyumludur.
- ngularJS otomatik olarak her tarayıcı için uygun JavaScript kodunu işler.
- AngularJS açık kaynak kodlu, tamamen ücretsiz ve dünyadaki binlerce geliştirici tarafından kullanılmaktadır. Apache Lisansı sürüm 2.0 kapsamında lisanslanmıştır.
- Genel olarak, AngularJS, bakımı kolay bir şekilde tutarak büyük ölçekli ve yüksek performanslı bir web uygulaması oluşturmak için bir çerçevedir.
AngularJS Temel Özellikleri
Aşağıda AngularJS'in en önemli temel özellikleri bulunmaktadır ;
- Veri bağlama - Model ve görünüm bileşenleri arasında otomatik olarak veri senkronizasyonu.
- Kapsam - Bunlar modele referans nesneleri. Denetleyici ve görüntü arasında tutkal gibi davranırlar.
- Denetleyici - Bunlar belirli bir kapsama bağlı olan JavaScript işlevleridir.
- Hizmetler - AngularJS, XMLHttpRequests oluşturmak için $ https: gibi çeşitli yerleşik hizmetler ile birlikte gelir. Bunlar, yalnızca bir kez uygulamada örneklendirilen tek nesnelerdir.
- Filtreler - Bunlar, bir dizideki öğelerin alt kümesini seçer ve yeni bir dizi döndürür.
- Yönergeler - Yönergeler, DOM öğelerindeki işaretleyicidir (öğeler, özellikler, css ve daha fazlası gibi). Bunlar, yeni ve özel widget'lar olarak görev yapan özel HTML etiketleri oluşturmak için kullanılabilir. AngularJS yerleşik yönergelere sahiptir (ngBind, ngModel ...)
- Şablonlar - Bunlar, denetleyici ve modelden gelen bilgi içeren işlenmiş görünümdür. Bunlar, tek bir dosya (index.html gibi) veya "partials" kullanarak bir sayfada birden fazla görünüm olabilir.
- Yönlendirme - Görüş değiştirme kavramı.
- Model Görünümü - MVC, bir uygulamayı farklı kısımlara (Model, Görünüm ve Denetleyici olarak adlandırılır) bölmek için bir desen kalıbıdır ve bunların her biri farklı sorumluluklara sahiptir. AngularJS MVC'yi geleneksel anlamda uygulamıyor, aksine MVVM'ye (Model-View-ViewModel) daha yakındır. Açısal JS takımı, mizahi bir şekilde Model Görünümü olarak bahsetmektedir.
- Derin Bağlantı - Derin bağlantı, URL'de yer alan uygulama durumunu kodlayarak yer imi eklemenizi sağlar. Uygulama daha sonra URL'den aynı duruma geri yüklenebilir.
- Bağımlılık Enjeksiyonu - AngularJS, uygulamanın geliştirilmesini, anlaşılmasını ve test edilmesini kolaylaştırarak geliştiriciye yardımcı olan yerleşik bağımlılık enjeksiyonu alt sistemine sahiptir.
Kavramlar
Aşağıdaki diyagram, sonraki yazılarımızda ayrıntılı olarak ele alacağımız AngularJS'nin bazı önemli bölümlerini göstermektedir.
AngularJS Avantajları
- AngularJS, Tek Sayfa Uygulaması'nı çok temiz ve bakımlı bir şekilde yaratma olanağı sağlar.
- AngularJS, HTML'ye veri bağlama yeteneği sağlar ve böylece kullanıcıya zengin ve duyarlı bir deneyim kazandırır
- AngularJS kodu birim test edilebilir.
- AngularJS ile geliştirici daha az kod yazar ve daha fazla işlevsellik elde eder.
- AngularJS'de, görünümler saf html sayfalardır ve JavaScript ile yazılmış kontrolörler işlemlerini yapar.