Her zaman aklımda şu soru vardı: Teknoloji bu kadar ilerlemişken, neden hâlâ uygulama yapmak uzun ve karmaşık bir süreç olsun ki? Şimdiye kadar bir uygulama oluşturmak için ya iyi bir yazılımcı olman gerekiyordu ya da bunu bir başkasına ciddi ücretler karşılığında yaptırman. Ama işler artık değişti. Sana da böyle düşündüren oldu mu hiç? “Tek komutla uygulama oluşturmak mümkün mü gerçekten?” dedim kendi kendime ve bu konuyu detaylı araştırdım. Bugün seninle hem teknik bilgi gerektirmeyen kolay çözümleri hem de yazılımcılar için hızlı yöntemleri paylaşmak istiyorum. Eminim senin de işine yarayacak birkaç tüyo çıkacak bu yazıdan. Hadi başlayalım.
No-Code & Low-Code Dünyası
Öncelikle, kod bilmeyenler için büyük bir devrim olan no-code/low-code platformlarından konuşalım. Bunlar sayesinde artık yazılım bilgisi olmadan iş fikirlerini hayata geçirmek mümkün. Hele ki bu tarz platformlar her geçen gün daha yetenekli hale geliyor. Hatta bazıları öyle güçlü ki, kurumsal çözümler bile bu araçlarla geliştiriliyor. Ana sayfadan bu konudaki diğer yazılara da göz atabilirsin.
Mesela AppMaster.io, Appery.io ve benzerleri, kullanıcı dostu arayüzleriyle dikkat çekiyor. Genellikle bir “uygulama oluştur” sihirbazı oluyor bu platformlarda. Sen sadece ne istediğini seçiyorsun ve sistemi sürükle-bırak araçlarla yapılandırıyorsun. Tıpkı PowerPoint’te sunum hazırlamak gibi.
Bu platformlarda bir form oluşturmak, bir kullanıcı girişi ekranı eklemek ya da bir veritabanı bağlantısı kurmak birkaç tıklamadan ibaret. Mobil ya da web uygulaması fark etmiyor, ikisini de destekleyen çözümler var. Örneğin bir sağlık uygulaması, e-ticaret platformu ya da eğitim portalı yapmak istiyorsan; sana sadece temel fikri ortaya koymak kalıyor, geri kalanı platform senin için hallediyor.
Üstelik çoğu no-code platformunda ücretsiz deneme hesapları da mevcut. Yani önce sistemin nasıl çalıştığını görebiliyor, sonrasında iş modeline göre uygun bir plana geçebiliyorsun. Bu sistemlerin en büyük avantajı, deneme-yanılma yapmayı da kolaylaştırmaları. Bir fikri test etmek istiyorsan, haftalarca beklemek zorunda değilsin. Dakikalar içinde prototipin hazır.
Yazılımcılara Özel: Komutla Çalıştır
Gelelim biraz da kod ile çalışanlara. Kodu seven, terminal ekranında gezmeyi alışkanlık haline getiren biriysen, bu kısım sana hitap ediyor. Diyelim ki Python geliştirme ortamında kendi çözümünü yazdın. Ardından sadece şu komutu yazman yeterli:
python program_adi.py
Anında çalışmaya başlıyor. Bu kadar basit. Her defasında IDE’yi açmana ya da grafik arayüzleriyle uğraşmana gerek yok. Özellikle otomasyon programları, veri toplama botları ya da küçük yardımcı araçlar yazıyorsan bu yöntem inanılmaz pratik.
Benzer şekilde C++ veya C# kullanıyorsan; Visual Studio gibi bir IDE ile .exe dosyasını oluşturduktan sonra, o dosyayı komut satırından kolayca çalıştırabiliyorsun. Örnek:
program.exe
Bunun en güzel yanı, sistem kaynaklarını fazla tüketmeden hızlı testler ve küçük dağıtımlar yapabilmeni sağlaması. Özellikle yazılım geliştirme sürecinin erken aşamalarında çok işine yarıyor.
Daha mobil odaklı bir şey geliştirmek istiyorsan, örneğin Android tabanlı bir uygulama hazırladıysan, orada da işin komut kısmı oldukça basit. Sadece şu komutu yazıyorsun:
./gradlew assembleDebug
Ya da uygulamanın yayınlanabilir hâlini hazırlamak için:
./gradlew assembleRelease
Bu şekilde hem test paketlerini kolayca elde ediyorsun hem de APK dosyan hazır hale geliyor. Android Studio açık olmasa bile işlem tamamlanıyor. Yani tek bir komutla derleme ve paketleme sürecini halletmiş oluyorsun. Bu, özellikle sürekli derleme yapanlar için zaman tasarrufu demek.
Ne Yöntem Sana Göre?
Aslında bu noktada temel mesele şu: sen nasıl çalışmayı seviyorsun? Eğer teknik detaylarla uğraşmak istemiyorsan, AppMaster veya Appery gibi sistemlerle fikrini doğrudan hayata geçirebilirsin. Ama yazılıma meraklıysan ve detaylara hâkim olmayı seviyorsan; Python, C++ ve Gradle gibi araçlarla tek komutla uygulama çalıştırmak çok daha esnek bir deneyim sağlar.
Hepsi bu kadar mı? Tabii ki değil. Bir de mevcut uygulamaları kolayca kurmanı sağlayan sistemler var. Ama onu ikinci bölümde birlikte keşfederiz. Orada örnek olarak Winget ve paket yöneticileri üzerinden konuşacağız.
Uygulama Yüklemenin En Kolay Yolu
Bir düşün; hepimiz zaman zaman bilgisayarımıza yeni bir uygulama yüklememiz gerekiyor. Kimi zaman bir editör, kimi zaman bir analiz aracı ya da belki sadece bir medya oynatıcı. Ama her seferinde internetten program adıyla arama yapmak, doğru siteden indirebilmek, kurulum boyunca tıklayıp durmak gerçekten can sıkıcı olabiliyor, değil mi?
Ben de zamanla fark ettim ki, bu işlemi çok daha hızlı ve güvenli yapmanın yolları varmış. Özellikle paket yöneticileri ile tanıştığım andan itibaren bu işi adeta otomasyona döktüm diyebilirim. Özellikle Windows kullanıcılarının son zamanlarda daha sık duymaya başladığı Winget, bu konuda gerçekten harika bir araç.
Winget Nedir, Ne İşe Yarar?
Öncelikle Winget bir Microsoft aracı. Tam adıyla Windows Package Manager. Linux kullanıcılarının yıllardır kullandığı apt, yum gibi sistemlerin Windows dengi gibi düşünebilirsin. Amaç, komut satırından tek satırla uygulamaları yükleyebilmek. Truva atı bulaşır mı, yanlış exe dosyasını mı indiririm derdi olmadan, doğrudan güvenli kaynaktan uygulamayı indiriyor ve otomatik olarak kuruyor.
Kullanımı son derece basit:
winget install uygulama_adı
Hepsi bu. Örneğin Visual Studio Code yüklemek mi istiyorsun?
winget install Microsoft.VisualStudioCode
Hepsi toplu yüklemeye de uygun. Mesela yeni bir bilgisayara geçtim diyelim, ihtiyaç duyduğum 10 farklı aracı bir script dosyasına yazıyorum ve tek tıkla hepsini kuruyorum. Bu sistem özellikle IT çalışanları için tam bir kurtarıcı.
Alternatif Paket Yöneticileri
Tabii ki Winget tek seçenek değil. Aynı mantıkla çalışan ama farklı sistemlerde yer bulan başka araçlar da var. İşte birkaç örnek:
- Chocolatey: Windows kullanıcıları arasında uzun süredir oldukça popüler. Daha fazla özelleştirme imkânı sunuyor.
- Scoop: Yine Windows için hafif ve komut dostu bir alternatif. Özellikle taşınabilir uygulamaları sevenlerin tercihi.
- Homebrew: Mac kullanıcılarının favorisi. Tek komutla uygulama, kitaplık ve araç kurmak için birebir.
Bu arada belirtmeden geçemeyeceğim, paket yöneticileri hakkında daha detaylı bilgi arıyorsan, bu konuda ciddi bir literatür var. Özellikle Linux dünyasında yıllardır ana yapı taşı olduklarını biliyor muydun?
Sistemini Otomatize Etmek
Paket yöneticilerinin asıl gücü, uygulamayı yalnızca kurmakla kalmayıp aynı zamanda bakımını da üstlenmeleri. Yani büyük güncellemeler geldiğinde ya da sistemine yeni bir cihaz eklediğinde, hepsini tek satırla güncelleyebiliyor ya da taşıyabiliyorsun. Ayrıca bir uygulamanın son sürümünü öğrenmek, hangi lisansla yayımlandığını görmek ya da kaldırmak için bile ayrı komutlar var:
- Winget list – kurulu uygulamaları listeler
- Winget upgrade – güncelleme uygular
- Winget uninstall – uygulamayı sistemden kaldırır
Yani sadece yüklemekle kalmıyoruz; aslında sistemimizin yazılım altyapısını başlı başına yönetiyoruz. Bunu yapmak hem zaman kazandırıyor, hem hata oranını ciddi şekilde azaltıyor.
Birkaç Kişisel Deneyim
Benim özellikle memnun kaldığım bir örnek, yeni formatladığım bir bilgisayara 10’dan fazla aracı toplu şekilde kurmam oldu. Normalde her programı ayrı ayrı arayıp, indirip, “ileri-ileri-son” diye geçmem gerekecekti. Bunun yerine bir Winget betiği hazırlayıp şunu yazdım:
winget install Google.Chrome
winget install 7zip.7zip
winget install Git.Git
winget install Python.Python.3
winget install Notepad++.Notepad++
Ve birkaç dakika sonra tüm sistem hazırdı. Aynı şeyi ana sayfa üzerinden tanıttığım sistemlerle de birleştirince, artık iş kurulum zorunluluğundan çıkıp keyifli bir süreç haline geliyor.
Güvenlik ve Verimlilik Açısından Paket Yöneticileri
Unutmadan şunu da belirtmek isterim. Paket yöneticileri güvenlik açısından da çok önemli bir yer tutuyor. Özellikle açık kaynak yazılımlarda, resmi ve doğrulanmış kaynaklardan indirme yaptığınız için sahte yazılım riski oldukça düşüyor. Bu yüzden profesyonel ortamlarda da çokça tercih ediliyorlar.
Ayrıca sistem daha düzenli çalışıyor. Hangi uygulamanın hangi sürümde olduğunu anlamak, geriye dönük hata ayıklamak ya da bir gereksiz programı hızlıca kaldırmak çocuk oyuncağı haline geliyor. Eskiden güncelleme sıkıntısı yaşadığım birkaç büyük uygulamayı artık hiçbir sorun olmadan güncelleyebiliyorum.
Hepsi Birleşince: Zahmetsiz Bir Süreç
Sonuçta ister bir yazılımcı ol, ister deneyimsiz bir kullanıcı; önemli olan, işi en pratik şekilde halledebilmek. Winget ve benzeri araçlarla buna ulaşmak artık mümkün. Üstelik bu sistemleri, kodla çalışabildiğimiz Gradle ya da Python gibi araçlarla da entegre etmek son derece kolay. Hatta no-code platformları ile hazırladığımız projeleri canlıya almadan önce, test ortamlarımızı bu yöntemlerle kurmak da oldukça yaygınlaştı.
Özellikle zamanın önemli olduğu bir dönemde yaşıyoruz. Her şeyin saniyelerle ölçüldüğü bir çağda, uygulama kurulumunu neden hâlâ saatler sürsün ki? Artık gereken sadece tek bir komut satırı ve birkaç saniye beklemek. Kulağa basit geliyor ama etkisi büyük.