A doua parte a seriei mele despre dezvoltarea produselor independente
Articolul precedent a descris resurse pentru definirea unei nevoi, dezvoltarea unei aplicații independente și lansarea ei, din perspectiva unui dezvoltator iOS. Cu resurse limitate, puteam realiza doar aplicații utilitare disponibile în App Store de la Apple.
Acest articol privește dezvoltarea unui produs cu funcționalitate completă pe mai multe platforme, problemele întâlnite și soluțiile lor. Voi împărtăși cum am construit treptat un ecosistem complet de produs format dintr-un cont oficial WeChat, un miniprogram și o aplicație.
1. Obiectivele produsului
În sens larg, obiectivul unui produs este valoarea pe care o oferă. Chiar dacă există un caz de utilizare, un produs fără valoare, care nu poate câștiga bani și are foarte puțini utilizatori, are puține motive să existe.
Sau am putea începe și mai larg, de la viziunea produsului…
Oprește-te aici. Nu te gândi încă la toate acestea, altfel produsul tău s-ar putea să nu treacă niciodată de stadiul imaginației fără sfârșit.
Când resursele, oamenii și investițiile sunt limitate, obiectivul devine clar: ce probleme trebuie să rezolve produsul sau ce funcții trebuie să ofere?
De exemplu, când am creat File Manager, MVP-ul avea un obiectiv clar: transferul fișierelor între telefon și computer.
Finalizarea MVP-ului a dus firesc la alte cerințe. Unele proveneau din planurile mele de produs, dar mai multe veneau din feedbackul utilizatorilor:
- 1.0.0 Transfer de fișiere între telefon și computer
- 1.1.0 Previzualizarea sau redarea imaginilor, fișierelor video și audio
- 1.2.0 Gruparea, mutarea, ștergerea, comprimarea și partajarea fișierelor
- 1.3.0 Îmbunătățirea playerului
- 1.4.0 Adăugarea verificării de securitate: coduri de acces prin gesturi și autentificare biometrică
- 2.0.0 Adăugarea achizițiilor în aplicație
- 2.1.0 Adăugarea scanării documentelor
- …


Alege un obiectiv. Nu trebuie să fie mare, dar trebuie să fie realizabil. Concentrează-te pe un singur lucru odată și continuă chiar dacă pare greșit; cum poți ști fără să-l termini ◔ ‸◔? Termină, apoi analizează rezultatul.
2. Prototipurile produsului
În articolul precedent am menționat că am încercat multe instrumente de prototipare și am concluzionat că aș fi putut construi ecranele cu xib în timpul necesar proiectării prototipului.
Lasă-mă să mă contrazic aici ,,Ծ‸Ծ,,
Este de înțeles să gândești astfel când creezi o aplicație utilitară personală, fără planuri ulterioare și având doar scopul de a o termina și lansa.
Pe măsură ce produsul evoluează, mersul pas cu pas fără prototip sau plan va crea probleme serioase dezvoltării viitoare. Proiectarea unui prototip este, de fapt, un proces de organizare a logicii produsului.
Iată câteva instrumente de prototipare. Cel pe care îl folosesc acum cel mai des este MockingBot.
3. Managementul proiectului
După ce am dezvoltat și lansat independent o aplicație iOS, am observat o problemă serioasă: nu aveam nicio noțiune de management de proiect. Lucram când aveam timp sau îmi aminteam și nu făceam nimic când mă cuprindea lenea.
Era propriul meu produs, proiectat și dezvoltat de mine. MVP-ul probabil nu avea utilizatori plătitori, așa că nu mă simțeam răspunzător față de ei.
Acest lucru încetinește serios un proiect. Munca fără plan, prelungită prea mult, îl poate chiar opri definitiv.
După câțiva ani de gestionare a iterațiilor la serviciu, am descoperit că instrumentele de management de proiect funcționează bine și pentru proiecte personale. Odată ce avem obiective clare și un prototip coerent logic, împărțirea muncii în sarcini vine firesc.
Folosesc coding.net pentru managementul proiectului; poate găzdui și codul sursă.

