1.Gün — Declarative Ui Nedir ?

Gürkan Fikret GÜNAK
Flutter Students Club
4 min readOct 18, 2020

Merhaba arkadaşlar,

Bugün sizlerle birlikte tasarım arayüzlerin yapısını anlayabilmek için küçük bir konuya değinmek istiyorum özellikle Herkesin üzerinde kısmen de olsa bir kaç konu belki birkaç başlıkla anlamaya çalışarak, uygulamalarından örnekler yaparak ifade etmeye çalıştılar.Ama bugün konu üzerini tamamen durarak hem kendimiz için hem sizler için kısa da olsa açıklamaya çalışacağım.

ilk başta ifade etmem gereken şöyle ufak bir konu var, uygulamaların kendi içerisindeki ara yüzlerdeki bulunan yazılar, resimler,sayılar her zaman durum ve uygulama içerisindeki dinamiklere göre değişimler gösterilebilir. Bu değişimlerin arka planda hazır bekleyen bloklar halindeki yapılar kullanmaktansa yapının kendi içindeki değişime müsait iç parametreleri yöneterek hızlı görüntü alabilmemiz için teknolojik arayüzleri kullanmamız da fayda var.

Bunlar da bir uygulama geliştirme sürecinde bize gerçekten çok fazla fayda sağlıyor.

Yukarıda görmüş olduğunuz görselde arayüz ve sizin inşa etmiş olduğunuz metot yapısındaki çalışan uygulamanın değişkenlerini görebiliyoruz arayüzler uygulamanızı yazmış olduğunuz metot fonksiyonlarının değişimlerinden yararlanarak ekranda görüntü almamıza yardımcı olurlar.Bunlarla ilgili de birden fazla Framework karşımıza çıkıyor özellikle Günümüzde en yoğun bir şekilde son 2 yıldır kullanılan Flutter bu konuda hızlı sonuçları almamıza yardımcı olacak. bir uygulamanın zorlayıcı süreçlerinden bazı noktası ekran içerisindeki sürekli değişken parametrelerin olmasıdır.Bunların yoğunluğunun artması ile uygulamanın performans kullanımı açısından kullanılan cihazlardaki yavaşlama,gecikme ekran geçişlerinde bozulmalara maruz kalacaktır. Bunların önüne geçebilmek için Declarative Ui yapısı kullanarak hızlıca sonuç almaya çalışacağız ve neredeyse günümüzde bütün yeni nesil programlama dillerinde ve geliştirici kitlerinde bunları çok net bir şekilde göreceğiz yavaş bu süreçleri alışıp yoğun bir şekilde kullanmakta da fayda var.

Neden Declarative Ui Kullanılıyor?

Flutter arayüz geliştirme kitlerinde karşınıza çıkan en güzel özellik Declarative Ui prensibimi kullanımıdır. Bununla ilgili de aşağıda vermiş olduğumuz örneği inceleyelim.

Basitçe ifade edecek olursak, tanımlama ve kimliklendirme arayüz tasarımlama da çok önemli bir etkendir. arayüzler içerisindeki değişkenlerin birden fazla arka planda tanımlama işlemi arayüzde görüntüleme almakta olan süreçte eşdeğer de bir tasarım ortaya çıkarmamıza neden oluyor. Bu da bizim kullanımda daha fazla kod yazmamızı daha fazla tanımlama yaparak arayüz tasarım paketlerinin görüntülemeden işlem yapmasını sağlıyor.

Görsel örneğinde olduğu üzere ViewB içindeki b kitini ekrana bastırmak istenildiğinde arayüz kendi içindeki zorunlu tasarım stiline sahip olacağından ekrana çıkan sonuç ViewB içinde eklenen ViewC c3 görüntülüyoruz.

Buradaki süreç söylediğimiz üzere arayüz içerisinde tanımlamalar yapıldıktan sonra değişkenlerin hızlı bir şekilde görüntülenmesi.

Flutter üzerinde bu süreç StatefulWidget adı altında gerçekleştirilerek 1 adet tetikleyici fonksiyon tanımlanması gerekmektedir.Bu tetikleyici fonksiyon widget içindeki datanın yerine geçecek olan zorunlu referansta verinin yerine geçerek ekranda yeni bir arayüz parametresi değişikliğini görüntülemiş oluyoruz bunu da setState() gerçekleştiriyoruz.

Buradaki değişimden göreceğimiz süreç arayüz içerisindeki RenderObjects mimarisinin tekrardan yeni bir tanımlama yapmadan otomatik olarak tetikleyici fonksiyon ile içerisindeki değişken,hızlı bir şekilde değişimi görüntüleyebiliyoruz. Bu bize RenderObjects katmış olduğu en büyük etkilerden bir tanesi tasarımı stil yapısının korunması ve uygulama içerisindeki değişkenin tekrardan görüntülenmesinde hiyerarşik kod düzeni de ekstra olarak da korunduğunu söylebiliriz.

Özetle

Burada anlatılmak istenen süreç ekran içerisindeki sürekli değişime sahip olan dinamik parametreleri görüntülenmesinde dekoratif arayüz her zaman daha hızlı bir sonuç olacaktır.

Flutter gibi geliştirici kitlerininde bu süreçte bizlere daha hızlı sonuçlar alarak ürünlerimizi son kullanıcılara istediğimiz bir şekilde kısa sürede teslim etmenizi sağlayacak ve bu süreçte Kendimizi geliştirmemiz de yardımcı olacaktır.

#dart #flutter #google

Saygılarla Gürkan

--

--