Angular (Framework)

Angular ("Angular 2+" veya "Angular CLI" olarak da bilinir.),[1][2] web uygulamaları geliştirmek için kullanılan açık kaynak ve özgür yazılım bir framework'tür. Google tarafından geliştirilmiş ve desteklenmektedir. İlk olarak 2010 yılında AngularJS adıyla piyasaya sürülen framework, 2016 yılında Angular 2 olarak yeniden tasarlanmış ve bu sürümle birlikte daha modern bir mimariye geçiş yapılmıştır. Angular, özellikle dinamik ve tek sayfa uygulamaları (SPA) oluşturmak için tercih edilmektedir.

Angular
Geliştirici(ler)Google
İlk yayınlanma14 Eylül 2016
Güncel sürüm16.1.2 / 21 Haziran 2023
Geliştirme durumuAktif
Programlama diliTypeScript
İşletim sistemiÇapraz Platform
LisansMIT Lisansı
Resmî sitesihttps://angular.dev
Kod deposuhttps://github.com/angular

Angular, MongoDB veritabanı, Express.js web uygulaması sunucusu çerçevesi, Angular'ın kendisi (veya AngularJS) ve Node.js çalışma ortamından oluşan MEAN yığınının ön ucu olarak kullanılır.

Angular, Google Cloud Platform ve Google Ads gibi uygulama ve sitelerin yanı sıra birçok dahili araçta da kullanılmaktadır.[3]

Angular'ın Bazı Temel Özellikleri

değiştir

Tek Sayfalık Uygulamalar (SPA)

değiştir

Tek Sayfalık Uygulamalar (SPA), kullanıcıların bir web uygulamasını daha akıcı ve etkileşimli bir şekilde deneyimlemesine olanak tanıyan bir uygulama mimarisidir.

Bu tür uygulamalar, tüm içeriği tek bir HTML sayfasında yükler ve sayfa geçişlerini istemci tarafında (client-side) gerçekleştirir. Böylece, kullanıcının tarayıcıda farklı sayfalara geçiş yaparken yaşadığı yükleme süreleri minimize edilir.

Model-Görünüm-Denetleyici (MVC) Mimarisi

değiştir

Model-Görünüm-Denetleyici (MVC) Mimarisi, yazılım geliştirmede uygulama bileşenlerini organize etmek için yaygın olarak kullanılan bir mimaridir. MVC, uygulamaların yapılandırılmasında işlevselliği ve kullanıcı arayüzünü ayırarak geliştirme sürecini kolaylaştırır. Bu model, özellikle web uygulamaları için etkili bir yapı sunar.

Çift Yönlü Veri Akışı (Two-Way Data Binding)

değiştir

Çift Yönlü Veri Akışı (Two-Way Data Binding), genellikle form uygulamaları, anketler ve kullanıcı etkileşimlerinin yoğun olduğu web uygulamalarında kullanılır. Örneğin, Angular'da ngModel direktifi, çift yönlü veri akışını sağlamak için yaygın olarak kullanılır.[4]

Dependency Injection

değiştir

Dependency Injection (Bağımlılık Enjeksiyonu), yazılım geliştirmede bileşenler arasındaki bağımlılıkları yönetmek için kullanılan bir yöntemdir. Bu yöntem, bileşenin ihtiyaç duyduğu bağımlılıkların (örneğin, sınıflar veya nesneler) dışarıdan sağlanmasını ifade eder. Böylece, bileşenler daha bağımsız hale gelir ve test edilebilirlikleri artar.[5]

Angular ve AngularJS arasındaki farklar

değiştir

Google, Angular'ı AngularJS'nin baştan sona yeniden yazılması olarak tasarladı.

  • Angular'ın kapsam (İngilizcescope) veya denetleyici kavramı yoktur; bunun yerine birincil mimari özelliği olarak bileşenler (İngilizcecomponent) hiyerarşisi kullanır.[6]
  • Angular, özellik bağlama (İngilizceproperty binding) "[]" ve olay bağlama (İngilizceevent binding) "()" üzerine odaklanan farklı bir ifade sözdizimine sahiptir.[7]
  • Modülerlik – temel işlevlerin çoğu modüllere taşındı.
  • Angular, Microsoft'un aşağıdaki özellikleri barındıran TypeScript dilinin kullanılmasını önerir:
    • Statik tipleme
    • Ek açıklamalar (İngilizceannotations)
  • TypeScript, ECMAScript 6'nın (ES6) bir üst kümesidir ve ECMAScript 5 ile geriye dönük olarak uyumludur.
  • Eşzamansız şablon derlemeleri
  • Sunucularda Angular uygulamaları çalıştıran Angular Universal desteği

Ayrıca bakınız

değiştir

Kaynakça

değiştir
  1. ^ "AngularJS and Angular 2+: a Detailed Comparison - SitePoint". www.sitepoint.com (İngilizce). 6 Nisan 2018. 7 Nisan 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Mayıs 2022. 
  2. ^ "r/Angular2". reddit. 19 Eylül 2015 tarihinde kaynağından arşivlendi. 
  3. ^ "Angular | Google Open Source Projects". Google Open Source. 10 Nisan 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Ekim 2024. 
  4. ^ "Angular". v17.angular.io. 6 Haziran 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Ekim 2024. 
  5. ^ "Angular". v17.angular.io. 6 Haziran 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Ekim 2024. 
  6. ^ "Angular". angular.io. 24 Haziran 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Mayıs 2022. 
  7. ^ "What's the difference between AngularJS and Angular?". www.gorrion.io (İngilizce). 1 Ocak 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Mayıs 2022.