Împarte sarcinile în unități măsurate în ore. Astfel sunt mai ușor de gestionat și este mai simplu să scrii cazuri de testare. Obiceiul meu actual este să termin cazurile de testare înainte de a scrie cod. Acest lucru este esențial.
Un prototip organizează logica produsului; cazurile de testare organizează detaliile implementării. Cazurile de testare complete ne ghidează spre o logică de business corectă ✅ și previn multe erori de business ❌.
4. Alegerea tehnologiei
Până acum, toate acestea au fost pregătiri; nu am început dezvoltarea. Dificultatea principală este că sunt singurul dezvoltator, dar vreau să construiesc ecosistemul complet al unui cont oficial WeChat, unui miniprogram și unei aplicații.
Ar trebui să avem competențe pentru miniprograme, iOS și Android. Învățarea unui limbaj de programare nu este atât de grea, dar implementarea aceleiași logici de business de trei ori cere un efort triplu. Este clar nerealist.
În mod normal, am putea folosi webul pentru a deservi mai multe platforme sau chiar am renunța la aplicație, concentrându-ne pe un cont oficial și un miniprogram. La început, când cerințele produsului trebuie validate rapid, aceasta este o abordare foarte rezonabilă.
O scurtă căutare arată că există multe tehnologii multiplatformă. Pentru a construi o aplicație și un miniprogram cu o singură bază de cod pentru trei platforme, putem folosi Uni-App. Acesta folosește frameworkul frontend Vue.js, iar iOS și Android sunt acceptate prin Weex.
Este suficient pentru produse personale sau produse comerciale mici.
5. Gestionarea datelor
După stabilirea abordării pentru miniprogram și aplicație, rămâne o altă întrebare crucială: unde stocăm datele?
Pentru un utilitar, stocarea locală în aplicație este suficientă. Dar dacă obiectivul este o platformă de informații cu un sistem complet de utilizatori sau chiar o comunitate mai complexă cu conținut generat de utilizatori?
Uni-App oferă propriul serviciu uniCloud. Dezvoltarea serverului se poate face în JavaScript, iar miniprogramele și aplicațiile pot folosi serverul fără un nume de domeniu.
Eu am ales altă abordare: găzduirea datelor pe platforma serverless LeanCloud. Miniprogramul și aplicația accesează baza de date găzduită prin SDK-ul JavaScript LeanCloud.
Planul său de dezvoltare permite 30.000 de solicitări API gratuite pe zi și oferă și servicii SMS. Este suficient pentru construirea unui sistem de utilizatori, încărcarea datelor utilizatorilor și preluarea datelor platformei.
Când solicitările depășesc cota de dezvoltare, produsul tău a ajuns la un anumit număr de utilizatori. Cred că veniturile din acel trafic ar trebui atunci să acopere planul comercial cu plată în funcție de consum.
O metodă șmecheră de a obține date
Ce faci dacă vrei să creezi o aplicație meteo sau de informații, dar nu ai date meteo sau știri?
În China există multe piețe de API-uri, printre care:
Piața de API-uri Alibaba Cloud
Piața de API-uri Tencent Cloud
și altele.
Aceste piețe oferă atât API-uri plătite, cât și gratuite.
Dacă produsul tău are o modalitate bună de a monetiza traficul, ia în considerare API-urile plătite.
Dacă nu, poți folosi cotele gratuite. Dar o perioadă de probă de 100 de solicitări se poate epuiza chiar în timpul testării. Ce faci atunci?
Poți combina baza de date serverless LeanCloud cu o piață de API-uri. De exemplu, pentru vremea zilnică, interoghează mai întâi baza de date. Dacă datele lipsesc, solicită-le din piață și apoi stochează-le în baza de date.
Dar dacă 100 de solicitări tot nu acoperă toate orașele? Păstrează spiritul ofertelor gratuite și înscrie-te pe mai multe platforme.
6. Lansare și operare
În acest punct, am terminat dezvoltarea miniprogramului, aplicației și serverului. Cum le lansăm?
Miniprogramele sunt relativ simple: pe platforma conturilor oficiale WeChat, urmează instrucțiunile pentru a solicita un miniprogram.
Lansarea pe iOS necesită un cont de dezvoltator plătit. Este o barieră, dar pentru operare pe termen lung recomand să soliciți unul pe site-ul Apple pentru dezvoltatori. Acum solicitarea este simplă: descarcă aplicația Developer pe un iPhone și plătește acolo.
Pentru distribuția pe Android, ai nevoie de înregistrarea drepturilor de autor pentru software. O cerere obișnuită poate dura 1-2 luni sau poți plăti un intermediar terț să se ocupe de ea.
Continuând spiritul ofertelor gratuite: unde putem stoca imaginile, fișierele audio și video pentru spațiile promoționale din aplicație și miniprogram?
Biblioteca media a contului oficial poate rezolva problema. Stochează acolo imaginile, fișierele audio și video, obține URL-urile lor originale, iar aplicația și miniprogramul le pot accesa.
7. Obținerea veniturilor
O modalitate simplă de monetizare a traficului este publicitatea.
Însă cerințele platformelor pentru eligibilitatea editorilor cresc continuu, ceea ce face integrarea reclamelor dificilă pentru dezvoltatorii independenți.
Uni-App oferă integrare cu un singur clic; consultă documentația.
După ce un cont oficial și-a format un public, poate activa spații publicitare în articole.
Un miniprogram poate activa monetizarea pentru editori după ce ajunge la 1.000 de vizitatori unici.
8. Gânduri de încheiere
Am finalizat acum ecosistemul unui cont oficial WeChat, unui miniprogram și unei aplicații descris la început.
Urmând acești pași, am parcurs acest proces pentru trei produse. Scanează codurile pentru a le încerca:
