Sisukord7
Kontrollitav kelder, maa-alune parkla, ehitusplats maapiirkonnas, paksude seintega ladu: töökoht on sageli seal, kuhu võrk ei ulatu. Rakendus, mis kuvab sel hetkel veateate, on kaotanud. Tehnik kirjutab märkmikku, pildistab telefoni kaameraga ja kõik läheb tagasi teed, mille rakendus pidi kaotama: õhtune ümbertippimine, kadunud fotod, päeva hilinemisega saabuv teave.
Võrguühenduseta töö pole linnuke hinnapakkumises. See on otsuste jada, lihtsamast kalleimani, mida on parem teha teadlikult.
Lühidalt
- Võrguühenduseta tööl on kolm taset: rakendus avaneb, juba nähtud andmed jäävad vaadatavaks, sisestused ootavad võrgu naasmist.
- Kolmas tase on välitöös kõige kasulikum ja kõige kallim, sest kõik otsustatakse sünkroonimisel.
- Kaks inimest, kes muudavad võrguühenduseta sama kirjet, tõstatavad ärilise, mitte ainult tehnilise küsimuse: kellel on õigus?
- Brauserist installitav rakendus katab kaks esimest taset; kolmas on kindlam natiivses rakenduses.
- Otsus tehakse vaatluse põhjal: kus Teie meeskonnad võrgu kaotavad ja kui kauaks?
Võrguühenduseta töö kolm taset
Öelda, et rakendus „töötab võrguühenduseta“, võib tähendada kolme väga erinevat asja.
- See avaneb.
Ekraanid on telefoni salvestatud: rakendus käivitub ilma võrguta, selle asemel et näidata tühja lehte. Selle andmed vajavad aga uuendamiseks ühendust.
- Seda saab vaadata.
Juba avatud toimikud (kliendikaart, plaan, päeva tööde nimekiri) jäävad loetavaks koos viimase uuenduse kuupäevaga.
- See salvestab.
Sisestused, märgitud kastid ja fotod salvestatakse telefoni ning saadetakse võrgu naasmisel serverisse, ilma et midagi kaoks või kaks korda saadetaks.
Iga tase tugineb eelmisele ja igaüks lisab tööd. Esimene on peaaegu seadistus. Teine nõuab otsustamist, mida telefon säilitab ja kui kaua. Kolmas muudab rakenduse arhitektuuri.
Praktikast
Challenge Us avaneb ilma võrguta
Challenge Us, meie arendatud grupiväljakutsete rakendus, hoiab oma liidest vahemälus ja avaneb ka võrguühenduseta. Selle andmed tulevad serverist ja vajavad uuendamiseks ühendust: see on esimene tase, millest piisab kasutuseks, kus oma päev sisestatakse siis, kui võrk on tagasi. Üksikasjad on Challenge Usi juhtumiuuringus.
Mida võrguühenduseta töö meeskonnale muudab
Kasu ei mõõdeta funktsioonides, vaid toimingutes, mida meeskond ei pea enam tegema.
- Sisestada kohapeal, ainult üks kord. Tähelepanek tehakse seadme ees, mitte mälu järgi autosse tagasi minnes. Üksikasjad, mis kahekümne minutiga ununevad, jäävad toimikusse.
- Pole enam topeltringi. Ilma võrguühenduseta režiimita hoiab meeskond märkmikku „igaks juhuks“ ja ümbertippimine tuleb tagasi. Sellega kaob märkmik päriselt.
- Kuupäevaga tõend. Töö foto ja kellaaeg lisatakse toimikule tegemise hetkel, mitte siis, kui võrk naaseb.
- Vähem ootamist. Keegi ei otsi telefoni õhku tõstes levipulka, enne kui saab järgmise ülesande juurde minna.
Need võidud eeldavad, et rakendus on juba omaks võetud: omaksvõtu tingimused, lühikesed ekraanid ja sujuv sisselogimine, on kirjeldatud artiklis mida välitöö rakendus Teie meeskondadele muudab.
Tegelik teema: sünkroonimine
Telefoni salvestamine on lihtne osa. Töö peitub võrgu naasmises.
Võrguühenduseta sisestus telefonist serverisse
- Sisestus
Salvestatud telefoni koos kohapeal loodud unikaalse identifikaatoriga.
- Ootamine
Sisestus läheb järjekorda, mida kasutaja näeb („3 saatmist ootel“).
- Võrgu naasmine
Järjekord läheb järjest serverisse.
- Kontroll
Server kontrollib õigusi, kõrvaldab juba saadud saatmise ja lahendab konfliktid.
Selle tee kvaliteedi otsustavad kolm küsimust.
Mitte midagi kaks korda saata. Katkenud saatmist proovitakse uuesti. Kui igal sisestusel on telefonis loodud unikaalne identifikaator, tunneb server juba saadud saatmise ära ega loo topeltkirjet.
Mitte usaldada telefoni kella. Seda saab käsitsi seadistada. Sisestuse kellaaja võib telefon teadmiseks üles märkida, kuid see, mis loeb (töö päev, tähtaeg), kinnitatakse serveri poolel, nagu selgitame artiklis rakenduse turvalisus.
Teada, kellel on õigus. Kaks tehnikut muudavad sama kirjet, kumbki oma keldris. Esimene, kes võrgu tagasi saab, saadab oma versiooni; kas teine kirjutab esimese üle? Firestore, Google’i rakenduste andmebaas, kirjutab seda selgelt oma võrguühenduseta töö dokumentatsioonis: sama dokumendi mitme muudatuse korral võidab viimane kirjutus.
Meelespidamiseks
Konflikt lahendatakse ärireegliga
„Viimane kirjutus võidab“ sobib paljudele väljadele. Teiste puhul (laoseis, allkiri, vastutaja kinnitatud olek) tuleb reegel kirja panna enne arendust: liita, keelduda või teatada konfliktist inimesele. See on ettevõtte otsus, mille arendaja koodiks tõlgib.
Installitav veebirakendus või poodide rakendus
Valik installitava veebirakenduse ja natiivse rakenduse vahel, mida võrreldakse artiklis PWA või natiivne rakendus, saab erilise varjundi, kui võrku pole.
Installitav veebirakendus
Avaneb võrguühenduseta ja hoiab andmeid brauseris
Brauser võib need andmed kustutada, kui telefonis napib ruumi
Taustal saatmine võrgu naasmisel pole kõikjal saadaval
Natiivne rakendus
Hoiab oma andmeid telefonis päris andmebaasis
Sünkroonimist saab täpselt juhtida, ka suletud rakenduse korral
Läbib poed või privaatse levitamise
Veebi piirangud on dokumenteeritud. WebKit, Safari mootor, kirjeldab oma 2023. aasta salvestuspoliitikas saidi andmete automaatset kustutamist, kui kvoot on ületatud, kui seadmes napib ruumi või kui saiti pole mõnda aega kasutatud. Liides, mis võimaldab veebirakendusel saatmist võrgu naasmiseni edasi lükata, pole MDN-i dokumentatsiooni järgi saadaval mitmes enim kasutatud brauseris. Ja veebis on Firestore’i võrguühenduseta püsivus vaikimisi välja lülitatud, koos nõuandega: küsida kasutajalt enne tundlike andmete säilitamist, kas ta on usaldusväärses seadmes.
Natiivsel poolel on Expoga ehitatud rakendusel telefonis SQLite’i andmebaas, mis püsib taaskäivituste vahel. Loeb ka taustsüsteemi valik: Firestore näeb võrguühenduseta töö Androidis ja iPhone’is ette vaikimisi, samas kui Postgresi andmebaas, nagu Supabase’i oma, nõuab sünkroonimise korraldamist, nagu kirjeldab artikkel Supabase, Firebase või oma server.
Sisemise tööriista jaoks, mis peab peamiselt avanema ja olema vaadatav ilma võrguta, piisab sageli installitavast rakendusest. Kui olulised sisestused peavad üle elama päeva ilma võrguta, on natiivne rakendus kindlam.
Mida see maksab ja millal sellest loobuda
Täielik võrguühenduseta töö on üks otsuseid, mis muudavad kõige rohkem rakenduse hinda: see puudutab iga sisestusekraani, lisab teste (võrgu katkestamine keset saatmist, kaks telefoni sama kirje juures) ja seda tuleb hooldada iga versiooniga, nagu ülejäänud hoolduseelarvet.
Sellest võib loobuda, kui katkestused on lühikesed ja harvad, kui sisestus võib mõne minuti oodata või kui rakendus on peamiselt vaatamiseks. Sellest ei saa loobuda, kui meeskond veedab tunde ilma võrguta või kui kadunud sisestusel on tegelik hind: vaidlustatav tähelepanek, tõendamata tarne, uuesti arveldatud töö.
Millest alustada
- Kaardistage levita alad.
Kahe nädala jooksul märgib meeskond üles, kus võrku pole ja kui kaua.
- Liigitage toimingud.
Millised peavad toimuma ilma võrguta (tähelepaneku sisestamine, foto tegemine), millised võivad oodata (täieliku ajaloo vaatamine).
- Pange kirja konfliktireeglid.
Iga mitme inimese poolt muudetava andme puhul: kes võidab.
- Testige ilma võrguta.
Esimese versiooniga, lennukirežiimis, koos inimestega, kes seda kasutama hakkavad.
Need valikud kirjutatakse rakenduse lähteülesandesse ja testitakse varakult klikitava prototüübiga. Projekti teistel otsustel on igaühel oma artikkel: eritellimusel või valmislahendus, avaldamine oma arendajakonto all, teavitused, tellimus, kliendiportaal, tehisintellekt rakenduses, hüljatud rakenduse ülevõtmine, low-code ja vibe coding.
Korduma kippuvad küsimused
Kas veebirakendus saab töötada võrguühenduseta?
Jah, avanemiseks ja juba laaditud andmete vaatamiseks: service worker hoiab liidest vahemälus ja brauser saab andmeid salvestada. Sisestuste puhul, mis peavad kaua võrgu naasmist ootama, pakub brauser vähem tagatisi kui natiivne rakendus, mis hoiab oma andmeid telefoni andmebaasis.
Mis juhtub, kui kaks inimest muudavad võrguühenduseta sama kirjet?
See sõltub ettenähtud reeglist. Vaikimisi säilitavad paljud süsteemid serveri viimati saadud versiooni. Tundlike andmete (laoseis, kinnitatud olek) jaoks on vaja enne arendust kirja pandud ärireeglit: liita, keelduda või teatada konfliktist inimesele.
Kas võrguühenduseta režiim tõstab hinda palju?
Esimene tase (rakendus avaneb ilma võrguta) maksab vähe. Võrguühenduseta sisestamine koos sünkroonimisega maksab märgatavalt rohkem, sest see puudutab iga sisestusekraani, nõuab spetsiaalseid teste ja seda tuleb hooldada iga versiooniga. Seepärast otsustatakse selle üle kohapealse vaatluse põhjal, mitte ettevaatusest.
Kas telefoni salvestatud andmed on turvalised?
Need on ohus, kui telefon kaob või seda jagatakse. Telefonis hoitav tuleb piirata vajalikuga, väljalogimisel kustutada ja seal ei tohi kunagi hoida saladust. Veebis soovitab Firebase küsida kasutajalt enne tundlike andmete säilitamist, kas ta on usaldusväärses seadmes.
Allikad
- Firebase’i dokumentatsioon, võrguühenduseta andmetele juurdepääs (uus vahekaart)firebase.google.com
- WebKit, salvestuspoliitika uuendus, august 2023 (uus vahekaart)webkit.org
- MDN, Background Synchronization API (uus vahekaart)developer.mozilla.org
- Expo dokumentatsioon, SQLite (uus vahekaart)docs.expo.dev
Firebase’i dokumentatsioon, võrguühenduseta andmetele juurdepääs
Loe saidil firebase.google.com(uus vahekaart)Jim · Brain Plus AI asutaja
Loe veel teemal veebi- ja mobiilirakendused

Mõista5 min
Välitöö rakendus: mida see Teie meeskondadele muudab
Tehnikud, kullerid, ringil olevad müügiesindajad, ehitusmeeskonnad: siserakendus säästab neid paberist, sõnumirakendustes kaduvatest fotodest ja õhtusest ümbertippimisest. Siin on, mida see muudab ja mida on vaja, et see kasutusse jõuaks.

Mõista6 min
Küberkerksuse määrus: turvanõrkusest teatamine 24 tunni jooksul
Alates 11. septembrist 2026 peab Euroopas müüdava tarkvara või nutiseadme tootja teatama ärakasutatud turvanõrkustest ja rasketest intsidentidest 24 tunni jooksul. Keda see puudutab, millest tuleb teatada ja mida see kohustus annab ettevõttele, kes laseb rakendusi arendada või neid ostab.

Laiem pilt5 min
Tarkvara ehitada või osta 2026. aastal: keda uskuda?
Deloitte soovitab osta, BCG ehitada ja tehisintellekt teeb arenduse näiliselt kiiremaks. Mida uuringud ütlevad, mida nad ei ütle ja mis 50-liikmelise meeskonna jaoks tegelikult otsustab.
