Bağımsız ürün geliştirme serimin birinci yazısı
Bir mobil geliştirici olarak en büyük dileğim elbette bir uygulama yazıp para akarken arkama yaslanmak ( ͡° ͜ʖ ͡°).
Tek başınıza bir uygulama geliştirirken hangi sorunlarla karşılaşabilirsiniz? Yakın zamanda kendi uygulamamı yayımladım; karşılaştığım sorunları ve onları nasıl çözdüğümü paylaşmak istiyorum.
1. İhtiyacı belirleyin
Herkesin bağımsız bir uygulama yapmak istemesinin nedeni biraz farklıdır.
Büyük düşünürsek, çözümü dünyayı değiştirebilecek acil bir ihtiyaç görmüş olabilirsiniz; geriye yalnızca bir programcı bulmak kalmıştır.
Daha küçük ölçekteyse, yalnızca kendi uygulamanızı App Store'da görmek isteyebilirsiniz. Bu, yeni bir teknoloji denemesi olabilir: iOS 8 ile Today uzantıları geldikten sonra bunlara dayanan pek çok özgün uygulama ortaya çıktı. Ya da bir dosya yönetimi uygulaması veya düşünülmüş özellikleri olan bir hava durumu uygulaması gibi, hayatınızdaki bir güçlüğü gideren bir araç olabilir.
Büyük ya da küçük bir ihtiyaç belirleyin. Devam etme motivasyonunuzu bu sağlar.
Eşimin ihtiyaçlarına yanıt olarak “File Manager” adlı bir dosya yönetimi uygulaması yaptım.
File Manager telefonu bir sunucuya dönüştürür. Aynı Wi-Fi ağındaki diğer cihazlar, tarayıcı üzerinden telefondaki dosyaları yönetebilir: klasörleri düzenleyebilir, dosyaları kopyalayıp taşıyabilir, yükleyip indirebilir.
Bu ihtiyacı belirledikten sonra projeyi yayımlamam yaklaşık üç ay sürdü. Bu sırada biraz da Swift öğrendim.
2. Uygulama prototipleri ve etkileşimler
Bir ihtiyaç ve çözüm olduğunda, prototip ve insanların onu nasıl kullanacağı hakkında kafanızda muhtemelen kabaca bir fikir vardır. Sonraki adım, gerçek ekranları ve etkileşimleri netleştirmektir.
Birkaç prototipleme aracı denedim, sonra vazgeçtim.
Bir prototipleme aracını öğrenip ekranları tasarlamak için gereken sürede, aynı ekranları xib ile oluşturabileceğimi gördüm. Sonunda prototip sorununu elle çizdiğim taslaklarla çözdüm.
Daha sonra başka ürünler yaparken prototiplerin gerekli olduğunu fark ettim. Prototipleme aslında mantığı düzenleme ve kendi içinde tutarlı hâle getirme sürecidir.
3. Uygulamadaki küçük simgeler ne olacak?
Prototip netleşince projenin genel yapısı hakkında kabaca bir fikrim oluştu. Ancak kodun dışında, her bağımsız geliştiricinin yüzleşmek zorunda olduğu bir sorun daha vardı!
Proje boyunca kullanılan tüm küçük simgeleri nereden bulacağım?
Kullandığım birkaç simge kütüphanesi şöyle:
- Alibaba'nın simge kütüphanesi → Renkleri ve boyutları serbestçe ayarlanabilen eksiksiz vektör simge setleri; cömert bir kaynak. Ticari kullanım için yine de yaratıcısından izin almak gerekir.
- icons8 → 56.500 ücretsiz düz simge! Farklı platformlar için simgeler, hatta bir Mac uygulaması bile var.
- iconfinder → O da eksiksiz simge setleri sunuyor; ticari modeli daha belirgin.
4. Test ve beta testi
Bir şirkette test uzmanları, ürün ekibi ve diğer çalışma arkadaşları uygulamayı iyileştirmemize yardımcı olur. Bağımsız bir geliştirici olabildiğince çok hatayı olabildiğince erken nasıl bulup önleyebilir?
4.1 Kendiniz test etmek
Eskiden test ekibine bıraktığım işi artık kendim yapmalıyım. Elle test etmenin yanında, bize yardımcı olacak bir test maymunu da yetiştirebiliriz.
4.2 Beta test kullanıcıları bulmak
Bağımsız uygulama yapmak, geliştiricilikten daha fazla rol üstlenmek demek: ürün, operasyon, müşteri desteği ve daha fazlası. Tanıtım da bize düşüyor. Arkadaşlarınızdan, sınıf arkadaşlarınızdan ve ailenizden başlayıp sosyal ağlarda duyurun: uygulamam neredeyse hazır, denememe yardım edin!
Beta kullanıcıları yalnızca hata bulmaz. Yeni istekleri ve önerileri, uygulamanın zenginleşmesine ve iyileşmesine daha da büyük katkı sağlayabilir.
4.3 Test sürümlerini dağıtmak
Beta kullanıcılarının cihaz kimliklerini almak kolaysa, Pgyer veya fir.im gibi bir beta barındırma platformu kullanabilirsiniz. Cihaz kısıtlamaları vardır.
Cihaz kimliklerini almak zorsa, Apple'ın iOS 8 sonrasında kullanıma açtığı, 10.000 kişiye kadar beta testi kontenjanı sunan TestFlight'ını kullanabilirsiniz.
5. App Store ekran görüntüleri
Yayımlama ekran görüntülerine neden ayrı bir bölüm ayırıyorum? Bağımsız geliştiricilerin tanıtım kanalları nispeten azdır. App Store ürün sayfamızdaki ekran görüntüleri ve açıklama, uygulamanın girişi ve vitrinidir.
Bu görüntüler kötü görünürse, uygulamayı yeni keşfetmiş bir ziyaretçiyi kaybedebiliriz.
Bir şirkette arayüz tasarımcıları ve ürün ekibi ekran görüntülerini hazırlamaya yardım eder. Tek başımızayken doğru boyutlarda görüntüleri nasıl elde ederiz?
5.1 Simülatörde ekran görüntüsü almak
Uygulama ekranlarını doğrudan simülatörde yakalayabilirsiniz; ancak sonuç biraz kaba görünebilir.
5.2 Biraz güzelleştirmek
Ücretsiz bir site olan shotbot'u öneriyorum. Malzemelerinizi yüklüyorsunuz, o da tutarlı biçimde düzenlenmiş eksiksiz bir ürün ekran görüntüsü seti oluşturuyor.
2022-04-11 tarihli not: Daha sonra kendi App Store yayımlarım için ekran görüntüsü hazırlamaya özel bir Mac uygulaması yazdım.
6. Kullandığım diğer kaynaklar
Bazı etkileşimler ve tasarımlar üzerinde çalışırken, üçüncü taraf araçları ve hazır simgeler bazen istediğinizi tam olarak karşılamaz.
O hâlde görselleri kendiniz düzenleyin!
Elbette çoğu geliştirici Photoshop'ta pek usta değildir; bazıları hiç kullanmamıştır. Ne yapabiliriz?
İşte iki site: Online PS ve Meitu'nun web düzenleyicisi
Ağır Adobe yazılımlarını indirmeden, tarayıcıda basit görsel düzenlemeleri yapabilirsiniz. Photoshop'u pek iyi bilmeyen bizler için bu iyi haber.
Görsel düzenlemenin yanı sıra, uygulamanın simgesi de baş ağrıtabilir. Önerdiğim bir diğer site MakeIcon: 1024×1024 bir logo yükleyin, diğer tüm simge boyutlarını otomatik oluştursun. iOS 10'daki iMessage'ı bile destekliyor.
7. Son düşünceler
Bir arayüz tasarımcısının yardımı olmadan, mevcut kaynaklarla geliştirmeyi tamamladım. Tasarımcınız varsa çıkışı kendiniz bulabilirsiniz  ̄ヘ ̄.
Uzun zamandır kendi uygulamamı yapmak istiyordum. Gerekenleri düzene koyduktan sonra ancak yakın zamanda gerçekten başladım. En önemlisi, sonunda çözmem gereken net bir ihtiyaç vardı; bu sırada biraz Swift de öğrendim.
Geliştirme sırasında neredeyse hiç kod yazmadığım bir hafta bile oldu. Bağımsız bir uygulama yaparken devam etmenizi sağlayan asıl şeyin ihtiyaç olduğunu fark ettim. İhtiyacın büyüklüğü değil, bir sorunu çözmek önemlidir.
Geliştirme ilerledikçe gereksinimler de arttı: AirDrop paylaşımı, iCloud entegrasyonu ve ShareExtension geliştirmesi hâlâ bitmemişti. Devam edin, azar azar yineleyin! ʘʚʘ (Bu uygulamayı yapmaktaki asıl amacımın “koleksiyon.avi” dosyamı PC, telefon ve iPad arasında paylaşmak olduğunu kesinlikle itiraf etmiyorum.)
Uygulamamın bağlantısı: Dosyaları yönetmenin en basit yolu, File Manager
2022-04-11 tarihli not: Uygulama artık aramalarda bulunamıyor. İyi bir gelir elde etme yolu bulamayınca onu bir dış kaynak hizmetleri şirketine sattım. Satış beni çok düşündürdü; sonraki yazıda daha ayrıntılı anlatıyorum.
Özgün yazı Jianshu'da yayımlandı. Daha sonra Jianshu hesabım ele geçirildi, diğer yazılarım da sürekli engellendi. Şimdi tüm blog yazılarımı github.io'ya taşıyorum.