Elektronik devre tasarımının geleceği tarayıcıda şekilleniyor. KiCad, uzun yıllardır elektronik mühendislerinin vazgeçilmez aracıydı. Ancak şimdi, bu güçlü açık kaynak PCB tasarım yazılımı, tarayıcı tabanlı bir sürümle karşımıza çıkıyor. Mac, Windows ya da Linux kullanıcısı olup olmadığınız fark etmeksizin, projenizi doğrudan tarayıcınızdan yönetebilirsiniz. Peki, bu devrimin arkasındaki teknoloji ne? Ve hangi zorlukların üstesinden gelindi?
Tarayıcıda KiCad: Nasıl Çalışıyor?
Emergence Engineering adlı Macaristan merkezli bir geliştirme ekibi, KiCad’ın tarayıcıda çalışabilmesini sağlayan bir çözüm üzerinde çalışıyor. Projeyi yürüten Viktor, aynı zamanda şirketin CTO’su ve eski bir elektrik mühendisi. KiCad’ın tarayıcıya taşınması, ilk olarak bir hobi projesi olarak başlamış olsa da, zamanla ciddi bir ürüne dönüşmüş durumda. Ekip, son aylarda projeye yoğunlaşarak, ilk MVP (Minimum Geliştirilmiş Ürün) sürümünü yayınladı.
Tarayıcıda KiCad kullanabilmek için üç ana tarayıcıya odaklanıldı:
- Firefox: En iyi performansı sunuyor.
- Chrome: İyi bir alternatif.
- Safari: Hala geliştirme aşamasında, ancak temel işlevler çalışıyor.
Projenin temelinde, WebGL teknolojisinin kullanılması yatıyor. KiCad’ın yerel OpenGL tabanlı çizim sistemi, tarayıcı ortamına uyarlanırken birçok teknik zorlukla karşılaşıldı. Ekibin yaptığı araştırmalar, yerel kodu doğrudan WebGL’e taşımaktan ziyade, KiCad’ın Grafik Soyutlama Katmanı (Graphics Abstraction Layer) ile uyumlu yeni bir WebGL uygulaması yazmanın daha verimli olduğunu gösterdi.
Teknik Zorluklar ve Çözümler
Projenin geliştirilmesi sırasında karşılaşılan en büyük engellerden biri, çoklu iş parçacığı (multithreading) desteğiydi. KiCad’ın DRC (Tasarım Kuralı Kontrolü) ve 3D yazdırma gibi özellikleri, yerel uygulamalarda çoklu iş parçacığı kullanıyor. Ancak tarayıcı ortamında bu özellikleri desteklemek oldukça karmaşık bir süreçti. Emscripten adlı derleyici aracı sayesinde, C++ kodunun WebAssembly’e (WASM) derlenmesi mümkün oldu. Bununla birlikte, Emscripten’in sunduğu özellikler arasında bazı uyumsuzluklar bulunuyordu:
- Asyncify ve Yerel İstisnalar: Asyncify, WASM kodunun JavaScript’e bloklama çağrıları yapmasını sağlayan bir teknoloji. Ancak bu, yerel istisna yönetimiyle çakışıyordu. Son yapılan iyileştirmelerle, Binaryen adlı araçla özel bir geçiş (pass) yazılarak bu sorun çözüldü. Bu sayede, uygulamanın yüklenme süresi 10 saniyeden 1 saniyeye indirildi ve paket boyutu da %30-40 azaltıldı.
- Paket Boyutunun Optimize Edilmesi: Proje ekibi, Open CASCADE adlı kütüphaneyi ayrı bir WASM modülüne taşıyarak paket boyutunu 180 MB’den 130 MB’ye düşürdü. Bu optimizasyon,
-O1derleme seviyesinde bile önemli bir iyileşme sağladı.
- wxWidgets’in Tarayıcıya Taşınması: KiCad’ın kullanıcı arayüzü, wxWidgets adlı bir araç setiyle geliştirilmişti. Bu aracın tarayıcı ortamına uyarlanması, projenin en karmaşık kısımlarından biriydi. Ekip, wxWidgets’in eski bir web portunu temel alarak çalıştı ve KiCad’ın ihtiyaçlarına göre uyarladı.
Gelecek Planları: Ücretsizden Kurumsala
Emergence Engineering, projenin ilk aşamasında ücretsiz bir kullanım modeli sunmayı planlıyor. Bununla birlikte, daha büyük projeler için aylık 30 dolar civarında bir ücretlendirme modeli düşünülüyor. Gelecekte ise şu özelliklerin eklenmesi hedefleniyor:
- Yapay zeka entegrasyonu
- Kendi kendine barındırma seçeneği
- Kurumsal kullanım için özel özellikler
- Mobil ve yerel uygulamalar
Ekip, projenin uzun vadeli hedefini, Red Hat’in Linux’a yaptığı gibi, KiCad’ın üzerine inşa edilecek bir ekosistem yaratmak olarak belirtti. Bu ekosistem, işbirliği, paylaşım ve entegrasyon özellikleriyle donatılacak. İlk tam sürümün ise yaklaşık bir ay içinde yayınlanması planlanıyor.
Açık Kaynak ve Topluma Katkı
Emergence Engineering, projenin geliştirilmesi sırasında KiCad ve wxWidgets gibi açık kaynak projelerden büyük ölçüde faydalandı. Ekip, bu katkıların karşılığını vermek için mümkün olduğunca fazla kodun ana projelere geri gönderilmesini hedefliyor. Projenin ön yüz kodu GPL lisansı altında yayınlanıyor ve herkes tarafından kullanılabilir durumda.
Eğer siz de projeye katkıda bulunmak istiyorsanız, ekip üyeleriyle iletişime geçebilirsiniz. Projenin kaynak koduna GitHub üzerinden ulaşabilirsiniz. Ayrıntılı bilgiler için şirketin resmi web sitesini ziyaret edebilirsiniz.
Sonuç: Elektronik Tasarımında Yeni Bir Sayfa
KiCad’ın tarayıcıda çalışabilir hale gelmesi, elektronik tasarım dünyasında büyük bir adım. Bu proje, yalnızca teknolojik bir başarı değil, aynı zamanda açık kaynak yazılımın gücünü de gözler önüne seriyor. Emergence Engineering’in attığı bu adım, gelecekteki elektronik tasarım araçlarının nasıl şekilleneceğine dair önemli ipuçları sunuyor. Projenin ilk sürümü yayınlandığında, geliştiricilerin ve mühendislerin nasıl tepkiler vereceğini görmek heyecan verici olacak.
Yapay zeka özeti
KiCad artık tarayıcıda çalışabiliyor. WebGL ve WebAssembly teknolojileriyle tarayıcı tabanlı PCB tasarımında yeni bir dönem başlıyor. Detaylar ve gelecek planları burada.
