İçeriğe atla

Angular (Framework)

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 ("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, 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

Tek Sayfalık Uygulamalar (SPA)

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

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)

Ç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

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

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

Kaynakça

  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. Erişim tarihi: 14 Ekim 2024. 
  4. ^ "Angular". v17.angular.io. Erişim tarihi: 14 Ekim 2024. 
  5. ^ "Angular". v17.angular.io. 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. 

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">JavaScript</span> programlama dili

JavaScript, HTML ve CSS ile birlikte World Wide Web'in temel teknolojilerinden biri olan programlama dilidir. Web sitelerinin %97'sinden fazlası, web sayfası hareketleri için istemci tarafında JavaScript kullanırlar ve kullanılan kodlar genellikle üçüncü taraf kitaplıkları içerir. Tüm büyük web tarayıcılarında, kaynak kodunu kullanıcıların cihazlarında yürütebilmek için özel bir JavaScript motoru bulunur.

<span class="mw-page-title-main">JavaServer Faces</span>

JavaServer Faces (JSF), Java tabanlı web uygulamalarını kolaylaştırmak için Model-View-Controller (MVC) yapısına uygun olarak geliştirilmiş bir şartnamedir (framework).

AJAX, İnternet sayfalarında JavaScript ve XMLHttpRequest kullanımı ile etkileşimli uygulamalar yaratan tekniğin adıdır.

Oracle Application Development Framework ya da bilinen adıyla Oracle ADF, Oracle'nin özellikle Forms uygulamalarını yeni nesil web tabanlı teknolojilere yükseltmek için geliştirdiği yazılım iskeletidir.

<span class="mw-page-title-main">Adobe Flex</span>

Adobe Flex, çapraz platform tabanlı zengin İnternet uygulamalarının Adobe Flash platformu üzerinde geliştirilmesi ve dağıtılması amacıyla Adobe Systems tarafından yayımlanan bir yazılım geliştirme kitidir. Flex uygulamaları, Adobe Flash Builder kullanılarak ya da Adobe'den ücretsiz olarak kullanılabilen Flex derleyicisi kullanılarak yazılabilir. İlk sürümü Mart 2004'te bir yazılım geliştirme kiti, bir IDE ve Flex Data Services olarak bilinen bir Java EE entegrasyon uygulaması Macromedia tarafından dahil edildi. 2005 yılında Adobe, Macromedia'yı elde ettiğinden beri, artık Flex'in daha sonraki sürümleri, Flex Data Services için bir lisans gerektiriyor, LiveCylce Data Services gibi yeniden markalanmış ayrı bir ürün haline geldi. Adobe tarafından 2007 yılında kod katkısıyla başlayan bir açık kaynak projesi olan BlazeDS, Adobe LiveCycle Data Services'a bir alternatiftir. Şubat 2008'de Adobe, özgür Mozilla Kamu Lisansı altında Flex 3 SDK'yı yayınladı ve böylece Flex uygulamaları, herhangi bir standart IDE kullanılarak geliştirilebilir, örneğin Eclipse. Ayrıca Adobe Flash Builder denilen ticarî ve tescilli bir IDE vardır.

Bilgi işlem platformu, bir uygulama yazılımı çalıştırmak için donanım mimarisi ve bir yazılım çerçevesi, yazılım, çeşitli bazı kombinasyon veya sıralamalarını içermektedir. Tipik platformlarda bir bilgisayar mimari, işletim sistemi, programlama dilleri ve ilgili kullanıcı arabirimi içerir.

AngularJS Google tarafından desteklenen, dünya genelinde yazılımcılar tarafından katkı sağlanan açık kaynak kodlu web uygulama çatısıdır. Javascript ile yazılan Angular, MVC prensiplerine sadık kalınarak tek sayfalık uygulamalar yazmayı mümkün kılmaktadır.

<span class="mw-page-title-main">Ember.js</span>

Ember.js, açık kaynak kodlu web uygulama çatısı. Ember.js, uygulama geliştiricilerine ölçeklenebilir tek sayfalık web uygulamaları geliştirmeye olanak tanır. MVC prensiplerine bağlı kalınarak, Javascript dili ile yazılan Ember.js, 2011 yılından bu yana geliştirilmektedir.

<span class="mw-page-title-main">Yazılım iskeleti</span>

Bilgisayar programlamada yazılım iskeleti, yazılım çerçevesi ya da yazılım çatısı, standart fonksiyonların hazır olarak sunulduğu ancak programcı tarafından bu fonksiyonlardan arzu edilen kısımların ek kodlarla istenildiği şekilde güncellenebildiği sistemlerdir.

<span class="mw-page-title-main">Node.js</span> Server-side JavaScript frameworkü

