Druhá časť mojej série o vývoji nezávislých produktov

Predchádzajúci článok z pohľadu vývojára iOS opisoval zdroje na určenie potreby, vývoj nezávislej aplikácie a jej vydanie. S obmedzenými zdrojmi som dokázal dokončiť iba nástrojové aplikácie dostupné v App Store spoločnosti Apple.

Tento článok sa venuje vývoju plnohodnotného produktu pre rôzne platformy, problémom, s ktorými sa stretneme, a ich riešeniam. Podelím sa o to, ako som postupne vybudoval úplný produktový ekosystém oficiálneho účtu WeChat, miniprogramu a aplikácie.

1. Ciele produktu

Vo všeobecnosti je cieľom produktu hodnota, ktorú prináša. Aj keď existuje prípad použitia, produkt bez hodnoty, ktorý nedokáže zarábať a má veľmi málo používateľov, nemá veľký dôvod existovať.

Alebo môžeme začať ešte širšie, víziou produktu…

Stačí. Zatiaľ nad tým všetkým nepremýšľajte, inak sa produkt možno nikdy nedostane za hranice nekonečných predstáv.

Keď sú zdroje, ľudia a investície obmedzené, cieľ je jasný: aké problémy má produkt vyriešiť alebo aké funkcie musí poskytovať?

Keď som napríklad vytváral Správcu súborov, MVP malo jasný cieľ: prenášať súbory medzi telefónom a počítačom.

Dokončenie MVP prirodzene prinieslo ďalšie požiadavky. Niektoré vychádzali z mojich plánov, ale viac ich prišlo zo spätnej väzby používateľov:

  • 1.0.0 Prenos súborov medzi telefónom a počítačom
  • 1.1.0 Náhľad alebo prehrávanie obrázkov, videí a zvukových súborov
  • 1.2.0 Zoskupovanie, presúvanie, mazanie, komprimovanie a zdieľanie súborov
  • 1.3.0 Vylepšenie prehrávača
  • 1.4.0 Pridanie bezpečnostného overenia: heslá so vzorom a biometria
  • 2.0.0 Pridanie nákupov v aplikácii
  • 2.1.0 Pridanie skenovania dokumentov
  • …

Pôvodná snímka Správcu súborov: prehliadanie súborov a funkcie správy

Pôvodná snímka Správcu súborov: ďalšie súborové nástroje a rozhranie

Vyberte si cieľ. Nemusí byť veľký, ale musí sa dať uskutočniť. Sústreďte sa vždy na jednu vec a pokračujte, aj keď sa zdá nesprávna — ako to môžete vedieť bez dokončenia ◔ ‸◔? Dokončite ju a potom ju zhodnoťte.

2. Prototypy produktu

V predchádzajúcom článku som spomenul, že som vyskúšal veľa prototypovacích nástrojov a dospel k záveru, že za čas potrebný na navrhnutie prototypu som mohol obrazovky vytvoriť v xib.

Tu si dovolím protirečiť ,,Ծ‸Ծ,,

Takéto uvažovanie je pochopiteľné pri osobnej nástrojovej aplikácii bez ďalšieho plánu, keď je jediným cieľom dokončiť ju a vydať.

Ako sa produkt vyvíja, postupovanie krok po kroku bez prototypu alebo plánu spôsobí vážne problémy budúcemu vývoju. Navrhovanie prototypu je v skutočnosti proces usporiadania logiky produktu.

Tu je niekoľko prototypovacích nástrojov. V súčasnosti najčastejšie používam MockingBot.

3. Riadenie projektu

Po samostatnom vytvorení a vydaní aplikácie pre iOS som si všimol vážny problém: vôbec som nerozumel riadeniu projektu. Pracoval som, keď som mal čas alebo si spomenul, a keď sa mi nechcelo, neurobil som nič.

Bol to môj produkt, ktorý som navrhol a vyvinul. MVP zrejme nemalo platiacich používateľov, takže som voči nim necítil zodpovednosť.

To projekt vážne spomaľuje. Príliš dlhá práca bez plánu ho môže dokonca zabiť.

Po niekoľkých rokoch riadenia iterácií v práci som zistil, že nástroje na riadenie projektov dobre fungujú aj pri osobných projektoch. Keď máme jasné produktové ciele a logicky súdržný prototyp, rozdelenie práce na úlohy prichádza prirodzene.

Na riadenie projektu používam coding.net; môže hostiť aj zdrojový kód.

Pôvodná snímka riadenia projektu: práca rozdelená na jednotlivé úlohy

Rozdeľte úlohy na jednotky merané v hodinách. Ľahšie sa spravujú a pomáha to pri písaní testovacích prípadov. Teraz mám vo zvyku dokončiť testovacie prípady pred programovaním. Je to nevyhnutné.

Prototyp usporadúva logiku produktu; testovacie prípady usporadúvajú podrobnosti implementácie. Úplné testovacie prípady nás vedú k správnej obchodnej logike ✅ a predchádzajú mnohým obchodným chybám ❌.

4. Výber technológie

Doteraz to bola len príprava; s vývojom sme ešte nezačali. Hlavnou ťažkosťou je, že som jediný vývojár, no chcem vytvoriť úplný ekosystém oficiálneho účtu WeChat, miniprogramu a aplikácie.

