Bagian kedua dari seri pengembangan produk independen saya

Artikel sebelumnya menjelaskan sumber daya untuk menentukan kebutuhan, mengembangkan aplikasi independen, dan merilisnya dari sudut pandang pengembang iOS. Dengan sumber daya terbatas, saya hanya dapat menyelesaikan aplikasi utilitas yang tersedia di App Store milik Apple.

Artikel ini membahas pengembangan produk berfitur lengkap di berbagai platform, masalah yang ditemui, dan solusinya. Saya akan membagikan bagaimana saya secara bertahap membangun ekosistem produk lengkap berupa akun resmi WeChat, program mini, dan aplikasi.

1. Tujuan produk

Secara umum, tujuan produk adalah nilai yang diberikannya. Sekalipun ada kasus penggunaan, produk tanpa nilai—tidak menghasilkan uang dan hanya memiliki sedikit pengguna—tidak punya banyak alasan untuk ada.

Atau kita dapat memulai lebih luas lagi, dari visi produk…

Berhenti dulu. Jangan pikirkan semuanya sekarang, atau produk Anda mungkin tidak pernah melampaui bayangan tanpa akhir.

Ketika sumber daya, orang, dan investasi terbatas, tujuan menjadi jelas: masalah apa yang harus diselesaikan produk, atau fungsi apa yang wajib disediakannya?

Sebagai contoh, ketika membuat File Manager, MVP saya memiliki tujuan jelas: memindahkan file antara ponsel dan komputer.

Setelah MVP selesai, kebutuhan lain muncul secara alami. Sebagian berasal dari rencana produk saya, tetapi lebih banyak dari umpan balik pengguna:

  • 1.0.0 Memindahkan file antara ponsel dan komputer
  • 1.1.0 Melihat atau memutar file gambar, video, dan audio
  • 1.2.0 Mengelompokkan, memindahkan, menghapus, memampatkan, dan membagikan file
  • 1.3.0 Menyempurnakan pemutar
  • 1.4.0 Menambahkan verifikasi keamanan: kode sandi gestur dan biometrik
  • 2.0.0 Menambahkan pembelian dalam aplikasi
  • 2.1.0 Menambahkan pemindaian dokumen
  • …

Tangkapan layar File Manager asli: fitur penelusuran dan pengelolaan file

Tangkapan layar File Manager asli: alat dan antarmuka file tambahan

Pilih satu tujuan. Tujuannya tidak harus besar, tetapi harus dapat dikerjakan. Fokus pada satu hal setiap kali dan teruskan meskipun tampak salah—bagaimana Anda tahu sebelum menyelesaikannya ◔ ‸◔? Selesaikan, lalu tinjau.

2. Prototipe produk

Di artikel sebelumnya, saya menyebutkan mencoba banyak alat prototipe dan menyimpulkan bahwa saya dapat membangun layar dengan xib dalam waktu yang dibutuhkan untuk merancang prototipe.

Izinkan saya menyangkal diri sendiri di sini ,,Ծ‸Ծ,,

Pikiran seperti itu dapat dimengerti saat membuat aplikasi utilitas pribadi tanpa rencana lanjutan dan hanya bertujuan menyelesaikan serta merilisnya.

Seiring produk berkembang, berjalan selangkah demi selangkah tanpa prototipe atau rencana akan menimbulkan masalah besar bagi pengembangan berikutnya. Merancang prototipe sebenarnya adalah proses menata logika produk.

Berikut beberapa alat prototipe. Yang paling sering saya gunakan saat ini adalah MockingBot.

3. Manajemen proyek

Setelah mengembangkan dan merilis aplikasi iOS secara mandiri, saya menyadari satu masalah serius: saya sama sekali tidak memiliki konsep manajemen proyek. Saya bekerja ketika punya waktu atau teringat, dan tidak berbuat apa-apa ketika malas.

Itu produk saya sendiri, dirancang dan dikembangkan sendiri. Versi MVP mungkin belum punya pengguna berbayar, sehingga saya tidak merasa bertanggung jawab kepada mereka.

Hal ini sangat memperlambat proyek. Bekerja tanpa rencana terlalu lama bahkan dapat mematikan proyek.

Setelah beberapa tahun mengelola iterasi di tempat kerja, saya menemukan bahwa alat manajemen proyek juga efektif untuk proyek pribadi. Begitu kita memiliki tujuan produk yang jelas dan prototipe yang logis, memecah pekerjaan menjadi tugas-tugas akan berjalan secara alami.

Saya menggunakan coding.net untuk manajemen proyek; layanan ini juga dapat menghosting kode sumber.

Tangkapan layar manajemen proyek asli: pekerjaan dipecah menjadi tugas individual

Pecah tugas menjadi unit yang diukur dalam jam. Ini memudahkan pengelolaan sekaligus penulisan kasus uji. Kebiasaan saya sekarang adalah menyelesaikan kasus uji sebelum menulis kode. Ini penting.

Prototipe menata logika produk; kasus uji menata detail implementasi. Kasus uji lengkap membimbing kita menuju logika bisnis yang benar ✅ dan mencegah banyak kesalahan bisnis ❌.

4. Memilih teknologi

Sejauh ini semuanya masih persiapan; pengembangan belum dimulai. Kesulitan utama adalah saya satu-satunya pengembang, tetapi ingin membangun ekosistem lengkap akun resmi WeChat, program mini, dan aplikasi.