Node.js, açık kaynaklı, genelde sunucu tarafında çalışan ve ağ bağlantılı uygulamalar için geliştirilmiş bir çalıştırma ortamıdır. Node.js uygulamaları genelde istemci tarafı betik dili olan JavaScript kullanılarak geliştirilir.

Meteor ya da MeteorJS, açık kaynak kodlu, gerçek zamanlı bir JavaScript Web uygulama çatısıdır. Meteor ile uygulamaların prototipleri hızlıca çıkarılabilmekte iken uygulamalar, birden fazla platformda çalıştırılabilmektedir.

<span class="mw-page-title-main">React</span> Kullacı arayüzleri oluşturmak için kullanılan JavaScript kütüphanesi

React, kullanıcı arayüzü oluşturmaya yarayan açık kaynak kodlu bir javascript kütüphanesidir. Facebook önderliğinde bir geliştirici grubu tarafından geliştirilmekte olan React, Model-View-Controller prensibine uygun olarak oluşturulmuştur. React ile single-page olarak adlandırılan sayfalar geliştirilebileceği gibi React-Native ile mobil uygulamalar da geliştirilebilir.

Bu liste kayda değer Javascript kütüphanelerinin adlarını içermektedir.

<span class="mw-page-title-main">MEAN (yazılım)</span>

MEAN web uygulamaları ve dinamik web siteleri geliştirmede kullanılan ücretsiz ve açık kaynak kodlu yazılım demeti. MEAN; ismini bileşenleri olan MongoDB, Express.js, Angular.js ve Node.js'in baş harflerinin birleşiminden almaktadır.

<span class="mw-page-title-main">Ionic</span>

Ionic, mobil uygulamalar için HTML5 bazında hazırlanmış açık kaynak bir yazılım iskeletidir ve ön uç için yazılmış olduğundan kullanıcılara odaklanmıştır. Kullanıcı arayüzlerini konu alan Ionic, sezgisel kullanımı ve mobil uygulamanın kullanılabilirliğini düzeltmeyi hedefler. Yazılım çatısı, Angular.JS'le kullanılır ve mobil uygulamanın yapısını oluştururken Ionic look & feel'i ve performansını gerçekleştirir.

<span class="mw-page-title-main">Vue.js</span>

Vue.js kullanıcı arayüzleri ve tek sayfa uygulamalar inşa etmek için kullanılan açık kaynak Javascript iskeleti. 2013 yılında geliştirilmeye başlanan framework'ün güncel versiyonu 3.2'dir.

Tek sayfa uygulaması ya da tek sayfalık uygulama kullanıcıyla etkileşimde bulunurken sayfayı tamamen yenilemek yerine bulunulan sayfayı dinamik olarak güncelleyerek çalışan web siteleri ya da web tabanlı uygulamalardır. Bu yaklaşımla kullanıcı deneyiminin sayfa yüklemeleri ile kesintiye uğraması engellenir ve masaüstü uygulamalara yakın bir kullanıcı deneyimi elde edilir. Tek sayfalık uygulamalarda ya tüm gerekli kodlar - HTML, JavaScript ve CSS - ilk yüklemede alınır ya da gerekli olan kaynaklar gerektikçe dinamik olarak yüklenir.

Windows Runtime, 2012 yılında ilk olarak Windows 8 ve Windows Server 2012'de tanıtılan platform tabanlı bir uygulama mimarisidir. WinRT, C++/WinRT, C ++/CX, JavaScript-TypeScript, yönetilen kod dilleri C Sharp ve Visual Basic .NET (VB.NET) 'in geliştirilmesini destekler. WinRT uygulamaları, hem x86 hem de ARM mimarisini doğal olarak destekler ve daha fazla güvenlik ve kararlılık sağlamak için sandbox ortamında çalışabilir. WinRT bileşenleri, yerel, yönetilen ve betik dilleri dahil olmak üzere birden fazla dil ve API arasında birlikte çalışabilirlikle tasarlanmıştır.

Bir web geliştiricisi, istemci-sunucu modeli kullanarak World Wide Web uygulamalarının geliştirilmesinde uzmanlaşmış veya özel olarak ilgilenen bir programcıdır. Uygulamalar genellikle istemcide, PHP, ASP'de HTML, CSS ve JavaScript kullanır. NET (C#), Python, Node.js, sunucuda Go veya Java ve istemci ile sunucu arasındaki iletişim için http bağlantılarını kullanmaktadır. Bir web içerik yönetim sistemi genellikle web uygulamalarını geliştirmek ve sürdürmek için kullanılır.

Next.js, React tabanlı web uygulamaları için sunucu tarafında işleme ve statik web sitesi oluşturma sağlayan, Vercel tarafından oluşturulmuş açık kaynaklı bir Web geliştirme platformudur.