Bahagian kedua siri pembangunan produk bebas saya

Artikel sebelumnya menerangkan sumber untuk menentukan keperluan, membangunkan aplikasi bebas dan melancarkannya daripada sudut pandang pembangun iOS. Dengan sumber yang terhad, saya hanya mampu menyiapkan aplikasi utiliti yang tersedia di App Store Apple.

Artikel ini meneliti pembangunan produk berciri lengkap merentas platform, masalah yang ditemui dan penyelesaiannya. Saya akan berkongsi cara saya membina secara beransur-ansur ekosistem produk lengkap yang terdiri daripada akaun rasmi WeChat, program mini dan aplikasi.

1. Matlamat produk

Secara umum, matlamat produk ialah nilai yang disampaikan oleh produk. Walaupun terdapat situasi penggunaan, produk tanpa nilai—tidak dapat menjana wang dan hanya mempunyai sedikit pengguna—tidak mempunyai banyak sebab untuk wujud.

Atau kita boleh bermula dengan skop yang lebih besar lagi, iaitu visi produk…

Berhenti di situ. Jangan fikirkan semua itu dahulu, atau produk anda mungkin tidak pernah keluar daripada bayangan tanpa penghujung.

Apabila sumber, tenaga kerja dan pelaburan terhad, matlamat kita menjadi jelas: masalah apakah yang harus diselesaikan oleh produk, atau fungsi apakah yang mesti disediakan?

Contohnya, ketika saya membina File Manager, MVP mempunyai matlamat yang jelas: memindahkan fail antara telefon dan komputer.

Menyiapkan MVP secara semula jadi membawa keperluan lain. Sebahagiannya datang daripada rancangan produk saya, tetapi lebih banyak daripada maklum balas pengguna:

  • 1.0.0 Pindahkan fail antara telefon dan komputer
  • 1.1.0 Pratonton atau mainkan fail imej, video dan audio
  • 1.2.0 Kumpulkan, pindahkan, padamkan, mampatkan dan kongsi fail
  • 1.3.0 Perbaik pemain
  • 1.4.0 Tambahkan pengesahan keselamatan: kod laluan gerak isyarat dan biometrik
  • 2.0.0 Tambahkan pembelian dalam aplikasi
  • 2.1.0 Tambahkan pengimbasan dokumen
  • …

Tangkapan skrin asal File Manager: ciri pelayaran dan pengurusan fail

Tangkapan skrin asal File Manager: alat fail dan antara muka tambahan

Pilih satu matlamat. Ia tidak perlu besar, tetapi mesti boleh dilaksanakan. Tumpukan pada satu perkara pada satu-satu masa dan teruskan walaupun kelihatan salah—bagaimana anda tahu sebelum menyiapkannya ◔ ‸◔? Selesaikan, kemudian buat semakan.

2. Prototaip produk

Dalam artikel sebelumnya, saya menyebut bahawa saya mencuba banyak alat prototaip dan menyimpulkan bahawa saya boleh membina skrin dengan xib dalam masa yang diambil untuk mereka bentuk prototaip.

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

Pemikiran seperti ini dapat difahami ketika membina aplikasi utiliti peribadi tanpa rancangan susulan dan hanya mahu menyiapkan serta melancarkannya.

Apabila produk berkembang, bergerak selangkah demi selangkah tanpa prototaip atau rancangan akan menimbulkan masalah besar untuk pembangunan pada masa hadapan. Mereka bentuk prototaip sebenarnya ialah proses menyusun logik produk.

Berikut beberapa alat prototaip. Alat yang paling kerap saya gunakan sekarang ialah MockingBot.

3. Pengurusan projek

Selepas membangunkan dan melancarkan aplikasi iOS secara bebas, saya menyedari satu masalah serius: saya langsung tiada konsep pengurusan projek. Saya bekerja apabila ada masa atau teringat, dan tidak melakukan apa-apa apabila terasa malas.

Produk itu milik saya sendiri, direka dan dibangunkan oleh saya. Versi MVP mungkin belum mempunyai pengguna yang membayar, jadi saya tidak terasa bertanggungjawab kepada mereka.

Ini benar-benar melambatkan projek. Bekerja tanpa rancangan terlalu lama malah boleh mematikan projek.

Selepas beberapa tahun mengurus lelaran di tempat kerja, saya mendapati alat pengurusan projek juga berkesan untuk projek peribadi. Apabila ada matlamat produk yang jelas dan prototaip yang logiknya selaras, memecahkan kerja kepada tugas menjadi langkah semula jadi.

Saya menggunakan coding.net untuk pengurusan projek; perkhidmatan itu juga boleh mengehos kod sumber.

Tangkapan skrin pengurusan projek asal: kerja dipecahkan kepada tugas individu

Pecahkan tugas kepada unit yang diukur dalam jam. Ini memudahkan pengurusan dan membantu menulis kes ujian. Kebiasaan saya sekarang ialah menyiapkan kes ujian sebelum menulis kod. Ini amat penting.

Prototaip menyusun logik produk; kes ujian menyusun butiran pelaksanaan. Kes ujian yang lengkap membimbing kita kepada logik perniagaan yang betul ✅ dan mencegah banyak kesilapan perniagaan ❌.

4. Pemilihan teknologi

Sehingga kini semua ini hanyalah persediaan; kita belum mula membangun. Kesukaran utamanya ialah saya satu-satunya pembangun, tetapi mahu membina ekosistem lengkap akaun rasmi WeChat, program mini dan aplikasi.

