Mobil ve masaüstü uygulama geliştiriyorum.

Web sitesi, adresini bilen herkesin tarayıcıdan açtığı bir vitrin. Uygulama ise telefona ya da bilgisayara kurulan, her gün yeniden açılan bir araç. Site sizi tanıtır; uygulama, müşterinizin ya da ekibinizin bir işi sizinle düzenli olarak yapmasını sağlar.

Bu yüzden uygulama her işletmeye gerekmiyor. Kullanıcılarınız sizinle sık sık etkileşime giriyorsa, bildirimle ulaşmanız gerekiyorsa, kamera ya da konum gibi cihaz özellikleri işin içindeyse ya da internet yokken de çalışmak şartsa, o zaman uygulama anlam kazanıyor. Mobil uygulamaları React Native ve Expo ile, masaüstü uygulamalarını Electron ile geliştiriyorum. 2019'dan beri back-end tarafında çalıştığım için uygulamanın konuştuğu sunucuyu da ben kuruyorum.

Mobil uygulama

React Native ile iOS ve Android için tek bir kod tabanı yazıyorum. İki ayrı uygulamayı ayrı ayrı geliştirip bakımını ikiye katlamak yerine, bir özellik eklendiğinde ya da bir hata düzeltildiğinde değişiklik iki platforma birlikte gidiyor. Expo ise derleme, test sürümü dağıtma ve mağazaya gönderim adımlarını kolaylaştırıyor.

Tek kod tabanı, iki platformun tamamen aynı davrandığı anlamına gelmiyor. Geri hareketi, bildirim izinleri ve klavye gibi ayrıntılar iOS ile Android'de farklı; bu yüzden uygulamayı iki platformda da ayrı ayrı deniyorum.

Üye uygulaması. Pilates stüdyosu için gün seçimi, ders listesi ve birkaç dokunuşta rezervasyon. Konsept çalışma.

Kimlere uygun?

  • Randevu, sipariş, üyelik ya da sadakat kartıyla müşterisine düzenli dokunan işletmeler.
  • Servis, teslimat ya da denetim kaydını sahadan telefonla giren ekipler.
  • Web'de çalışan bir hizmeti telefona da taşımak isteyenler.
  • Kullanıcısına bildirimle anında ulaşması gereken işler.

Neler dahil?

  • iOS ve Android için tek kod tabanından uygulama.
  • Giriş, kayıt ve kullanıcı hesabı.
  • Anlık bildirimler.
  • Gerekiyorsa kamera, konum gibi cihaz özellikleri.
  • Mağaza gönderimi için ekran görüntüleri, açıklamalar ve gizlilik bilgileri.
  • Arka uç ve API bağlantısı.

Masaüstü uygulama

Masaüstü uygulamalarını Electron ile geliştiriyorum. Aynı uygulama Windows ve macOS'ta çalışıyor; kullanıcı onu bir web sayfası gibi değil, bilgisayarında kurulu bir program gibi açıyor.

Masaüstü uygulaması en çok işletmenin içinde işe yarıyor: resepsiyonda, depoda ya da üretim hattının başında gün boyu açık duran ekranlarda. İnternet kesildiğinde çalışmaya devam edip bağlantı gelince verileri eşitleyebilmesi, yazıcı gibi bilgisayara bağlı cihazlarla çalışabilmesi burada fark yaratıyor.

Resepsiyon uygulaması. Günün dersleri, doluluk ve son girişler tek pencerede. Konsept çalışma.

Kimlere uygun?

  • Resepsiyon, kasa ya da depo gibi gün boyu açık kalan bir ekranla çalışan işletmeler.
  • İnternetin her zaman güvenilir olmadığı atölye, şantiye ya da saha ofisleri.
  • Tablo dosyalarıyla yürüyen bir iç süreci düzenli bir programa taşımak isteyenler.
  • Yalnızca şirket içinde kullanılacak, dışarıya açılması gerekmeyen araçlar.

Neler dahil?

  • Windows ve macOS için kurulum dosyası.
  • Çevrimdışı çalışma ve bağlantı gelince eşitleme.
  • Yeni sürüm çıktığında kendini güncelleyen uygulama.
  • Kullanıcı girişi ve yetkiler.
  • Yazdırma ve dosyaya aktarma gibi masaüstüne özgü işler.
  • Web paneli ve mobil uygulamayla aynı veriyi paylaşma.

Web, mobil ya da masaüstü: hangisi size uygun?

Kısa cevap: çoğu zaman önce bir web sitesi. Uygulama daha fazla emek, mağaza süreci ve bakım demek; gerçekten gerekiyorsa bu emeğe değer.

  • Web sitesi

    Kendinizi tanıtmak, ürün satmak ya da teklif toplamak istiyorsanız. Kurulum gerektirmez, arama motorlarında bulunur, her cihazda açılır.

  • Mobil uygulama

    Kullanıcılarınız size haftada birkaç kez dönüyorsa, bildirim, kamera ya da konum gerekiyorsa.

  • Masaüstü uygulama

    Ekibiniz gün boyu aynı ekranla çalışıyorsa, internet kesintisine dayanması ya da bilgisayara bağlı cihazlarla çalışması gerekiyorsa.

