AngularJS - Genel Bakış

AngularJS, açık kaynaklı bir web uygulama çerçevesidir. İlk olarak 2009 yılında Misko Hevery ve Adam Abrons tarafından geliştirilmiştir. Artık Google tarafından bakımı yapılmaktadır. En son sürümü 1.2.21'dir.

Resmi belgelerinde belirtildiği şekliyle AngularJS tanımı aşağıdaki gibidir -

AngularJS, dinamik web uygulamaları için yapısal bir çerçevedir. HTML'yi şablon diliniz olarak kullanmanıza ve uygulama bileşenlerinizi açık ve öz bir şekilde ifade etmek için HTML'nin sözdizimini genişletmenize olanak tanır. Veri bağlama ve bağımlılık ekleme, şu anda yazmak zorunda olduğunuz kodun çoğunu ortadan kaldırır. Ve bunların hepsi tarayıcı içinde gerçekleşir, bu da onu herhangi bir sunucu teknolojisi ile ideal bir ortak yapar.

Genel Özellikler

AngularJS'nin genel özellikleri aşağıdaki gibidir -

  • AngularJS, Zengin İnternet Uygulamaları (RIA) oluşturabilen verimli bir çerçevedir.

  • AngularJS, geliştiricilere istemci tarafı uygulamaları temiz bir Model Görünüm Denetleyicisi (MVC) yöntemiyle JavaScript kullanarak yazma seçenekleri sunar.

  • AngularJS'de yazılan uygulamalar, tarayıcılar arası uyumludur. AngularJS, her tarayıcıya uygun JavaScript kodunu otomatik olarak işler.

  • AngularJS açık kaynak kodludur, tamamen ücretsizdir ve dünya çapında binlerce geliştirici tarafından kullanılmaktadır. Apache lisansı sürüm 2.0 altında lisanslanmıştır.

Genel olarak, AngularJS, büyük ölçekli, yüksek performanslı ve bakımı kolay web uygulamaları oluşturmak için bir çerçevedir.

Çekirdek özellikleri

AngularJS'nin temel özellikleri aşağıdaki gibidir -

  • Data-binding - Model ve görünüm bileşenleri arasında verilerin otomatik senkronizasyonudur.

  • Scope- Bunlar modele atıfta bulunan nesnelerdir. Denetleyici ve görünüm arasında bir tutkal görevi görürler.

  • Controller - Bunlar, belirli bir kapsama bağlı JavaScript işlevleridir.

  • Services- AngularJS, XMLHttpRequests yapmak için $ http gibi birkaç yerleşik hizmetle birlikte gelir. Bunlar, uygulamada yalnızca bir kez örneklenen tek nesnelerdir.

  • Filters - Bunlar bir diziden bir öğe alt kümesini seçer ve yeni bir dizi döndürür.

  • Directives- Yönergeler, öğeler, öznitelikler, css ve daha fazlası gibi DOM öğelerine ilişkin işaretlerdir. Bunlar, yeni, özel widget'lar olarak hizmet veren özel HTML etiketleri oluşturmak için kullanılabilir. AngularJS, ngBind, ngModel vb. Gibi yerleşik direktiflere sahiptir.

  • Templates- Bunlar, kontrolör ve modelden gelen bilgilerle işlenmiş görünümlerdir. Bunlar, tek bir dosya (örneğin, index.html) veya bir sayfada kısmi kullanılan birden çok görünüm olabilir .

  • Routing - Görüş değiştirme kavramı.

  • Model View Whatever- MVW, bir uygulamayı Model, Görünüm ve Denetleyici adı verilen ve her biri farklı sorumluluklara sahip farklı bölümlere ayırmak için kullanılan bir tasarım modelidir. AngularJS, MVC'yi geleneksel anlamda uygulamaz, bunun yerine MVVM'ye (Model-View-ViewModel) daha yakın bir şey uygular. Angular JS ekibi mizahi bir şekilde Model Görünümü olarak adlandırıyor.

  • Deep Linking- Derin bağlantı, URL'deki uygulama durumunun yer imlerine eklenebilmesi için kodlanmasına izin verir. Uygulama daha sonra URL'den aynı duruma geri yüklenebilir.

  • Dependency Injection - AngularJS, geliştiricinin uygulamaları kolayca oluşturmasına, anlamasına ve test etmesine yardımcı olan yerleşik bir bağımlılık ekleme alt sistemine sahiptir.

Kavramlar

Aşağıdaki şema, sonraki bölümlerde ayrıntılı olarak tartışacağımız AngularJS'nin bazı önemli kısımlarını göstermektedir.

AngularJS'nin Avantajları

AngularJS'nin avantajları:

  • Çok temiz ve bakımı kolay bir şekilde Tek Sayfa Uygulama oluşturma yeteneği sağlar.

  • HTML'ye veri bağlama yeteneği sağlar. Böylece kullanıcıya zengin ve duyarlı bir deneyim sunar.

  • AngularJS kodu birim test edilebilir.

  • AngularJS, bağımlılık enjeksiyonu kullanır ve endişelerin ayrılmasını kullanır.

  • AngularJS, yeniden kullanılabilir bileşenler sağlar.

  • AngularJS ile geliştiriciler kısa kodla daha fazla işlevsellik elde edebilir.

  • AngularJS'de görünümler saf html sayfalarıdır ve JavaScript ile yazılmış denetleyiciler iş sürecini gerçekleştirir.

Her şeyin ötesinde, AngularJS uygulamaları Android ve iOS tabanlı telefonlar / tabletler dahil olmak üzere tüm büyük tarayıcılarda ve akıllı telefonlarda çalışabilir.

AngularJS'nin dezavantajları

AngularJS pek çok avantajla birlikte gelse de, işte bazı endişe noktaları -

  • Not Secure- Yalnızca JavaScript çerçevesi olduğundan, AngularJS ile yazılmış uygulama güvenli değildir. Sunucu tarafı kimlik doğrulama ve yetkilendirme, bir uygulamayı güvende tutmak için gereklidir.

  • Not degradable - Uygulamanızın kullanıcısı JavaScript'i devre dışı bırakırsa, temel sayfa dışında hiçbir şey görünmez.

AngularJS Direktifleri

AngularJS çerçevesi üç ana bölüme ayrılabilir -

  • ng-app - Bu yönerge bir AngularJS uygulamasını HTML'ye bağlar ve tanımlar.

  • ng-model - Bu yönerge, AngularJS uygulama verilerinin değerlerini HTML giriş kontrollerine bağlar.

  • ng-bind - Bu yönerge, AngularJS uygulama verilerini HTML etiketlerine bağlar.