· kaynak Hacker News – Front Page (native)
ElementaryUI, SwiftUI tarzı bildirimsel Swift'i WebAssembly üzerinden tarayıcıya taşıyor
ElementaryUI, SwiftUI tarzı bildirimsel Swift kodunu WebAssembly'e derleyerek uygulamaların tarayıcıda doğal biçimde çalışmasını sağlıyor; yerleşik state yönetimi ve kilobayt boyutlarında wasm bundle'ları sunuyor.

Tarayıcı arayüzlerine Swift yaklaşımı
29 Ekim 2026'da Hacker News'in ana sayfasına çıkan açık kaynak bir proje olan ElementaryUI, geliştiricilerin Swift ile kullanıcı arayüzleri oluşturmasını ve bunları WebAssembly'e derleyerek doğrudan tarayıcıda çalıştırmasını sağlıyor. Projenin sitesine göre framework, API'lerini SwiftUI üzerinden modelliyor; dolayısıyla Apple'ın bildirimsel araç setini bilenler, sıradan web elemanlarını hedeflerken söz dizimini tanıdık bulmalı.
Sitede aktarıldığı haliyle projenin vaadi üç ayak üzerinde duruyor: arayüzleri tanımlamak için SwiftUI benzeri söz dizimi, framework'ün kendisinin üstlendiği state yönetimi ve megabaytlara şişmek yerine kilobayt aralığında kalan wasm bundle'ları.
Kod nasıl görünüyor
Projenin açılış sayfasındaki örnek bir LoveCounter view'u. Tek bir state parçası tutan bir Swift struct'ı: count, @State property wrapper'ı ile tanımlanmış ve 1'den başlıyor. View'un body'si yinelenen bir kalp emojisi içeren bir paragraf render ediyor, sonra dallanıyor: sayı ondan küçükken bir buton her tıklamada onu artırıyor; sınıra ulaşıldığında view, butonu bir mesaj ve sayacı sıfırlayan bir kontrolle değiştiriyor.
İlginç olan kısım sayacın kendisi değil, etrafındaki zahmetin olmayışı. Manuel DOM manipülasyonu yok, açık bir refresh çağrısı yok ve listelemede görünür hiçbir JavaScript yapıştırıcısı yok. Arayüz bildirimsel olarak tanımlanıyor ve state değiştiğinde değişiklikleri uygulamak framework'ün sorumluluğunda.
Reaktivite, animasyon ve araçlar
Projenin sayfasına göre reaktivite üç property wrapper etrafında kurulu — @State, @Environment ve @Reactive — ve güncellemeler elle yazılan güncelleme mantığı yerine otomatik olarak uygulanıyor. Bunun üzerinde CSS tabanlı bir animasyon sistemi var; öğelerin layout durumları arasında geçerken eski konumlarından yeni konumlarına animasyonla taşındığı FLIP tekniğini otomatik uygulaması da buna dahil.
Gündelik geliştirme için ElementaryUI, Vite ile entegre oluyor ve geliştiricilere hot reload'lu bir dev server sunarak değişikliklerin iterasyon sırasında hızlıca görünmesini sağlıyor. Küçük bundle boyutları, tam Embedded Swift desteğiyle derlemeden geliyor — tam bir runtime'ın fazla ağır olacağı hedefler için tasarlanmış Swift'in kompakt lehçesi — ve proje, wasm çıktısını kilobaytlarda tutan şeyin bu olduğunu belirtiyor.
Proje açık kaynak ve sponsorlar tarafından finansal olarak destekleniyor; sitesi kullanıcıları onlara katılmaya davet ediyor.
Açılış sayfasının açık bıraktıkları
Her proje sayfasında olduğu gibi, bu da bir tanıtım而非 dokümantasyon değil. Site hangi tarayıcıların hedeflendiğini, framework'ün geniş JavaScript ekosistemi ve npm paketleriyle nasıl (ya da hiç) birlikte çalıştığını, geliştirmenin ne kadar ilerlediğini veya istikrarlı bir sürüm takviminin nasıl göründüğünü belirtmiyor. Bu sorular, üzerine inşa edip etmemeye karar verecekler için önemli olacak.
Neden önemli
WebAssembly uzun zamandır front-end geliştirmeyi JavaScript'in ötesine açmayı vaat ediyor; ancak wasm'a derlenen arayüz framework'leri sıklıkla payload boyutu konusunda tökezledi: megabaytlarla ölçülen indirmeler, son kullanıcıya yönelik web uygulamaları için zor bir satış. Embedded Swift'e yaslanarak bundle'ları kilobayt aralığında tutan ElementaryUI, tam da bu zayıflığa nişan alıyor. Halihazırda SwiftUI bilen geniş geliştirici kitlesi için, bu beceri setini web'e taşımanın bir yolunu sunuyor. Diğer herkes içinse, olgun native dil araç zincirlerinin — Rust, C#, Kotlin ve şimdi Swift — tarayıcıyı sadece başka bir derleme hedefi olarak görmesi şeklindeki daha geniş bir eğilimin bir veri noktası daha. İlginç bir demoyu aşarak büyüyüp büyümeyeceği, açılış sayfasının yanıt vermediği sorulara bağlı: ekosistem birlikte çalışabilirliği, tarayıcı kapsamı ve uzun vadeli bakım.
- #swift
- #webassembly
- #swiftui
- #front-end
- #open-source
İlgili yazılar
- YC Labs'ın 50 ajanlı Minecraft sürüsü bir lider, erzak sistemi ve korku geliştirdi
- Kavram kanıtı, ABD federal vergi formlarını kaynak gösterilen, makinece doğrulanabilir veriye dönüştürüyor
- Açık kaynaklı YourOwnWeigh, Withings baskülü verilerini ücretli abonelik olmadan diğer uygulamalara senkron ediyor