A független termékfejlesztésről szóló sorozatom második része
Az előző cikk iOS-fejlesztői szemszögből mutatta be az igény meghatározásához, egy független alkalmazás fejlesztéséhez és megjelentetéséhez használt forrásokat. Korlátozott erőforrásokkal csak az Apple App Store-jában elérhető segédalkalmazásokat tudtam befejezni.
Ez a cikk egy teljes értékű, többplatformos termék fejlesztéséről, a felmerülő problémákról és megoldásaikról szól. Megosztom, hogyan építettem fel lépésről lépésre egy hivatalos WeChat-fiókból, miniprogramból és alkalmazásból álló teljes termékökoszisztémát.
1. Termékcélok
Tág értelemben a termékcél az az érték, amelyet a termék nyújt. Még ha létezik is felhasználási eset, egy értéket nem adó, bevételt nem termelő és alig használt terméknek kevés oka van létezni.
Vagy indulhatunk még tágabban, a termék víziójától…
Álljunk meg. Ezen még ne gondolkodj ennyit, különben a termék talán soha nem jut túl a végtelen elképzeléseiden.
Ha kevés az erőforrás, az ember és a befektetés, a cél egyértelművé válik: milyen problémákat oldjon meg a termék, illetve milyen funkciókat kell nyújtania?
Amikor például a Fájlkezelőt készítettem, az MVP célja egyértelmű volt: fájlok átvitele telefon és számítógép között.
Az MVP befejezése természetesen új igényeket hozott. Némelyik a saját termékterveimből származott, de több érkezett a felhasználók visszajelzéseiből:
- 1.0.0 Fájlátvitel telefon és számítógép között
- 1.1.0 Kép-, videó- és hangfájlok előnézete vagy lejátszása
- 1.2.0 Fájlok csoportosítása, mozgatása, törlése, tömörítése és megosztása
- 1.3.0 A lejátszó javítása
- 1.4.0 Biztonsági ellenőrzés: gesztusalapú mintakódok és biometria
- 2.0.0 Alkalmazáson belüli vásárlások hozzáadása
- 2.1.0 Dokumentumszkennelés hozzáadása
- …


Válassz célt. Nem kell nagynak lennie, de legyen megvalósítható. Egyszerre egy dologra összpontosíts, és folytasd akkor is, ha hibásnak tűnik — honnan tudhatnád, amíg be nem fejezed ◔ ‸◔? Fejezd be, aztán értékeld.
2. Termékprototípusok
Az előző cikkben említettem, hogy sok prototípuskészítő eszközt kipróbáltam, és arra jutottam, hogy a prototípus megtervezésére fordított idő alatt xib-vel elkészíthettem volna a képernyőket.
Hadd mondjak most ellent magamnak ,,Ծ‸Ծ,,
Érthető ez a gondolkodás, ha saját segédalkalmazást készítesz további tervek nélkül, és csak befejezni és megjelentetni szeretnéd.
Ahogy a termék fejlődik, a prototípus vagy terv nélküli, lépésenkénti haladás komoly gondokat okoz a későbbi fejlesztésben. A prototípus megtervezése valójában a termék logikájának rendezése.
Íme néhány prototípuskészítő eszköz. Jelenleg a legtöbbet a MockingBot eszközt használom.
3. Projektmenedzsment
Egy iOS-alkalmazás önálló fejlesztése és kiadása után komoly problémát vettem észre: fogalmam sem volt a projektmenedzsmentről. Akkor dolgoztam, amikor volt időm vagy eszembe jutott, és semmit nem csináltam, ha lusta voltam.
A saját termékem volt, én terveztem és fejlesztettem. Az MVP-nek valószínűleg nem voltak fizető felhasználói, ezért nem éreztem felelősséget irántuk.
Ez erősen lassítja a projektet. A túl sokáig terv nélkül végzett munka akár meg is ölheti.
A munkahelyi iterációk többéves irányítása után rájöttem, hogy a projektmenedzsment-eszközök saját projektekhez is jól használhatók. Egyértelmű termékcélok és logikailag összefüggő prototípus mellett természetesen adódik a munka feladatokra bontása.
Projektmenedzsmentre a coding.net szolgáltatást használom; forráskód tárolására is alkalmas.