Potrebovali by sme zručnosti v miniprogramoch, iOS a Androide. Naučiť sa programovací jazyk nie je také ťažké, ale implementovať tú istú obchodnú logiku trikrát stojí trojnásobné úsilie. To je zjavne nereálne.

Bežne by sme mohli použiť web pre viac platforiem alebo dokonca opustiť aplikáciu a sústrediť sa na oficiálny účet a miniprogram. V ranej fáze, keď treba potreby produktu rýchlo overiť, je to veľmi rozumný prístup.

Krátke hľadanie odhalí mnoho multiplatformových technológií. Na vytvorenie aplikácie a miniprogramu jedným kódom pre tri platformy môžeme použiť Uni-App. Používa frontendový framework Vue.js, pričom iOS a Android podporuje Weex.

Pre osobné alebo malé komerčné produkty to postačuje.

5. Správa údajov

Po vyriešení prístupu k miniprogramu a aplikácii zostáva zásadná otázka: kde majú byť údaje?

Pri nástroji stačí ukladať údaje lokálne v aplikácii. Čo však, ak je cieľom informačná platforma s úplným používateľským systémom alebo dokonca zložitejšia komunita s obsahom používateľov?

Uni-App ponúka vlastnú službu uniCloud. Server možno vyvíjať v JavaScripte a miniprogramy aj aplikácie ho môžu používať bez názvu domény.

Vybral som iný prístup: hosťovanie údajov na bezserverovej platforme LeanCloud. Miniprogram a aplikácia pristupujú k hostovanej databáze cez JavaScript SDK LeanCloud.

Vývojová úroveň podporuje 30 000 bezplatných požiadaviek API denne a poskytuje aj SMS služby. To stačí na vytvorenie používateľského systému, nahrávanie používateľských údajov a získavanie údajov platformy.

Keď požiadavky prekročia vývojový limit, produkt získal určitú používateľskú základňu. Myslím, že príjmy z tejto návštevnosti by potom mali pokryť komerčnú úroveň platby podľa spotreby.

Prefíkaný spôsob získavania údajov

Čo ak chcete vytvoriť aplikáciu o počasí alebo informáciách, no nemáte údaje o počasí ani správy?

V Číne je mnoho trhovísk API vrátane:

Alibaba Cloud API Marketplace

Tencent Cloud API Marketplace

Baidu Cloud API Marketplace

Juhe Data

EastApi

a ďalších.

Tieto trhoviská ponúkajú platené aj bezplatné API.

  • Ak má produkt dobrý spôsob speňaženia návštevnosti, zvážte platené API.

  • Ak nie, zvážte bezplatné limity. Skúšobných 100 požiadaviek sa však môže minúť počas testovania. Čo potom?

Môžete skombinovať bezserverovú databázu LeanCloud s trhoviskom API. Pri dennom počasí najprv skontrolujte databázu. Ak údaje chýbajú, vyžiadajte ich z trhoviska a potom ich uložte do databázy.

Čo ak 100 požiadaviek stále nestačí na všetky mestá? Zachovajte ducha bezplatných riešení a požiadajte o prístup na viacerých platformách.

6. Spustenie a prevádzka

Teraz sme dokončili vývoj miniprogramu, aplikácie a servera. Ako ich spustíme?

Miniprogramy sú pomerne jednoduché: na Platforme oficiálnych účtov WeChat postupujte podľa pokynov a požiadajte o miniprogram.

Vydanie na iOS vyžaduje platený vývojársky účet. Je to prekážka, ale pri dlhodobej prevádzke odporúčam podať žiadosť na vývojárskej stránke Apple. Dnes je to jednoduché: stiahnite si aplikáciu Developer na iPhone a zaplaťte v nej.

Distribúcia pre Android vyžaduje registráciu autorských práv k softvéru. Bežná žiadosť môže trvať 1–2 mesiace alebo môžete zaplatiť externému sprostredkovateľovi.

Pokračujme v hľadaní bezplatných riešení: kam uložíme obrázky, zvuk a video pre propagačné pozície v aplikácii a miniprograme?

Knižnica médií oficiálneho účtu tento problém vyrieši. Uložte tam obrázky, zvuk a video, získajte ich pôvodné adresy URL a aplikácia aj miniprogram k nim môžu pristupovať.

7. Získavanie príjmov

Jednoduchým spôsobom speňaženia návštevnosti je reklama.

Požiadavky platforiem na vydavateľov však stále rastú, takže integrácia reklám je pre nezávislých vývojárov náročná.

  • Uni-App ponúka integráciu jedným kliknutím; pozrite si dokumentáciu.

  • Keď si oficiálny účet vybuduje publikum, môže zapnúť reklamné pozície v článkoch.

  • Miniprogram môže zapnúť speňaženie vydavateľa po dosiahnutí 1 000 jedinečných návštevníkov.

8. Záverečné myšlienky

Teraz sme dokončili ekosystém oficiálneho účtu WeChat, miniprogramu a aplikácie opísaný na začiatku.

Podľa týchto krokov som tento proces dokončil pre tri produkty. Naskenujte kódy a vyskúšajte ich:

Pôvodné historické QR kódy produktov; dostupnosť sa mohla zmeniť