- Simetri ve oran sorunlarını çözen açık kaynaklı bir UI framework'ü; tüm öğeler altın orandan türetilen bir yapıya dayanır
- Buton, kart, giriş alanı gibi bileşenlerde görsel dengeyi ve ferahlık hissini otomatik olarak düzeltip doğal oranları korur
- Global scale factor temelinde alt piksel düzeyinde hassas oran hesaplamaları yaparak tutarlı bir uyum sağlar
- Modüler renk kontrol paneli ile gerçek zamanlı renk önizleme ve tema ayarı yapılabilir; tipografi, materyal ve ölçekleme gibi ayrıntılı ayarları destekler
- MVP aşamasında bile yüksek görsel kalite sunarak ilk tasarımın olgunluğunu artıran bir araç olarak öne çıkar
LiftKit'e genel bakış
- LiftKit, simetri sorunlarını çözen açık kaynaklı bir UI framework'üdür
- Temel amacı, UI bileşenleri arasındaki görsel dengeyi otomatik olarak ayarlamaktır
- “Extremely Early Access” aşamasındadır; erken ve deneysel bir sürümdür
- Framework içindeki tüm oranlar altın oran (golden ratio) temel alınarak türetilir; böylece margin, font boyutu, border radius gibi tüm öğeler uyumlu şekilde render edilir
- Tek bir global scale factor kullanarak oranları alt piksel hassasiyetinde hesaplar
Temel bileşenler ve özellikler
- Buton bileşeni, ikon eklendiğinde oluşan görsel padding dengesizliğini otomatik olarak düzeltir
- Font boyutuna göre padding'i dinamik olarak ayarlayarak sağ-sol dengesini korur
- Kart bileşeni, içeriğin satır yüksekliğinden (
line-height) kaynaklanan boşluk dengesizliğini düzeltmek için opticalCorrection özelliğini sunar
- Giriş alanı (Input), altın oran temelli aralık tasarımıyla “nefes alacak alanı olan” bir görünüm sunar
Oranlar ve görsel tatmin
- LiftKit, “oddly-satisfying” oranlar elde etmek için tek bir scale factor'den türetilen bir oran sistemi kullanır
- Tüm bileşenler alt piksel doğruluğuyla (subpixel accuracy) hesaplanarak ince görsel dengesizlikler en aza indirilir
- Bu yaklaşım, kullanıcıya tanımlaması zor olan “doğal ve uyumlu his” verir
Renk ve tema kontrolü
- LiftKit, modüler renk kontrol paneli (modular control panel) sunar
- Çalışma sırasında dosyaya eklenerek gerçek zamanlı renk önizleme yapılabilir
- İnce ton değişimlerinden güçlü renk taşmalarına kadar çeşitli ayarları destekler
- Renk dışında aşağıdaki öğeler de doğrudan CSS içinde ayarlanabilir
- Typography: font ailesinin ötesine geçen ayrıntılı global tipografi kontrolü
- Custom Materials: glass, flat, rubber gibi preset'ler üzerinden yeni materyaller üretme
- Scaling: yalnızca metin değil, aralıklar dahil tüm öğelerin birlikte ölçeklenmesi
- Component-specific configs: her bileşenin görünümünü bağımsız olarak ayarlama
İnce detaylar ve tasarım kalitesi
- LiftKit, MVP aşamasında bile yüksek görsel kalite sağlayacak şekilde tasarlanmıştır
- “Make MVP’s that don’t look like MVP’s”
- Varsayılan olarak algısal olarak doğru aralıklar (perceptually accurate spacing) sunarak kullanıcının hissettiği dengeyi en üst düzeye çıkarır
- Bu ince detaylar, “açıklaması zor ama daha iyi görünen” sonuçlar üretir
3 yorum
Landing sayfasında öncesi-sonrası karşılaştırması var ama ikisi de güzel görünüyor ..
Genelde altın orandan ziyade major second (1.125) kullanılmıyor mu..?
Hacker News yorumları
Chrome tasarlanırken minimalizm temel ilkeydi
Ekranların küçük olduğu dönemde dikey alanı azaltmak için çok zaman harcanmıştı
Sekme şeridi, araç çubuğu ve başlık çubuğunun oranını altın oran diye anlatınca tartışmalar azalıyordu, ama aslında bunun altın oranla ilgisi yoktu
Işık, renk, yuvarlatma, görsel yoğunluk gibi unsurlar çok daha önemli
Aslında biraz oynarsanız her şeyi altın orana uydurabilirsiniz. Bu tür şeyler özellikle ‘ruhsal’ hisleri seven insanlarda işe yarıyor
Ekranlar büyüdü diye bugün de alanı boşa harcamak istemem
Sonuçta bu biraz zevk meselesi gibi
Basılı işlerde faydalı olabilirler ama dijitalde okunabilirliği daha da bozuyorlar
İkonları zorla aynı biçime sokmak ya da rengi kaldırmak da ayırt edilebilirliği düşürüyor
Ben LiftKit’in yapımcısıyım
Bu proje hâlâ çok erken aşamada ve tek başıma hobi olarak geliştiriyorum
Açık kaynak ve ücretsiz → GitHub linki
Geri bildirimlerin çoğu zaten Reddit başlığında tartışılıyor
Şu anda önceliğim Radix primitives ile yeniden inşa etmek ve dokümantasyonu iyileştirmek
Genel bakışı YouTube videosunda da görebilirsiniz
Çoğu frontend geliştiricisinin hayalini kurduğu “kusursuz derecede tutarlı tasarım sistemi”ni gerçekten hayata geçirmiş olmanız etkileyici
Kendi dokümantasyonunda component render edemeyen bir UI frameworke güvenmek zor
iOS uygulamasında altın oranı uygulamaya çalışmıştım; keşke yapım sürecini de paylaşsanız
Öncesi/sonrası ekran görüntülerini gösterirken sürüklemeli kaydırıcı yerine butonla anında geçiş yapmak daha iyi olur
Her tıklamada göz farkı doğrudan algılar
İlgili referans: Andrei Herasimchuk’un Quora yanıtı
Sağa sola hareket ettirmeye çalışınca yukarı aşağı kayıyor. Geri bildirim için teşekkürler, bunu mutlaka düzelteceğim
Örnek video: LUTLab Viewer
İlk başta bu sitenin parodi olduğunu sandım
Gerçek olduğunu görünce şaşırdım; bileşenler merkezden kaymış gibi duruyor ve görsel ağırlık dengesiz hissettiriyordu
Pratikte birkaç piksel oynatmak gerekir ki göze doğal gelsin
“optical correction none/top” konusunda, büyük harf yüksekliğini gerçekten ölçerek mi hizalıyorsunuz, yoksa font metriklerini olduğu gibi mi kullanıyorsunuz, merak ediyorum
Font içindeki sayısal değerlere güvenmek zor, çünkü gerçek glifler çoğu zaman o değerlere uymuyor
Bu da font çalışmasının kâbusu hâline geliyor
Tüm component’leri yalnızca görsel olarak gösteren bir UI frameworke güvenmek zor
Fiyata baktım ama sadece “Contact Sales” vardı, ardından hesap makinesini kullanmak zorunda kaldım
10 üst seviye sayfa + 5 alt sayfa girince $16,500 çıkınca şaşırdım
Forma “FUCK_YOU@DUMB.COM” ile mesaj gönderen kişi siz miydiniz acaba?
Çoğu UI kütüphanesinin kaçırdığı bir nokta var
Yuvarlatılmış köşeli kutular iç içe geçtiğinde, border-radius değerine aralıktaki boşluk kadar ekleme yapmak gerekir
Aksi hâlde göze hafif kaymış gibi gelen bir his bırakır
Örnek: Snackbar component, Chrome sekme yerleşimi ekran görüntüsü
Bununla ilgili bir araştırma makalesi de var → PMC makale linki)
LiftKit açıklamasında “tüm öğeler altın orandan türetilir ve kusursuz uyum sağlar” gibi bir ifade vardı ama bunun ironi mi yoksa ciddi mi olduğunu anlayamadım
Sanki burada teorinin ötesinde sezgisel bir uyum var gibi