Kita memerlukan keahlian program mini, iOS, dan Android. Belajar bahasa pemrograman tidak terlalu sulit, tetapi menerapkan logika bisnis yang sama tiga kali memerlukan tiga kali usaha. Itu jelas tidak realistis.

Biasanya kita dapat menggunakan web untuk melayani banyak platform, atau bahkan meninggalkan aplikasi dan berfokus pada akun resmi plus program mini. Pada tahap awal ketika kebutuhan produk harus divalidasi cepat, ini adalah pendekatan yang sangat masuk akal.

Sedikit pencarian menunjukkan banyak teknologi lintas platform. Untuk membangun aplikasi dan program mini dengan satu basis kode di tiga platform, kita dapat menggunakan Uni-App. Teknologi ini memakai kerangka frontend Vue.js, dengan dukungan iOS dan Android melalui Weex.

Itu sudah cukup untuk produk pribadi atau produk komersial kecil.

5. Manajemen data

Setelah pendekatan program mini dan aplikasi ditentukan, masih ada pertanyaan penting: di mana data harus disimpan?

Untuk utilitas, penyimpanan lokal di aplikasi sudah cukup. Namun bagaimana jika tujuannya adalah platform informasi dengan sistem pengguna lengkap, atau bahkan komunitas konten buatan pengguna yang lebih rumit?

Uni-App menawarkan layanan uniCloud sendiri. Pengembangan server dapat dilakukan dengan JavaScript, dan program mini serta aplikasi dapat memakai server tanpa nama domain.

Saya memilih pendekatan lain: menghosting data di platform serverless LeanCloud. Program mini dan aplikasi mengakses basis data yang dihosting melalui SDK JavaScript LeanCloud.

Paket pengembangannya mendukung 30.000 permintaan API gratis per hari dan juga menyediakan layanan SMS. Ini cukup untuk membangun sistem pengguna, mengunggah data pengguna, dan mengambil data platform.

Ketika permintaan melampaui kuota pengembangan, produk Anda telah memperoleh sejumlah pengguna. Saya yakin pendapatan dari lalu lintas itu seharusnya dapat menutup tingkat komersial bayar sesuai pemakaian.

Cara nakal memperoleh data

Bagaimana jika Anda ingin membuat aplikasi cuaca atau informasi tetapi tidak punya data cuaca atau berita?

Ada banyak pasar API di Tiongkok, termasuk:

Pasar API Alibaba Cloud

Pasar API Tencent Cloud

Pasar API Baidu Cloud

Juhe Data

EastApi

dan lainnya.

Pasar-pasar ini menawarkan API berbayar dan gratis.

  • Jika produk Anda memiliki cara yang baik untuk memonetisasi lalu lintas, pertimbangkan API berbayar.

  • Jika tidak, pertimbangkan kuota gratis. Namun uji coba 100 permintaan dapat habis selama pengujian. Lalu bagaimana?

Anda dapat menggabungkan basis data serverless LeanCloud dengan pasar API. Untuk cuaca harian, misalnya, tanyakan basis data lebih dahulu. Jika datanya tidak ada, minta dari pasar lalu simpan ke basis data.

Bagaimana jika 100 permintaan masih belum mencakup semua kota? Pertahankan semangat gratisan dan ajukan ke beberapa platform.

6. Peluncuran dan operasi

Pada tahap ini kita telah menyelesaikan program mini, aplikasi, dan server. Bagaimana cara meluncurkannya?

Program mini relatif mudah: di Platform Akun Resmi WeChat, ikuti petunjuk untuk mengajukan program mini.

Rilis di iOS memerlukan akun pengembang berbayar. Ini menjadi hambatan, tetapi untuk operasi jangka panjang saya menyarankan mendaftar di situs pengembang Apple. Kini prosesnya mudah: unduh aplikasi Developer di iPhone dan bayar di sana.

Untuk distribusi Android, Anda memerlukan pendaftaran hak cipta perangkat lunak. Permohonan biasa memerlukan 1–2 bulan, atau Anda dapat membayar agen pihak ketiga untuk menanganinya.

Melanjutkan semangat gratisan: di mana kita dapat menyimpan gambar, audio, dan video untuk tempat promosi di aplikasi dan program mini?

Pustaka media akun resmi dapat menyelesaikannya. Simpan gambar, audio, dan video di sana, ambil URL aslinya, lalu aplikasi dan program mini dapat mengaksesnya.

7. Menghasilkan pendapatan

Salah satu cara sederhana memonetisasi lalu lintas adalah iklan.

Namun persyaratan kelayakan penerbit di berbagai platform terus meningkat, sehingga integrasi iklan sulit bagi pengembang independen.

  • Uni-App menawarkan integrasi sekali klik; lihat dokumentasinya.

  • Setelah akun resmi membangun audiens, iklan di dalam artikel dapat diaktifkan.

  • Program mini dapat mengaktifkan monetisasi penerbit setelah mencapai 1.000 pengunjung unik.

8. Penutup

Kini kita telah menyelesaikan ekosistem akun resmi WeChat, program mini, dan aplikasi yang disebutkan di awal.

Dengan langkah-langkah ini, saya menyelesaikan proses tersebut untuk tiga produk. Pindai kode untuk mencobanya:

Kode QR produk historis asli; ketersediaan mungkin telah berubah