İhtiyacınız bir tanıtım sitesi ya da bir mağazaysa uygulamaya hiç gerek olmayabilir; kurumsal web sitesi ve e-ticaret sitesi sayfalarına göz atın. İlk görüşmede hangisinin işinize yaradığını açıkça söylüyorum.

Uygulama nasıl hazırlanıyor?

Uygulamada en pahalı hata yanlış şeyi yapmak. Bu yüzden ekranlardan önce kullanım senaryosunu konuşuyoruz.

  1. Kullanım senaryosu

    Uygulamayı kim, nerede ve ne için açacak? Günlük akışı birlikte çıkarıyor, mobil mi masaüstü mü yoksa ikisi birden mi gerektiğine burada karar veriyoruz.

  2. İlk sürümün sınırı

    İlk sürüme girecek ekranları ve sonraya kalacakları ayırıyoruz. Teklifi ve takvimi bu listeye göre hazırlıyorum.

  3. Taslak ve deneme sürümü

    Ana ekranların taslağını çıkardıktan sonra uygulamayı telefonunuza ya da bilgisayarınıza deneme sürümü olarak kuruyorum. Yorumunuzu ekran görüntüsüne bakarak değil, uygulamayı elinize alarak yapıyorsunuz.

  4. Mağaza ve dağıtım

    Mobil uygulamayı App Store ve Google Play'e, mağazaların kurallarına uygun şekilde gönderiyoruz; inceleme süresi ve sonucu mağazaların elinde. Masaüstü uygulaması için kurulum dosyasını hazırlıyorum.

  5. Yeni sürümler

    Kullanıcılardan gelen geri bildirime göre yeni sürümler çıkarıyoruz. Hangi değişikliğin nasıl dağıtılacağını birlikte planlıyoruz.

Arka uç, API ve yönetim paneli

Bir uygulama çoğu zaman tek başına çalışmaz. Kullanıcı hesapları, siparişler ya da randevular bir sunucuda durur, uygulama onlara bir API üzerinden ulaşır. Bu kısım benim en uzun süredir yaptığım iş.

Uygulamanın yanında genellikle bir de yönetim paneli olur: siz ya da ekibiniz içerikleri, kullanıcıları ve siparişleri oradan yönetirsiniz. Mobil uygulama, masaüstü uygulaması ve web paneli aynı API'yi kullandığında veri tek yerde durur, hiçbir bilgi iki kez girilmez. Bu tarafı yönetim paneli ve özel yazılım sayfasında ayrıntılı anlattım.

  • React Native
  • Expo
  • Electron

Uygulama geliştirme hakkında sık sorulanlar

Karar vermeden önce en çok merak edilenler.

iOS ve Android için iki ayrı uygulama mı gerekiyor?

Hayır. React Native ile tek kod tabanından iki platform için uygulama çıkarıyorum. Mağazalarda iki ayrı kayıt oluyor, ama kod ve bakım tek.

Uygulamayı mağazaya kim yüklüyor, süreç nasıl işliyor?

Geliştirici hesaplarının sizin adınıza açılmasını öneriyorum ki uygulama size ait olsun. Gönderimi ben hazırlıyorum. İncelemeyi Apple ve Google yapıyor; ne kadar süreceğine ve onay verip vermeyeceğine onlar karar veriyor. Ret gelirse gerekçesine göre düzeltip yeniden gönderiyoruz.

Yayından sonra güncellemeler nasıl yapılıyor?

Mobilde yeni sürümler mağaza üzerinden gidiyor; bazı küçük düzeltmeler mağaza incelemesi beklenmeden de gönderilebiliyor. Masaüstü uygulaması yeni sürümü kendisi indirip kuruyor. Hangi değişikliğin hangi yolla gideceğini birlikte belirliyoruz.

Mevcut web sitemle bağlantılı çalışabilir mi?

Siteniz bir API üzerinden veri sunuyorsa ya da ona bir API eklenebiliyorsa evet. Uygulama aynı ürünleri, randevuları ya da içerikleri kullanır, siz de hepsini tek yerden yönetirsiniz. Mevcut altyapınıza bakıp neyin mümkün olduğunu ilk görüşmede söylüyorum.

Masaüstü uygulaması internetsiz çalışır mı?

Baştan planlanırsa evet. Veriler bilgisayarda da tutulur, bağlantı geldiğinde sunucuyla eşitlenir. Hangi işlemlerin çevrimdışı yapılabileceğini iş akışınıza göre belirliyoruz.

Uygulama yerine telefonda iyi çalışan bir site yeterli olur mu?

Çoğu zaman evet. Ziyaretçileriniz size arada bir uğruyorsa telefona uyumlu bir site hem daha ekonomik hem de daha kolay bulunur. Uygulamayı ancak düzenli kullanım, bildirim ya da cihaz özellikleri gerçekten gerekiyorsa öneriyorum.

Uygulama fikrinizi anlatın.

Uygulamayı kimin, ne için kullanacağını kısaca yazın. Size dönüp bir görüşme ayarlayayım; web mi, mobil mi, masaüstü mü, birlikte karar verelim.