Kami sedang membangun serangkaian aplikasi seluler asli untuk melengkapi aplikasi kami yang ada yang saat ini hanya mendukung antarmuka web ke server. Aplikasi dapat diinstal dan di-host oleh klien di infrastruktur mereka sendiri atau di-host oleh kami sendiri untuk klien yang ingin memanfaatkannya. Pelanggan perusahaan besar biasanya memilih untuk menjadi tuan rumah sendiri sementara pelanggan yang lebih kecil memilih opsi hosting kami.
Kita perlu mendukung banyak versi aplikasi. Tidak semua pelanggan ingin memutakhirkan pada saat yang sama. Dengan antarmuka web, mendukung banyak versi tidak sulit karena antarmuka web secara otomatis menggunakan versi server yang terkait dengan instalasi servernya. Dengan aplikasi seluler di mana Anda biasanya hanya memiliki satu aplikasi yang tersedia di App Store, dukungan untuk berbagai tingkat API Server dan fungsionalitas dalam aplikasi seluler menjadi tantangan. Saya tertarik untuk mengetahui bagaimana orang lain memecahkan masalah ini. Menurut saya, Anda memiliki opsi seperti:
- Mendukung banyak versi aplikasi di app store.
- Bangun dukungan ke dalam aplikasi seluler untuk secara otomatis menentukan versi API dari server tempat ia berbicara dan merutekan panggilan ke titik akhir API server yang relevan. Juga perkenalkan gunakan beberapa jenis mekanisme sakelar fitur untuk mengaktifkan / menonaktifkan fungsionalitas dalam aplikasi seluler berdasarkan apa yang tersedia di versi server yang berbeda.
- Jangan gunakan app store untuk menyebarkan aplikasi Anda. Arahkan pengguna ke URL khusus versi yang dapat mereka gunakan untuk mengunduh dan menginstal aplikasi.
Opsi 1 - IMO akan membuat kebingungan bagi pengguna aplikasi. Juga tidak ada jalur migrasi yang bagus dari satu versi aplikasi ke yang berikutnya karena ini adalah dua aplikasi yang terpisah.
Opsi 2 - di sisi lain dapat dengan cepat menjadi sangat kompleks jika Anda memperhitungkan bahwa visual UI Anda sekarang pada dasarnya perlu beradaptasi dengan fungsionalitas apa pun yang tersedia dalam versi server API yang ia bicarakan. Itu juga perlu mendukung versi berbeda dari panggilan API server yang perlu dibuat.
Opsi 3 - dimungkinkan di dunia Android saat melakukan pemuatan samping aplikasi Anda, tetapi sejauh yang saya tahu tidak didukung di iOS dan saya tidak yakin apa gambarannya untuk aplikasi seluler Windows 10 yang akan datang.
Apa pendekatan lain yang ada untuk mengatasi masalah ini? Tolong jangan berdebat fakta bahwa kami sedang menulis aplikasi asli. Bukan itu yang saya tanyakan. Saya mencari panduan tentang bagaimana orang lain menangani masalah mendukung beberapa versi aplikasi seluler asli yang sama, berbicara dengan berbagai versi API server.