Načrtovanje Multiplatform Application Development: najprej proces, nato platforma
Skladiščni vodja potrdi prejem blaga na ročnem skenerju. Dispozicija preveri isti postopek v brskalniku. Voznik potrebuje status dostave na poti na pametnem telefonu. Multiplatform application development se v tem trenutku sliši kot tehnično vprašanje. V resnici gre najprej za poslovni potek: katero delo je treba opraviti kje, s kakšno zanesljivostjo in na kateri napravi?
Za mala in srednja podjetja pravi odgovor redko glasi: vse zgradimo nativno za vsako platformo. Pogosteje glasi: opredelimo skupen proces, ciljno izberemo potrebne uporabniške vmesnike in se izognemo dvojni logiki. To ne prihrani le razvojnega proračuna. Prepreči tudi, da bi skladišče, pisarna in terenska služba delali z različnimi stanji podatkov.
Kaj mora doseči Multiplatform Application Development
Multiplatform Application Development označuje razvoj aplikacije, ki jo je mogoče uporabljati v več okoljih, na primer v spletnem brskalniku, na iOS in Androidu ali na namiznih sistemih Windows. Pojem se pogosto zoži na vprašanje, ali lahko ena sama kodna osnova ustvari več aplikacij. To je le del odločitve.
Pri operativnih sistemih je predvsem pomembno, ali aplikacija deluje na mestu uporabe. Prevzem blaga morda potrebuje kamero za zajem črtnih kod, velike upravljalne elemente za rokavice in uporabno reakcijo ob nestabilni pokritosti z WLAN. Administracija pa potrebuje tabele, filtre, koncepte pooblastil in sledljive dnevnike sprememb. Voznik potrebuje zmanjšan pogled, ne enakega vmesnika kot dispozicija.
Skupna tehnična osnova lahko te zahteve smiselno poveže. A ne sme voditi k temu, da se vsaka platforma streže kot slab kompromis. Najboljša skupna koda je brez vrednosti, če zaposleni hodijo po ovinkih, ker aplikacija ne odraža njihovega dejanskega delovnega poteka.
Najprej določiti proces, nato platformo
Preden ekipe govorijo o ogrodjih, bi morale preveriti en konkreten postopek od začetka do konca. Vzemimo dostavo: naročilo prispe, blago se komisionira, nastane dobavnica, predaja se potrdi, status pa se sporoči nazaj prodaji ali službi za stranke. Na katerem mestu danes nastane prekinitev medijev? Kje se nekaj zapiše na papir, kasneje prepiše ali povpraša po telefonu?
To opažanje loči prave zahteve platforme od seznamov želja. Če funkcijo uporabljata le dva zaposlena v pisarni, običajno zadošča dobro narejen spletni vmesnik. Če deset ljudi na tleh skladišča opravlja knjiženja, lahko mobilni vmesnik, prijazen skenerju, naredi razliko. Če mora obstoječ program Windows delati s posebno strojno opremo, je lahko potrebna namizna integracija.
Vsaka funkcija ne sodi na vsako napravo. To ni pomanjkljivost večplatformske rešitve, temveč znak čistih produktnih odločitev. Skupni podatki in poslovna pravila ne pomenijo nujno enakih zaslonov.
Tri vprašanja, ki pojasnijo stroške in korist
Prvo vprašanje se glasi: katere naprave so že v uporabi in kako dolgo bodo še? Podjetje z upravljanimi terminali Windows ima drugačne zahteve kot terenska služba z zasebnimi pametnimi telefoni. Drugo se glasi: kaj se zgodi brez omrežne povezave? Zmožnost brez povezave občutno poveča trud, ker je treba podatke lokalno shranjevati, kasneje sinhronizirati in ob konfliktih čisto obravnavati. Smiselna je, če bi se sicer proces ustavil - ne kot standardna oprema.
Tretje vprašanje zadeva posledice izpada. Ali lahko zaposleni knjiženje vnese naknadno, ali je od njega odvisna odpremna nalepka, zaloga ali varnostna sprostitev? Bolj ko je postopek kritičen, močneje je treba načrtovati pooblastila, kontrolna pravila, ponovljivost in beleženje.
Arhitektura, ki se ne razpade pri drugi platformi
Pri trajnostni rešitvi poslovna logika ni razpršena po več vmesnikih. Preverjanja zalog, spremembe stanj, številčni razponi, pooblastila in izdelava dokumentov potrebujejo osrednjo, preizkušeno osnovo. Brskalnik, mobilna aplikacija in namizni odjemalec dostopajo do nje prek jasno opredeljenih vmesnikov.
Za mnoge notranje poslovne procese je sodobna spletna aplikacija najbolj ekonomična izhodiščna točka. Mogoče jo je osrednje posodabljati, ne zahteva namestitve na vsakem delovnem mestu in deluje na računalniku, tablici in pametnem telefonu. Z PHP 8.4, sodobnim JavaScriptom in MySQL 8 je mogoče zgraditi vzdržljivo osnovo, če se podatkovni model, dostopne pravice in uvedba ne upoštevajo šele tik pred zagonom.
Nameščljiva mobilna ali namizna aplikacija se doda, kadar prinaša jasno prednost: globoko integracijo s skenerjem, tiskalnikom ali kamero, zanesljivo delovanje brez povezave, posebne funkcije v ozadju ali zahteve upravljanja naprav. To je ciljna razširitev, ne sama sebi namen.
Pogosta napaka je popolna ponovna uporaba uporabniškega vmesnika za vsako ceno. Tehnično je to lahko privlačno. V praksi nastanejo majhna besedila na velikih zaslonih, preobremenjeni obrazci na pametnih telefonih ali upravljanje, ki ne ustreza platformi. Bolje je podatkovni model, pravila in komponente deliti tam, kjer je to smiselno, upravljanje pa prilagoditi posameznemu kontekstu.
Skladnost podatkov je pomembnejša od skupne kodne osnove
Več platform poveča nevarnost protislovnih podatkov. Naročilo se spremeni v pisarni, medtem ko voznik na svoji napravi še vidi staro različico. Dva zaposlena hkrati knjižita isto zalogo artikla. Naprava brez povezave pošlje svoje spremembe nazaj šele po urah. Ti primeri niso obrobna tema, temveč jedro arhitekture.
Sistem zato potrebuje nedvoumne identitete, časovne žige, sledljive spremembe stanj in pravila za konflikte. Pri statusu dostave lahko zadošča zadnja potrjena sprememba. Pri zalogah je to pogosto pregrobo. Tam mora biti jasno, kateri premik je bil knjižen, iz katere skladiščne lokacije izvira in ali je treba popravek utemeljiti.
Tudi pooblastila je treba urediti osrednje. Zaposleni morda sme evidentirati prejeme blaga, ne pa odobravati popravkov zalog. Zunanji voznik sme videti le svojo pot. Trajanja sej, večfaktorska overitev pri kritičnih vlogah in postopki zaklepanja računa niso dekorativne varnostne funkcije. Ščitijo konkretne postopke in naredijo odgovornosti vidne.
Testirati Multiplatform Application Development tako, kot se dela
Aplikacija se lahko zažene na treh operacijskih sistemih in kljub temu odpove v poslovanju. Odločilni so poteki v resničnih pogojih: skener reagira prepočasi, tiskalnik nalepk ni dosegljiv, pooblastilo ne učinkuje po menjavi vloge ali sinhronizacija ustvari podvojena knjiženja.
Zato bi bilo treba kritične procese avtomatizirano preverjati. Sem sodijo prijava in vedenje pri zaklepanju, vnos naročil, premiki zalog, izdelava dokumentov in obdelava napačnih vnosov. Za spletne aplikacije in aplikacije Windows je mogoče ponavljajoče se teste izvajati na samostojno gostovani infrastrukturi. To je še posebej pomembno, če posnetkov zaslona, notranjih podatkov naročil ali testnih dostopov ni dovoljeno posredovati zunanjim oblačnim storitvam.
Avtomatizacija ne nadomesti preverjanja s strani ljudi na tleh skladišča. A poskrbi, da se znani poteki po spremembah vedno znova kontrolirajo. Dobra testna poročila ne imenujejo le tehnične napake, temveč prizadeti proces: dokaza o dostavi ni mogoče ustvariti, uporabniški račun ostane po uspešni sprostitvi zaklenjen ali se podatki poti ne posodabljajo.
Kdaj je strategija platforme preveč
Nekatera podjetja ne potrebujejo lastne aplikacije. Če zadošča stabilen dostop prek brskalnika, je potek redko mobilen in število uporabnikov ostaja pregledno, je odzivna spletna aplikacija pogosto smiselnejša izbira. Zmanjša vzdrževalni trud, težave z distribucijo in število možnih virov napak.
Tudi obstoječe tabele ni treba takoj nadomestiti. Če služi le kot preprosto vrednotenje, jo vzdržuje ena oseba in ne ustvarja napak podvrženih predaj, lahko izpolni svoj namen. Čas za sistem nastopi, ko znanje tiči v posameznih glavah, se različice razhajajo, poizvedbe naraščajo ali postopka ni več mogoče zanesljivo slediti.
Obratno vitka platformska strategija hitro postane premajhna, ko morajo zaposleni delati brez povezave, se priključuje strojna oprema ali stranke in partnerji potrebujejo nadzorovan dostop. Takrat se izplača dodatne zahteve zavestno financirati, namesto da se kasneje dograjujejo pod časovnim pritiskom.
Začeti z zanesljivim pilotom
Dober začetek ni katalog funkcij s sto točkami, temveč popoln, merljiv potek. Na primer: evidentirati prejem blaga, posodobiti zalogo, dokumentirati odstopanje in ustvariti nalogo za razjasnitev. Ta pilot zgodaj pokaže, ali se podatkovni model, naprave, pravice in upravljanje ujemajo.
Nato lahko rešitev raste v smiselnih korakih: komisioniranje, odprema, načrtovanje poti ali analize. Vsaka razširitev bi morala prestati isto vprašanje: ali skrajša resničen potek, zmanjša napake ali ustvari zanesljivo preglednost? Če ne, lahko počaka.
Najsmiselnejša platforma na koncu ni tista z največ tehničnimi možnostmi. Je tista, na kateri ekipa zjutraj hitreje začne z delom, med izmeno manj sprašuje in zvečer lahko sledi, kaj se je dejansko zgodilo.