Uzun Zaman Sonra Herkese Merhaba 🥳
Bu yazımızda Declarative, programlama paradigmasını öğrenerek Declarative UI nedir ? Sorusuna cevap arayacağız. Farkında olmadan kullanıyoruz, belkide defalarca adını duyduk ama bir türlü ne olduğunu tam kavrayamadıysak diye bir yazı kaleme almaya çalıştım.
Declarative UI, React, Vue.js’den esinlenmiştir ve ayrıca Jetpack Compose aracılığıyla Kotlin’ de de olacaktır, eee peki nedir bu Declarative UI artık söyle diyecek olursanız şimdilik kısaca şunu diyebilirim: Birden fazla farklı dosyayı düzenlemek zorunda kalma endişesi yaşamadan güzel arayüzlerinizi tek bir sınıfta oluşturabileceksiniz. Hâlâ yaaaaniii diyecek olursanız, şöyle anlatayım yukarıda gördüğünüz görselde n tane flutter widget’ ları kullanabilirsiniz, bunları kodlarken herhangi bir widget’ın , mesela Container widget’nın arka tarafda ne yapması gerektiğinide yazıyor musunuz ? Tabikide hayır Container ile wraplayıp ui gereksiniminiz neyse onu yazarak kod bloğunuzu bitiriyorsunuz. Container veya herhangi bir widget’ın nasıl davranması gerekliliğini değil nerede olmasını gerekliliğini yazarız ve gerisine karışmayız. İşte özetle Declarative UI budur arkadaşlar.
| Neden Declarative Programing Tercih Etmeliyiz ?
Reusability: (Tekrar Kullanılabilirlik)
Declarative programming de ana amaç, yeniden kullanılabilecek kod yazmaktır. Flutter’da, uzantıları kullanmak veya özel widget’lar yapmanın farklı yolları vardır, burada tüm uygulamada kullanabileceğimiz ancak yalnızca bir kez yazabileceğimiz basit bir uzatma yöntemi örneği göreceğiz.
Managing Errors: (Hataları Yönetmek)
Declarative programming de, merkezi kod yazıyoruz ve herkesi aynı yerde yönetmeye çalışıyoruz ve çalışmayı değiştirmiyoruz, kod derlemesini sürdürürken hataları azaltmaya yardımcı oluyor ve uygulamanızın daha kararlı olmasına ve okuyabilmenize yardımcı oluyor. Yöntemin girdileri-çıktıları verimli.
Ayrıca bildirim temelli UI araç setleri aşağıdaki özelliklere sahiptir:
- No side effects
- Level of abstraction
- Domain-Specific-Language
- Immutable State
- Single source of truth
- Simple, immutable objects that are quick to rebuild
- Reactive
- Uni-directional data flow
ÖZETLE
Declarative Programming süreç, yaklaşımlar, kodlama düzeninden bağımsız olarak, esas olarak arzu ettiğimiz çıktıya veya sonucun ne olacağına odaklandığımız bir tür programlama veya yaklaşımdır. Sadece elde etmeye çalıştığımız şeye dikkat ediyoruz.
Yararlanılan Kaynaklar