· Özgür Vurgun · Angular · 2 min read

1. What is Angular

1. What is Angular

Angular’ın Felsefesi ve Paradigması

Angular bir “framework”tür, bir “library” değil. Bu şu anlama gelir:

  • Ne yapman gerektiğini değil, nasıl yapman gerektiğini söyler.
  • Bir yapı ve düzen silsilesi sunar.
  • Geliştirici özgürlüğünü azaltır ama büyük ölçekli projelerde tutarlılık, test edilebilirlik ve bakım kolaylığı sağlar.

Paradigması

  • Component-Based Architecture (React ile benzer)
  • Declarative Template Syntax (HTML içinde Angular’ın syntax’ı kullanılabilir, bildiğin template engine işte)
  • Two-Way Data Binding (Kısaca UI ile JS arasına kablo çekmişler, değişkende bir değişiklik olunca anında UI değişiyor; aynı şekilde UI’da bir değişiklik olunca değişken güncelleniyor gibi bir şey)
  • Dependency Injection (Bağımlılık sokuşturma)
  • RxJS ile Reactive Programming (Kısaca bir veri kaynağında bir değişiklik olunca bu otomatik bir zincirleme reaksiyonu tetikliyor, bir şeyler yapılıyor. Temelden anlamak istersen JS’de yerleşik olarak bulunan Proxy API ile basit reactive programlama örnekleri yapabilirsin)

Angular Kullanmanın Avantajları

  • Kurumsal uygulama yapacaksan bunu kullan diyorlar, ne alaka aq.
  • Routing, HTTP, Form Operations, test… her şey tek pakette.
  • Google geliştirmiş. Google’ın şak diye support kesmeleri meşhurdur, o yüzden dikkat etmek lazım :) (Google gibi bir devin arkasında olması hem avantaj hem de dezavantaj lol)
  • CLI ile component, service, interceptor… oluşturmak çok kolay (gerçi bu her framework’te var ama neyse)

Angular Kullanmanın Dezavantajları

  • Yüksek bir öğrenme eğrisi söyleniyor, ne kadar doğru bilemem ama bana pek öyle gelmedi. Günün sonunda klasik web app geliştirmenin üzerine bir abstraction geçirmiş adamlar; paradigmik olarak neyi nasıl yapmak istediklerini iyi anlarsanız olayın zor bir yanı yok.
  • Boilerplate kod fazla, ufacık şey için zibilyon tane dosya oluşturuyorsun.
  • Bundle size büyük deniyor, buna bakmadım; bakınca güncellerim burayı. Eğer öyleyse bu da eksi bir yön.
  • Küçük bir app yapacaksan hiç gerek yok, React yapıştır geç.
  • Esnek değil; Angular neyi nasıl istiyorsa o şekilde yapman gerek çoğu zaman. Bu aslında yerine göre iyi de olabilir.

Bugün Angular yazarsın, yarın React. Kullandığın teknolojiler sürekli değişir; mesele Web’in ne olduğunu ve nasıl çalıştığını anlamak.

Share:
Back to Blog

Related Posts

View All Posts »
18. Monorepo Nedir?

18. Monorepo Nedir?

Ne Bu Monorepo? Projeyi yazıyorsun, her şey yolunda. Sonra ekip büyüyor. Frontend bir yerde, backend başka yerde, ortak UI bileşenleri başka bir repo’da… Bir noktada kendini şöyle...

16. Zoneless Nedir?

16. Zoneless Nedir?

Angular deyince akla genelde component’ler, service’ler falan gelir ama içerde bir mimari var ki, senin haberin bile olmadan bütün uygulamanın kaderini etkiliyor: Zone.js Bu...

15. angular.json

15. angular.json

Bu Dosya Nedir? angular.json , bir Angular projesinin yapılandırma dosyasıdır. Angular CLI, bu dosyaya bakarak: - Projenin nerede başladığını - Hangi derleyici ayarlarının...