- Electron, HTML·CSS·JS tabanlı olarak Windows, Mac ve Linux’u aynı anda destekleyen masaüstü uygulamaları geliştirmeye yarayan bir framework’tür; Slack, Discord ve VS Code gibi birçok uygulama bunu kullanır
- Ancak her uygulama Chromium motorunu ayrı ayrı içerdiği için boyut büyür, gecikme ve yanıtsızlık sorunları ortaya çıkar ve OS özellikleriyle entegrasyon da sınırlı kalır
- Kodlama ajanları, spesifikasyon ve testler temelinde platforma özgü yerel kod üretimi yapabilir hale geldikçe, Electron’un avantajları azalıyor gibi görünür
- Ancak gerçekte ajanlar geliştirmenin ancak %90’ını otomatikleştirebilir; son %10’daki istisna işleme ve bakım ise hâlâ zordur ve insan gücüne bağlıdır
- Bu nedenle Anthropic’in Claude uygulaması gibi örneklerde, ajan teknolojisi ilerlemiş olsa da Electron kullanmak için pratik nedenler hâlâ vardır
Electron’un avantajları ve sınırları
- Electron, web teknolojileriyle çapraz platform masaüstü uygulamaları geliştirmeyi sağlar
- Tek bir kod tabanıyla Windows, Mac ve Linux’un tamamı desteklenebilir
- Mevcut web uygulaması kodu yeniden kullanılabildiği için geliştirme verimliliği yüksektir
- Dezavantajları arasında uygulama boyutunun büyümesi ve performans düşüşü bulunur
- Her uygulama kendi Chromium motorunu içerdiğinden boyut yüzlerce MB’a ulaşır
- Tepki hızında düşüş, OS özellikleriyle yetersiz entegrasyon gibi sorunlar ortaya çıkar
- Bazı sorunlar işletim sistemine özel optimizasyonlarla iyileştirilebilir, ancak Electron’un yapısal avantajı bunu güçlü biçimde teşvik etmez
Kodlama ajanlarının ortaya çıkışı ve beklenti
- Son dönemde kodlama ajanları, spesifikasyonlar (spec) ve testlere dayanarak diller ve platformlar arasında uygulamayı otomatikleştirme becerisi gösteriyor
- Teorik olarak tek bir spesifikasyon ve test setiyle her platform için yerel uygulamalar üretmek mümkün olabilir
- Bu da küçük ve odaklı ekiplerin, yüksek performanslı yerel uygulamaları geniş bir pazara sunabilmesi ihtimalini gündeme getiriyor
Claude ve Anthropic örneği
- Anthropic, Rust tabanlı bir C derleyicisini kodlama ajanıyla geliştirdi, ancak son aşamada sınırlara takıldı
- Yeni özellik eklerken veya hata düzeltirken mevcut işlevlerin bozulması sorunu tekrarlandı
- Ortaya çıkan sonuç etkileyici olsa da gerçek kullanım için uygun olmayan bir düzeyde değerlendirildi
- Claude masaüstü uygulaması da Electron tabanlı olarak geliştirildi ve yavaş, hatası bol ve büyük boyutlu bir uygulama olarak anılıyor
‘Son %10’un zorluğu
- Kodlama ajanları geliştirmenin ilk %90’ını hızla halleder, ancak
gerçek dünya ortamındaki istisna işleme ve bakım hâlâ karmaşıktır ve insan müdahalesi gerektirir
- Gerçek kullanıcı ortamlarında öngörülemeyen senaryolar birikmeye devam ettiği için geliştirme hiçbir zaman tam anlamıyla bitmez
- Platform başına ayrı uygulamalar geliştirildiğinde hatalar ve destek kapsamı 3 katına çıkar, bu da bakım yükünü artırır
- Electron, ortak bir wrapper aracılığıyla bu sorunu belirli ölçüde hafifletir
Electron’un kullanılmaya devam edilme nedeni
- Spesifikasyon temelli geliştirme mümkün olsa bile, son %10’luk geliştirme maliyeti ve bakım yükü hâlâ ortadadır
- Ajan teknolojisindeki ilerlemeye rağmen, Electron’un tek kod tabanı avantajı pratikte hâlâ geçerlidir
- Bugünün koşullarında Electron hâlâ makul bir seçenek olarak değerlendirilir
- Kodlama ajanları etkileyici ilerleme gösterse de, tam bir ikame aracı olmak için henüz yetersizdir
1 yorum
Hacker News yorumları
Claude Code ekibinden Boris burada
Geçmişte Electron üzerinde çalışan mühendislerimiz olduğu için, native olmayan bir yaklaşımla geliştirmeyi tercih ettik
Bu sayede web ve masaüstü arasında kod paylaşımı yapabiliyor, aynı UI/UX’i koruyabiliyoruz
Elbette her şey bir trade-off meselesi; gelecekte bu değişebilir
Stack’i değiştirmeden performans optimizasyonuyla çözülebilecek gibi görünüyor. Mobil uygulamalar için de aynı şey geçerli
Buradan çıkan ders, sözlerden çok eylemlere bakmak gerektiği
Eğer öyleyse, Claude’a sadece “bunu kötü görünmeyecek hale getir” demek yetmez miydi diye şaka yapıyor
AI ajanları sadece spesifikasyon ve testlerle bakımını da üstlenebilir miydi sorusu
Özellikle Opus 4.6 gibi modellerin sınırları düşünüldüğünde ne çıkacağını merak ediyorum
Kodun bedava olmamasının nedeni açık
Bizim ekip de 6 ay boyunca Claude’u yoğun kullandı ama bug oranı hâlâ aynı
AI her şeyi çözen sihirli bir araç değil
Düşünmeyi AI’ye outsource edince sistemin zihinsel haritasını kaybediyorsunuz
Buna rağmen şimdiden “neden her şeyi AI ile baştan yazmıyorsunuz” denmesi komik
Imgur linki
AI kodlama ajanları tam olarak o seviyede değil ama, sadece daha hızlı hata yapma riskine dikkat etmek lazım
OpenAI’nin tarayıcısı da çıkalı 4 ay oldu ama hâlâ sadece macOS’ta var
Zaten cross-platform engine üstünde çalışmasına rağmen yayılımın yavaş olması soru işareti
“Free as in puppy” ifadesi zekiceydi
Orijinal başlığın “If code is free,” diye başladığı söyleniyor
Bu yazı ve genel olarak bu thread, tipik bir HN tarzı tartışma kalıbı gibi duruyor
“AI kötü”, “JavaScript kötü”, “Electron kötü” gibi tekrar eden bir çerçeve
Electron aslında fiilen ‘dördüncü bir OS platformu’ ama bunu anlamayan çok geliştirici var
Şu anki uygulamalar yamalanmış web siteleri gibi görünüyor, stil tutarsızlıkları ve bug’larla dolu
Native Mac uygulaması geliştirmek çok daha iyi hissettiriyor
Electron’un avantajları var ama OS bazlı optimizasyon neredeyse hiç yapılmıyor
Kötü native UI örnekleri de çok; sonuçta mesele insanların kodu nasıl yazdığı
Claude’un CLI aracı sunduğu bir durumda Electron seçimi mantıklı
Electron’un avantajlarını kabul ettim ve neden seçildiğini de anlattım
Ama Mac Studio 64GB RAM’de bile yavaş olması ilginç bir gerçek
npm bağımlılıklarını bile varsayılan olarak içine koymak teknik özgüven eksikliği gibi görünüyor
“En iyi yetenekleri işe alıyoruz” sloganıyla da pek örtüşmüyor
JavaScript’i seviyorum ama RAM kullanımı çılgınca
Anthropic hiçbir zaman “kod bedava” demedi
Onlar verimlilik artışını vurguladı ve gerçekten de kodlarının çoğunu LLM’lerle yazıyorlar
Eleştirecekseniz saman adam kurmak yerine gerçek sorunları hedef almalısınız
neden ortaya daha iyi bir ürün çıkmıyor?”
Bkz. Lenny’s Newsletter röportajı
Bu yazı da sanki onları hedef alıyor gibi
Ben Felix. Claude Code Desktop ve Claude Cowork için Electron uygulamalarından sorumluyum
Uygulamalarımızda epey Rust, Swift ve Go kodu da var
Neden Electron kullandığımızı ve neden kendi engine’imizi dağıttığımızı
resmî dokümanda ayrıntılı anlattık
Electron sadece bir araç; gerekirse başka bir şey de kullanabiliriz
CEO “kodlama neredeyse çözülmüş bir problem” dediyse, neden sonuç böyle diye sormak istiyorum
Claude’da giriş problemi yaşadım
Tarayıcı sonsuz yükleme döngüsüne giriyor ve girişe tıklayınca kayıt ekranına atıyor
Böyle temel bir işlevin bile kararsız olması, “kodlamanın geleceği” açısından hayal kırıklığı yaratıyor
Kod asla bedava değildir
Sonunda bir şekilde bedelini ödersiniz
AI bütün kodu yazsa bile, onu anlayacak birine ihtiyaç vardır
Kılavuz okuyabilmek hacker’ların güçlü yönlerinden biridir ve
kendi yaptığı ürünün nasıl çalıştığını bilmeyen bir şirket tehlikelidir
Claude’un Electron kullanmasının teknik değil, kültürel bir mesele olduğunu düşünüyorum
Startup için Electron mantıklı olabilir ama,
büyük bir şirketin native uygulama kalitesi ve UX’e yatırım yapması gerekir
Otomatik kodlama mümkün olsa bile hâlâ bunu yapmıyor olmaları,
bugünün geliştirme kültürünün “mümkün olan en iyi yazılımı yapma iradesini” kaybettiğini gösteriyor