suji - Electron alternatifi
(github.com/ohah)Zig ile yapılmış, Electron benzeri bir şey.
Başlığı aslında havalı yazdım ama sonuçta sadece Zig ile yapılmış bir masaüstü framework'ü.
Bence Electron, masaüstü uygulaması geliştirirken kaçınılmaz olarak karşılaşılan bir uygulama,
Özellikle Mac ve Windows ortamlarını aynı anda düşünmek ve yüksek geliştirme verimliliği sağlamak açısından Electron kadar cazip başka bir framework olmadığını düşünüyorum.
JS ekosistemini olduğu gibi kullanabiliyorsunuz ve piyasada da kendini kanıtlamış durumda (vscode, slack, discord vb.)
Bu kadar genel amaçlı ve avantajlı olduğu için kullanım alanı da çok; dolayısıyla dezavantajları da iyi bilinen ve bolca eleştirilen bir framework.
Ben de bu memnuniyetsiz kullanıcı kitlesinden biriyim,
Bu yüzden Tauri'yi de denedim ama Tauri'de de sistem webview gibi
kronik bir sınırlama(?) var; ayrıca backend dili Tauri kullanınca Rust ile sınırlanıyor,
Electron kullanınca Node ile sınırlanıyor,
Wails kullanınca da Go ile sınırlanıyor; bundan hoşlanmadım.
Tabii FFI kullanırsanız başka dilleri de ekleyebilirsiniz ama..
Aslında özellikle bugünlerde dil bariyerlerinin epey yıkıldığı bir dönemde, framework yüzünden dil kısıtı olmasından hoşlanmadım.
zig, rust, go, lua, node
her birini ayrı backend dili olarak seçebiliyorsunuz; aynı anda birden fazla dili seçip backend'i çok dilli şekilde de kurabiliyorsunuz.
Backend dillerini mümkün oldukça eklemeye devam etmeyi düşünüyorum.
pyhton ya da Ruby de dahil.
Birden fazla dil girebildiği için, bu backend dillerinin her biri kendi aralarında IPC üzerinden iletişim kurabiliyor.
Örneğin SQLite çağırırken Node tarafında
better-sqlite3 kurmanız gerekiyor ama SQLite, yerleşik bir plugin olarak da dahil ve Node'un Zig'i doğrudan çağırarak kullandığı bir yapıya sahip.
Mobil için de build alınabiliyor ama şimdilik Mac dışındaki diğer platformlar kararsız.
Politika gereği yalnızca iOS'ta backend dili olarak Node kullanılamıyor.
Şu anda Mac tarafı gerçekten build alıp ürün çıkarmaya uygun durumda; Windows ve Linux tarafında ise bazı ek iyileştirmeler gerekiyor.
Mobil desteği de planlanıyor.
Tauri'de yaşadığım sistem webview dezavantajları nedeniyle
Mac'te sistem webview kullanmayı düşünmüyorum.
API ve kullanım şeklini mümkün olduğunca Electron API'siyle aynı tuttum,
Ayrıca yapay zekanın geliştirme yapmasını kolaylaştıran dokümantasyon ve spesifikasyonlar da var; hatta sadece doküman bağlantısını verirseniz E2E doğrulamayı bile kendi başına yaptığı için, diğer rakip(?) framework'lere göre yapay zeka üretkenliği açısından ezici derecede iyi bir framework olarak da görebilirsiniz.
Aslında sadece Electron ve Tauri'ye sinirlendiğim için yaptım,
Ben de kişisel olarak artık DX araçları ya da masaüstü uygulamaları yaparken geliştirmeyi suji ile yapıyorum,
Belki yanlış ölçmüş olabilirim ama FFI üzerinden çağrı yapmaktan daha hızlı şekilde bu yapıyla diller arası iletişim kurulabildiği için daha memnunum.
Basit uygulamalar üretmek ve dile takılmadan bir şeyleri hızlıca ortaya çıkarmak konusunda Electron ya da Tauri'den daha hızlı hissettirdiği için kişisel olarak memnunum;
Ama bunun sadece benim yaptığım için duyduğum bir memnuniyet mi olup olmadığını merak ediyorum; ayrıca başkaları bu fikir ve yaklaşım hakkında ne düşünür, onu duymak istediğim için paylaşıyorum!
Henüz yorum yok.