İlk uygulamamı QBasic 4.5 ile yapıp satmıştım.
Tabii ki müthiş bir ticaret değildi. Bir müşteri, ekranda girdiği değeri birkaç formülden geçirip çıktı üretmemi
istemişti.
Basit haliyle programlanabilir bir hesap makinesinden farksızdı. Çok kısa sürede bitti, karşılığında da “harçlık”
sayılabilecek bir ücret aldım.
QBasic arayüzü.
O günden sonra DOS’un sınırlı renkleriyle hazırlanmış arayüzler hep dikkatimi çekmeye başladı.
DOS döneminin tipik iş uygulamaları.
DOS döneminin tipik iş uygulamaları.
O dönem otobüs bileti satan büroların, muhasebe firmalarının ekranları bana harika UX tasarımları gibi görünüyordu.
80 sütun, 25 satır… ama kullanıcı için işlevsel, hızlı ve anlaşılır.
Hatta bugün tekrar popülerleşen TUI kategorisindeki gelişmelerden nasıl mutlu oluyorum anlatamam.
MS-DOS yerini Windows’a bıraktı. Basit işlemcili bilgisayarlara bol disketle kurulan Windows, bilgisayar dünyasını bambaşka bir noktaya taşıdı.
İlk masaüstü uygulamamı mIRC script diliyle yazdım.
Şimdi düşününce saçma gelse de, sırf öğrenme eğrisi çok kolay olduğu için IRC dışı bir uygulamayı mIRC ile
geliştirdim.
Teoride basit bir ders programı takip yazılımıydı. Butonları bile Paint ile çizmiştim.
mIRC ile ilgili ekran görüntüleri.
Sonra Visual Basic 6.0 ile tanıştım.
Bu, benim için büyük bir aşk oldu. Tek taraflı mıydı yoksa o da beni seviyor muydu, bilmiyorum :)
Visual Basic 6.0 IDE’si.
Gerçek anlamda yazdığım ilk “paket programı” VS6.0 ile oldu.
O zamanlar adını koyamasam da object ve event bazlı çalışma mantığı ve IDE’nin büyülü ortamı beni etkiledi.
Bir dönem “ocx madencisi” gibi system dizinindeki OCX dosyalarını denemekle meşguldüm.
Her yeni kütüphane, yeni bir oyuncak gibiydi.
Zamanla cihazlar çeşitlendi: Windows, Linux, macOS…
Her evde, her işyerinde farklı sistemler çalışmaya başladı.
Bu da platform bağımsız uygulamalara olan ihtiyacı artırdı.
Basit OCX kontrolleriyle idare edilen günler geride kaldı.
Toolkit’ler devreye girdi.
Sonra Web 2.0 geldi.
Masaüstü uygulamalarına harcanan emek yavaş yavaş web’e kaydı.
Sonrası zaten malum…
Belki bu zaman çizelgesinde atladığım noktalar vardır. Neticede ben artık yaşlı bir insanım :) Maruz görün.
Bugün geldiğimiz noktada ne masaüstü uygulamalarından kurtulabildik, ne de tamamen onlara bağımlı kaldık.
Cross-platform uygulama geliştirme hâlâ çok önemli bir ihtiyaç.
Üstelik bu denkleme mobil uygulamalar da dahil oldu.
Son yıllarda hayatımıza giren Electron bu ihtiyacı büyük ölçüde karşıladı.
JavaScript, Node.js ve TypeScript ile birçok işimi çözebiliyorum.
Bir masaüstü uygulamasını tamamen JS ile geliştirme fikri çok heyecan verici.
Ama iş pratiğe dökülünce durum değişiyor.
Özellikle:
Electron keyif kaçırıcı olabiliyor.
React veya Vue ile arayüz geliştirmek çok keyifli olsa da OS ile iletişim kısmı için daha kolay çözümler aramaya
başladım.
Bu noktada Tauri ile yollarım kesişti.
Backend’de Rust, frontend’de istediğimiz framework.
Üstelik Chrome’u içine gömmediği için build boyutları çok küçük.
Ama Rust tarafı bana epey zor geldi.
Config dosyalarıyla uğraş, command yapısıyla boğuş…
Rust’u bilenler için keyifli ama benim için değil.
Sonunda fark ettim ki işimi kolaylaştırması gereken araç, bana ekstra yük oluyordu.
Ve Wails…
| Özellik | Electron | Tauri | Wails |
|---|---|---|---|
| Backend dili | Node.js | Rust | Go |
| Frontend esnekliği | React, Vue, Angular, Svelte vs. | React, Vue, Angular vs. | React, Vue, Angular vs. |
| Dosya boyutu | 150+ MB | 10-20 MB | 10-25 MB |
| Performans | Ağır | Hızlı ama Rust bilgisi şart | Hızlı ve dengeli |
| CORS sorunları | Var | Yok | Yok |
| Öğrenme eğrisi | Düşük | Dik | Orta (Go öğrenmek kolay) |
| OS API erişimi | Zor | Güçlü ama karmaşık | Basit ve temiz |
| Build süreci | Ağır | Orta | Hızlı ve sorunsuz |
Diyelim ki bir uygulamada:
Electron ile yapsan: 200 MB paket ve karmaşık config.
Tauri ile yapsan: Rust öğrenmek şart.
Wails ile: Go’nun sadeliği sayesinde az kod, az dert.
QBasic ile yazdığım o basit hesap makinesinden
Wails ile geliştirdiğim cross-platform uygulamalara…
Yol uzun ama his aynı: bilgisayarın sana boyundan büyük işler yaptırabilmesi.
Ve benim için şu an o hisin adı: Wails.