Kita memerlukan kemahiran program mini, iOS dan Android. Mempelajari bahasa pengaturcaraan tidak begitu sukar, tetapi melaksanakan logik perniagaan yang sama tiga kali memerlukan tiga kali ganda usaha. Itu jelas tidak realistik.

Biasanya kita mungkin menggunakan web untuk berkhidmat pada pelbagai platform, malah meninggalkan aplikasi dan menumpukan pada akaun rasmi bersama program mini. Pada peringkat awal, apabila keperluan produk perlu disahkan dengan cepat, pendekatan ini sangat munasabah.

Sedikit pencarian menemukan banyak teknologi merentas platform. Untuk membina aplikasi dan program mini daripada satu pangkalan kod pada tiga platform, kita boleh menggunakan Uni-App. Ia menggunakan kerangka kerja bahagian hadapan Vue.js, manakala iOS dan Android disokong melalui Weex.

Ia mencukupi untuk produk peribadi atau produk komersial kecil.

5. Pengurusan data

Selepas penyelesaian program mini dan aplikasi ditentukan, satu lagi persoalan penting kekal: di manakah data perlu disimpan?

Bagi utiliti, menyimpan data secara setempat dalam aplikasi sudah mencukupi. Namun, bagaimana jika matlamatnya ialah platform maklumat dengan sistem pengguna lengkap, atau komuniti kandungan jana pengguna yang lebih rumit?

Uni-App menawarkan perkhidmatan uniCloud sendiri. Pembangunan pelayan boleh dilakukan dalam JavaScript, dan program mini serta aplikasi boleh menggunakan pelayan tanpa nama domain.

Saya memilih pendekatan lain: mengehos data pada platform tanpa pelayan LeanCloud. Program mini dan aplikasi mengakses pangkalan data dihoskan melalui SDK JavaScript LeanCloud.

Tahap pembangunannya menyokong 30,000 permintaan API percuma setiap hari dan turut menyediakan perkhidmatan SMS. Ini cukup untuk membina sistem pengguna, memuat naik data pengguna dan mendapatkan data platform.

Apabila permintaan melebihi kuota pembangunan, produk anda sudah mempunyai pengguna pada skala tertentu. Saya percaya hasil daripada trafik itu sepatutnya dapat membiayai tahap komersial bayar mengikut penggunaan.

Cara nakal mendapatkan data

Bagaimana jika anda mahu membina aplikasi cuaca atau maklumat tetapi tidak mempunyai data cuaca atau berita?

Terdapat banyak pasaran API di China, termasuk:

Pasaran API Alibaba Cloud

Pasaran API Tencent Cloud

Pasaran API Baidu Cloud

Juhe Data

EastApi

dan lain-lain.

Pasaran ini menawarkan API berbayar dan percuma.

  • Jika produk mempunyai cara baik untuk mengewangkan trafik, pertimbangkan API berbayar.

  • Jika tidak, pertimbangkan elaun percuma. Namun, percubaan 100 permintaan boleh habis ketika ujian. Kemudian bagaimana?

Anda boleh menggabungkan pangkalan data tanpa pelayan LeanCloud dengan pasaran API. Untuk cuaca harian, misalnya, semak pangkalan data dahulu. Jika data tiada, mintanya daripada pasaran, kemudian simpan dalam pangkalan data.

Tetapi bagaimana jika 100 permintaan masih tidak meliputi setiap bandar? Teruskan semangat mendapatkan yang percuma dan mohon pada beberapa platform.

6. Pelancaran dan operasi

Pada tahap ini, kita sudah membangunkan program mini, aplikasi dan pelayan. Bagaimanakah hendak melancarkannya?

Program mini agak mudah: di Platform Akaun Rasmi WeChat, ikuti arahan untuk memohon program mini.

Pelancaran pada iOS memerlukan akaun pembangun berbayar. Ini satu halangan, tetapi untuk operasi jangka panjang saya mengesyorkan permohonan di laman pembangun Apple. Prosesnya kini mudah: muat turun aplikasi Developer pada iPhone dan bayar di sana.

Untuk pengedaran Android, anda memerlukan pendaftaran hak cipta perisian. Permohonan biasa mungkin mengambil masa 1–2 bulan, atau anda boleh membayar ejen pihak ketiga untuk menguruskannya.

Meneruskan semangat percuma: di manakah kita boleh menyimpan imej, audio dan video bagi tempat promosi dalam aplikasi dan program mini?

Pustaka media akaun rasmi boleh menyelesaikan masalah ini. Simpan imej, audio dan video di sana, dapatkan URL asal, kemudian aplikasi dan program mini boleh mengaksesnya.

7. Menjana pendapatan

Satu cara mudah untuk mengewangkan trafik ialah pengiklanan.

Namun syarat kelayakan platform untuk penerbit semakin tinggi, menjadikan penyepaduan iklan sukar bagi pembangun bebas.

  • Uni-App menawarkan penyepaduan satu klik; lihat dokumentasinya.

  • Setelah akaun rasmi membina pengikut, ia boleh mengaktifkan ruang iklan dalam artikel.

  • Program mini boleh mengaktifkan pengewangan penerbit setelah mencapai 1,000 pelawat unik.

8. Penutup

Kini kita telah menyiapkan ekosistem akaun rasmi WeChat, program mini dan aplikasi yang diterangkan pada awal artikel.

Mengikuti langkah ini, saya menyelesaikan proses tersebut untuk tiga produk. Imbas kod untuk mencubanya:

Kod QR produk bersejarah yang asal; ketersediaannya mungkin telah berubah