Bontsd a feladatokat órákban mérhető egységekre. Így könnyebb kezelni őket és teszteseteket írni. Jelenleg az a szokásom, hogy kódolás előtt befejezem a teszteseteket. Ez elengedhetetlen.
A prototípus a termék logikáját rendezi; a tesztesetek a megvalósítás részleteit. A teljes tesztesetek helyes üzleti logikához vezetnek ✅, és sok üzleti hibát megelőznek ❌.
4. Technológiaválasztás
Eddig mindez előkészület volt; a fejlesztést még nem kezdtük el. A fő nehézség az, hogy egyedül fejlesztek, mégis egy hivatalos WeChat-fiókból, miniprogramból és alkalmazásból álló teljes ökoszisztémát szeretnék építeni.
Miniprogramos, iOS-es és androidos tudásra lenne szükségünk. Egy programozási nyelv megtanulása nem olyan nehéz, de ugyanazt az üzleti logikát háromszor megvalósítani háromszoros munkát jelent. Ez nyilvánvalóan nem reális.
Általában használhatnánk a webet több platform kiszolgálására, vagy akár el is hagyhatnánk az alkalmazást, és egy hivatalos fiókra meg egy miniprogramra összpontosíthatnánk. A korai szakaszban, amikor az igényeket gyorsan kell ellenőrizni, ez nagyon észszerű megközelítés.
Egy rövid keresés sok többplatformos technológiát mutat. Alkalmazást és miniprogramot három platformra, egyetlen kódbázissal a Uni-App segítségével készíthetünk. A Vue.js frontendkeretrendszert használja, az iOS és az Android támogatását pedig a Weex biztosítja.
Saját vagy kisebb kereskedelmi termékekhez elegendő.
5. Adatkezelés
Ha a miniprogram és az alkalmazás megvalósítása eldőlt, marad egy fontos kérdés: hol legyenek az adatok?
Egy segédprogramnál elég helyben, az alkalmazásban tárolni az adatokat. De mi van, ha a cél egy teljes felhasználói rendszerrel rendelkező információs platform, vagy akár egy összetettebb, felhasználói tartalmakra épülő közösség?
A Uni-App saját uniCloud szolgáltatást kínál. A szerverfejlesztés JavaScriptben végezhető, és a miniprogramok és alkalmazások domainnév nélkül használhatják a szervert.
Más utat választottam: az adatokat a LeanCloud szerver nélküli platformon tárolom. A miniprogram és az alkalmazás a LeanCloud JavaScript SDK-ján keresztül éri el a tárolt adatbázist.
A fejlesztői csomag napi 30 000 ingyenes API-kérést támogat, és SMS-szolgáltatásokat is kínál. Ez elég felhasználói rendszer építéséhez, felhasználói adatok feltöltéséhez és platformadatok lekéréséhez.
Ha a kérések túllépik a fejlesztői keretet, a termék már elért bizonyos felhasználói méretet. Úgy gondolom, hogy a forgalom bevétele akkor már fedezheti a kereskedelmi, használat alapján fizetett csomagot.
Leleményes adatbeszerzés
Mi van, ha időjárás- vagy információs alkalmazást készítenél, de nincsenek időjárási vagy híradataid?
Kínában sok API-piactér működik, például:
és mások.
Ezek a piacterek fizetős és ingyenes API-kat is kínálnak.
Ha a terméked jól tud bevételt termelni a forgalomból, fontold meg a fizetős API-kat.
Ha nem, fontold meg az ingyenes kereteket. De a 100 kéréses próba már a tesztelés alatt elfogyhat. Mi legyen akkor?
Összekapcsolhatod a LeanCloud szerver nélküli adatbázisát egy API-piactérrel. A napi időjáráshoz például először az adatbázist kérdezd le. Ha hiányzik az adat, kérd le a piactérről, majd tárold az adatbázisban.
De mi van, ha 100 kérés még mindig nem elég minden városra? Maradj az ingyenes megoldásoknál, és igényelj hozzáférést több platformon.
6. Megjelenés és üzemeltetés
Ekkorra elkészült a miniprogram, az alkalmazás és a szerver fejlesztése. Hogyan jelenjünk meg?
A miniprogramok viszonylag egyszerűek: a WeChat hivatalos fiókok platformján kövesd a miniprogram igénylésének útmutatóját.
Az iOS-megjelenéshez fizetős fejlesztői fiók kell. Ez akadály, de hosszú távú üzemeltetéshez javaslom az igénylést az Apple fejlesztői webhelyén. Ma már egyszerű: töltsd le iPhone-ra a Developer alkalmazást, és fizess benne.
Androidos terjesztéshez szoftver-szerzőijog-regisztráció szükséges. A szokásos kérelem 1–2 hónapig is tarthat, vagy fizethetsz egy külső közvetítőnek az ügyintézésért.
Folytatva az ingyenes megoldásokat: hol tárolhatjuk az alkalmazás és a miniprogram promóciós helyeihez tartozó képeket, hangot és videót?
A hivatalos fiók médiatára megoldhatja ezt. Tárold ott a képeket, hangot és videót, szerezd meg az eredeti URL-jüket, és az alkalmazás és a miniprogram elérheti őket.
7. Bevételszerzés
A forgalomból egyszerűen szerezhetsz bevételt hirdetéssel.
A platformok kiadói jogosultsági követelményei azonban egyre szigorúbbak, ezért független fejlesztőként nehéz hirdetéseket integrálni.
A Uni-App egykattintásos integrációt kínál; lásd a dokumentációját.
Ha egy hivatalos fiók közönséget épített, hirdetési helyeket kapcsolhat be a cikkeiben.
Egy miniprogram 1000 egyedi látogató elérése után engedélyezheti a kiadói bevételszerzést.
8. Záró gondolatok
Ezzel elkészült az elején leírt hivatalos WeChat-fiókból, miniprogramból és alkalmazásból álló ökoszisztéma.
Ezeket a lépéseket követve három terméknél vittem végig a folyamatot. Olvasd be a kódokat a kipróbálásukhoz:
