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.
Geliştirici(ler) | |
---|---|
İlk yayınlanma | 14 Eylül 2016 |
Güncel sürüm | 16.1.2 / 21 Haziran 2023 |
Geliştirme durumu | Aktif |
Programlama dili | TypeScript |
İşletim sistemi | Çapraz Platform |
Lisans | MIT Lisansı |
Resmî sitesi | https://angular.dev |
Kod deposu | https://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ştirTek Sayfalık Uygulamalar (SPA)
değiştirTek 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ştirModel-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ştirDependency 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ştirGoogle, Angular'ı AngularJS'nin baştan sona yeniden yazılması olarak tasarladı.
- Angular'ın kapsam (İngilizce: scope) veya denetleyici kavramı yoktur; bunun yerine birincil mimari özelliği olarak bileşenler (İngilizce: component) hiyerarşisi kullanır.[6]
- Angular, özellik bağlama (İngilizce: property binding) "[]" ve olay bağlama (İngilizce: event 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 (İngilizce: annotations)
- 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ştirKaynakça
değiştir- ^ "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.
- ^ "r/Angular2". reddit. 19 Eylül 2015 tarihinde kaynağından arşivlendi.
- ^ "Angular | Google Open Source Projects". Google Open Source. 10 Nisan 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Ekim 2024.
- ^ "Angular". v17.angular.io. 6 Haziran 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Ekim 2024.
- ^ "Angular". v17.angular.io. 6 Haziran 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 14 Ekim 2024.
- ^ "Angular". angular.io. 24 Haziran 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Mayıs 2022.
- ^ "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.