
okay, diciamo che il mio nome è basso, sono un
sviluppatore per più di 10 anni e
il membro principale della felpa con cappuccio e Corgan
Iser della conferenza scolastica open tech e
rifiutaci per un errore di stampa da digitare e
grazie per avermi me sono super
eccitato per quello, quindi iniziamo no
molto tempo oggi ti dirò cos’è
spesso il primo concetto è in realtà e perché
ne abbiamo bisogno così tanto dove i problemi
si verificano sul client e sul server
lato come noi come sviluppatori dobbiamo
ripensare la nostra logica applicativa e lo farò
mostra un modo per implementare il
concetto perché ce ne sono molti ma sì
Te ne mostrerò una così se la prima volta è
come il nuovo bel ragazzo in città, ma cosa?
non in linea prima in realtà significa e perché
ne abbiamo bisogno di Internet ha compiuto 25 anni
l’anno scorso in questo tempo la nostra relazione
con Internet è cambiato molto che facciamo
cose diverse con dispositivi diversi
rispetto a venticinque dieci cinque anni fa
ed è una parte della nostra vita quotidiana così
per svegliarti un po ‘ chiederò
alcune domande e solo alzare il tuo
mani a chi di voi ha usato un telefono oggi
più di cinque compiti diversi più di
10 più di 15 contiamo sui nostri dispositivi
su internet ma i nostri bisogni sono cambiati
come vedi qui abbiamo raggiunto il
svolta dall’anno scorso ci sono
più mobile degli utenti desktop là fuori
in alcuni paesi ci sono già solo
utenti solo mobili come Andy punta per
esempio, fai in modo che ci sia
nessun utilizzo del dispositivo desktop
sorprenditi ma pensaci su mobile
i dispositivi sono molto più economici di un laptop
per esempio e per molte persone questo è
abbastanza completamente considerando quello che loro
effettivamente usando i loro dispositivi per così a
svegliarti un po ‘di più perché
è presto di nuovo alcune domande sollevano
le tue mani a cui hai mai provato
lavorare su un treno o un aereo come bene il
ragazza morta che tu abbia mai fatto a
screenshot delle applicazioni perché
erano troppo spaventati per aver perso i dati
giusto e sentire di te mai stato come in
al supermercato volevo chiedere a qualcuno
perché se ho ottenuto cosa comprare come a
amico qualcuno della famiglia e
mi sono reso conto che sono offline tutto il tempo
cosa succede se si raggiunge il limite del traffico
la tua moglie è troppo costosa o
i costi di roaming mi piacciono non sono ragionevoli
quelli sono problemi che tutti sappiamo anche da
i paesi ricchi per vivere oggi
il nostro lavoro un’intera interazione sociale nostra
le vite sono costruite per essere online quando
non sei online sembra quasi che
non esistono nemmeno ci servono nuovi modi per farlo
affrontare questi problemi ed essere in grado di
rimanere una parte della comunità online e
rimani in contatto con i nostri amici e i nostri
le famiglie e la situazione è peggio
nelle zone rurali con scarsa o addirittura no
copertura di rete in ricezione zero
connessioni inaffidabili e incoerenti
sono ancora un problema, non importa dove andiamo
dobbiamo accettare che la tecnologia abbia
raggiunto i limiti si allontana dal
mentalità da desktop di un permanente e veloce
connettività accettando quell’essere
offline non è un dollaro, è solo un
Stato ricorrente e iniziamo e
le applicazioni di progettazione si mantenevano spesso
prima di tutto ci sono già alcuni
davvero grandi applicazioni del mio primo
applicazioni e servizi là fuori
iniziando con le e-mail che hanno inviato il
immagine quando scriviamo quando sei online
di nuovo scrivere note durante le riunioni
con l’ I / O minuto o la creazione di elenchi con
creare liste ci aiuta a rimanere produttivi
senza inviare messaggi di errore al più presto
poiché le nostre connessioni Internet hanno perso l’invio
foto messaggi di tweets durante a
concerto mai fatto che sia davvero difficile
e diventa complicato quando tutti stanno facendo
quello alle applicazioni esatte allo stesso tempo
come Twitter il negozio almeno il nostro
messaggi e quale è grande così loro sono
non perso ma perché non inviarlo quando
siamo di nuovo online Whatsapp sink funziona
abbastanza bene almeno su Android I
ascoltato ieri quindi vedo davvero grandioso
implicazioni nel futuro di Google Maps
già implementato alcune delle cose
che è super incredibile come immagina
sei in una zona che non sei mai stato
prima e sono sicuro che ci piacerebbe esplorare
giusto così e se la tua domanda
ti avrei capito da qualche parte che non hai mai
stato prima abbastanza spazio sul tuo sul tuo
dispositivo si renderebbe conto che ho Wi-Fi I
scaricherà la mappa per te e mostrerà
ti piacciono i punti panoramici il prossimo
bar o il tuo caffè con Wi-Fi o il
ATM vicino di cui tutti abbiamo bisogno e che cosa
tipo di aiuto per sentirsi quasi a
casa così questo suona bene, ma quali sono
i veri problemi qui
confrontiamo il cellulare prima è un design
strategia che ha aiutato a far fronte alle
enorme Verity di dispositivi e funzionalità
come vedi qui allo stesso modo
offline prima è una strategia di progettazione per
aiutarti a far fronte a inconoscibile
le circostanze in relazione, voi
il tuo utente può trovare il tuo genitore
in offline prima è semplicemente loro
uomo della conoscenza che mancanza di certezza
si estende un po ‘più lontano di noi
precedentemente pensato con una modalità offline
è solo che è solo una contingenza per un
scenario d’aria ma fondamentalmente di più
flessibile modo fault tolerant di
il design dell’applicazione offline è più di
solo la gestione degli errori riguarda l’accettazione
lo stato ricorrente, quindi devi chiedere
noi stessi abbiamo bisogno dell’applicazione
per informare l’utente della corrente
stato di connessione è questa informazione
anche rilevante per l’utente e, in tal caso, come
può farlo al meglio come vedi qui
non abbiamo una connessione internet su
Instagram come può essere un bene
pratica
perché non mostrare i dati dell’utente che abbiamo salvato
nella cache o memorizzati localmente
tutti i dati possono essere preziosi per l’utente
conto solo posso dare più fiducia all’utente
nella mia applicazione e lasciandoli al sicuro
nella consapevolezza che non dimenticherà
l’ultimo stato in cui ero e che
non perderà alcun dato indipendentemente dal
situazione di connettività quindi i bisogni
non c’è bisogno di pensare a fare
screenshot delle applicazioni e come
posso comunicare all’umano quello
la creazione di dati all’interno dell’applicazione è
ancora possibile e che sarà
inviato inviato e gestita correttamente
in futuro questo è uno dei
concetti per la sicurezza penso di essere veramente
l’amore per uno nuovo non è sicuro
Indica il sito di salvataggio con sette opzioni
e lo stato sicuro e questo è come
funziona vedi l’icona nella parte superiore
a destra il tipo di utente qualcosa che il
il palcoscenico viene cambiato e poi cambiato
viene aggiornato e salvato di nuovo
automaticamente e questo sembra un
davvero una buona pratica per me organizzata
dati
come può la mia interfaccia trasmetterlo
si verificano negli utenti vista corrente quando
si riconnettono e il server si spinge di nuovo
e modificato i dati su cosa fare con eliminato
gli oggetti pensano che non possa essere organizzato in
liste o oggetti che non sono mutanti
toro e se stessi come le email come possono
Faccio la risoluzione inevitabile di
conflitti per l’umano come indolore e
il più presto possibile è un
messaggio di errore i miei dati non sono stati memorizzati
Ho capito, ma questo non aiuterà nessuno
è bello che almeno sappia che il mio
i dati non sono stati salvati ma cosa ora
facendo di nuovo tutto questo, vorrei cadere I
non lo farei
e finalmente decide l’applicazione
prendere le decisioni preferite della parte
dell’umano e precaricano qualsiasi dato loro
potrebbe essere necessario in seguito
quali sono le metriche eventualmente comportamentali
lì per basare le decisioni su e come posso
parola tutti gli scenari in un modo che
non preoccupa l’utente che lo abbraccia
offline come la realtà senza causare
problemi quelli sono i problemi che conosciamo
dai lati degli utenti dobbiamo pensare
su cosa, ma cosa significa questo per
la ricerca
e il comportamento del cliente così tradizionalmente
il server è come la fonte della verità
il cliente era sempre come un
profeta comunica sempre con
il server invia richieste in attesa di risposte
e ho detto al server che ho una cosa del genere
successo e quando il server non lo è
disponibile il panico del cliente era indifeso
e non sapevo cosa fare ma non lo faremo
pubblica alcuni dati inviati dal cliente
richieste e attese risposte ai dati
è stato memorizzato la vista è stata bollata e
precaricato di nuovo così con una richiesta asincrona
almeno il cliente non è stato chiamato e
non ha bisogno di attendere il tutto il tempo
per il server un passo avanti ma fermo
era su chiamata quindi facciamo il cliente
i tempi indipendenti sono cambiati e così il
Internet e potenziato noi e anche il
client in modo da non in linea prima che vogliamo
disaccoppiare questa relazione ma come deve
ci occupiamo dei nuovi stati e di cosa sono
in realtà il nuovo afferma uno scenario noi
tutti sanno immaginare l’ urina in un ristorante
il cliente è l’ospite e lo adorerebbe
per ordinare un po ‘di cibo e godersi la cena
la cucina è il server della cucina
conosce tutti gli ingredienti delle ricette
prepara tutti i cibi per gli ospiti
il cameriere riceve la richiesta al servizio
risposte indipendenti se si tratta di un successo
o qualcosa è fallito così come sappiamo il
concetto funziona come questo il client
decide su un piatto ordina al cameriere
serve due richieste alla cucina
il processo di cucina richiede al server
i risultati qui non saranno a
piatto ben preparato o cucina potrebbe
bruciare bene così il cameriere otterrebbe
indietro e dire agli ospiti qualcosa non funziona
sembra familiare, va bene
cosa è offline prima è come il
gli ospiti sarebbero a casa e non il
ristorante con tutti gli ingredienti e
le ricette devono essere conservate a casa quando
la persona in modo che il cliente decida sul
piatto possono cercarlo e cucinarlo
stessi questo funziona per tutto il
ingredienti che sono disponibili e
ricette che sono conosciute ma che se il
la persona decide di provare qualcosa
sapeva come un appassionato cucinare la persona
ha bisogno di chiedere la ricetta prima il
la cucina permette di condividere la conoscenza così
il cameriere riceve la ricetta
la persona che può effettivamente iniziare a
cucinare subito perché hanno capito
hey tutti i saluti sono fantastici
così offline prima significa che puoi fondamentalmente
cucinare a casa tutto ciò che vuoi e basta
funziona ma per qualcosa di completamente nuovo
abbiamo bisogno di inviare richieste e qui
sono gli scenari di notizie che il cameriere non è
a disposizione
quindi le richieste falliranno subito
cameriere, ma poi conservando la brutta copia
fare una coda e provare a inviarlo
ancora come 1 2 5 10 secondi ancora e
fastidioso il cameriere che blocca la richiesta
mostrando un errore o semplicemente ignorandolo e
fallo sparire come non è mai successo
un altro scenario fa parte della ricetta
ritorna ma non tutto perché
il cameriere ha così tanto da fare che loro
bisogno di correre di nuovo al ristorante così
la persona non potrebbe capire tutto così
se la persona cucina solo la metà del
ricetta e vedere se è sufficiente per un bene
il pasto semplicemente non cuocere a cuocere fino in fondo
come possibile e prova a chiamare il
cameriere di volta in volta può il
persona cambia la ricetta del cibo richiesta
mentre aspetta perché desidera il grano
è stato sostituito dal desiderio di fagioli e
come sarà il modo di procedere con il nuovo
chiede come possiamo mantenere la frustrazione
livello più basso possibile mentre l’ospite
sta facendo una richiesta come spesso per il
ricetta l’interfaccia qui il
interazione tra la persona e il
il cameriere dovrebbe iniziare mostrando
processo di durata non specificata
iniziato di solito fatto con questo che ama
che puoi godertelo un po ‘sì
fastidioso lo so basato su un’epoca diversa
scenari a cui l’interfaccia utente deve
conto del fatto che le richieste
fallito immediatamente o dopo un timeout o
è stata ricevuta solo una risposta parziale
10 semi fuori da scegliere in un modo che
è utile per l’ utente finale che cosa fai
penso sia un default comune sulle interfacce
che timeout basta alzare la mano e
dì numero cosa pensi che sia un
impostazione predefinita comune, basta fare una supposizione
urlo non mi dispiace nella vita reale come 30
secondi ok qualcos’altro 10 secondi
qualcos’altro ok è un minuto è
seriamente un minuto quindi qual è la tua strada
scadenza e ricorda sempre quando è
il tempo per più di un secondo si deve
mantenere l’utente occupato caricare le immagini di precarico
i dati passo dopo passo sono disponibili
e così via e così via in un caso di un tempo
là fuori dovrebbe esserci un’interfaccia utente
permettendo di annullare l’operazione così
quell’utente può applicare un timeout più breve
se ha senso alla situazione e
le risposte parziali possono essere super difficili
ma comunque molto utile per esempio
iniziando a mostrare iniziare cominciando come
la metà superiore della pagina Web o un’email
o altri messaggi il tempo necessario alla
utente da leggere che potrebbe essere
abbastanza tempo per piacere a prendere il resto di
i dati a volte non c’è nemmeno
abbastanza dati forniti per fare qualsiasi cosa a
tutto e l’interfaccia utente dovrebbe a
per lo meno conto così vedremo il
altro primo concetto super importante noi
dobbiamo ripensare al modo in cui concepiamo e costruiamo
applicazioni quindi come possiamo implementare
abbiamo bisogno di un nuovo approccio abbiamo parlato
circa prima come disaccoppiare il cliente
e il lato server e te ne mostro uno
il modo in cui la squadra di felpa con cappuccio ha inventato la felpa con cappuccio
come open source e JavaScript gratuito
biblioteca offre a come il tutto
back-end con archiviazione account utente
condivide le e-mail prima è offline
compresa la purge per essere una sincronizzazione automatica
e ha un codice dei sogni API ogni sviluppatore
capisce in un secondo abstract di felpa con cappuccio
tutto via vecchio noioso per la roba del piatto
non vuoi pensarci, quindi facciamolo
dai un’occhiata all’architettura
quindi abbiamo tre stadi come noi
avere l’applicazione
allora abbiamo lo strato di felpa con cappuccio qui
chi userebbe la felpa per conservare l’applicazione
solo mai parla con la felpa con cappuccio IP che mai
sempre direttamente al sito un lato server
codice al database o nemmeno al
nella memoria del browser
sentiti libero di sostituire la memoria locale
qui con qualsiasi fonte di ombrello del tuo
scelta da sola dovrebbe essere sufficiente
per un’applicazione quindi abbiamo la sincronizzazione
strato di errore restful e il database noi
può farlo perché ogni utente ha il suo
proprio database privato per impostazione predefinita
solo possibile accedere in modo che non possiamo condividere i dati
per caso e questo è molto semplice per
noi per decidere cosa viene sincronizzato e come
per gestire i dati di modifica, quindi vi mostrerò
come se ti avessi spiegato un messaggio diretto
muovendo attraverso il sistema crei a
messaggio nell’applicazione e inviarlo
allo strato di felpa con cappuccio lo strato di felpa con cappuccio
invia l’attività alla memoria dell’armadietto
quindi il messaggio può essere memorizzato localmente e
risultati con la promessa esattamente
allo stesso tempo invia lo stesso compito
attraverso lo stesso livello quando il dispositivo
è di nuovo online il livello di sincronizzazione spinge il
messaggio al divano per essere potrebbe
memorizzato e le attività vengono inviate ad altri
dispositivi per aggiornare i clienti perché noi
cambiato alcuni dati e il plugin ottiene
il compito di inviare il messaggio in modo principale
il punto qui è che il cliente e il
server a cui non hanno mai parlato direttamente
si lasciano l’un l’altro
compiti e messaggi e tutto questo molto
coppie libere ed eventi in base ai quali
significa che può essere interrotto in qualsiasi momento
senza rotture e messaggi e attività
sarà consegnato e verrà effettuato il warm-up on
quando possibile è progettato per
eventuale contingenza e se vuoi
masticare su capacità che non puoi mai
mai parlare direttamente al solo server
attraverso il pensare e sempre lo vuoi
mantenere una copia locale nel browser e
la sincronizzazione è veramente difficile è super difficile
non provare a farlo da solo ma
ci sono molte cose che puoi usare così
parliamo dell’attuazione noi
devono prendersi cura di due cose che noi
immagazzina un’arte
I file e i dati di Isis prendiamo una prima
guarda i valori predefiniti perché senza file
notifica e sì no dati quindi chi
hai mai sentito parlare dell’app
manifestare chi lo sta usando
chi lo ama lo dimostra il manifest
la possibilità di recuperare i file sarebbe
amo caricare dalla cache quando sei
offline Non voglio andare avanti qui
perché è super facile un sacco di
tutorial in giro solo bisogno di uno solo
la cosa che devi sapere qui è quell’app
cache per vederti fare il douchebag e molto
invecchiato sto lavorando con quello come quattro
anni ormai e fa schifo un grande
articolo di Jake Archibald perché cache app
solo una tracolla e lo riassumerò a
un po ‘ in quattro punti il primo quando
si visita un sito i file
venite sempre direttamente dalla cache quindi
dopo il rendering il browser lo farà
cercare aggiornamenti per i soldi veloci e
file memorizzati nella cache quindi è necessario ricaricare il file
pagina ogni volta per ottenere nuovi file secondo
la cache dell’app si aggiorna solo se manifest
ha cambiato HTTP ha già una cache
modello così come un po ‘insolito
soluzione che il browser guarderà solo
per gli aggiornamenti se i file elencati in
manifest o se il file manifest stesso
è cambiato dall’ultima volta del browser
controllato così ogni cambiamento che rende il
corpo il manifest diverso dal fornitore
lo farà se metti uno spazio in esso è
bene la cache dell’app è un ulteriore
non è un’alternativa così
quando il browser aggiorna l’applicazione
cache la sua richiesta o come di solito
sarebbe basato sul caching regolare
istruzioni così se dice un Cappellaio di un oggetto
Sono totalmente a posto con il browser 2022
la risorsa presunta è davvero buona fino a quando
allora e non guai servirà alcun aggiornamento
senza specifiche il browser sta prendendo
un’ipotesi e tutti sappiamo cosa succede
quando i browser stanno prendendo un’ipotesi e a
Feist che servi dovrebbe sempre avere cache
intestazioni soprattutto quando sono molto
probabilmente da aggiornare
e se pensi che sia meglio fare surf
senza contanti ma sempre con un cappellaio
e a meno che non si tratti di risorse non incassate
non caricherò su una patch di contanti quindi se tu
solo contanti come index.html ma non farlo
cache l’ immagine di sfondo non sarà
visualizzato anche quando sei online e
questi sono come il super serio
semplici punti dolenti della cache dell’app
c’è una soluzione per questo se tu ancora
Devo lavorare con la cache delle app che è il
applicazione qualsiasi Gregor Martinez a
il mio collega ha insegnato la cache dell’app
alcune maniere e sviluppare l’applicazione
e ci aiuta ad affrontare la maggior parte del
problemi che la cache dell’app ha ancora utilizzato
un iframe per i soldi veloce quindi file
provengono da un server quando sei online e
il testo del manifest è aggiornato
e c’è un’altra illuminazione civile così
potresti aver sentito parlare di
già il servo che sembra essere
come il nuovo Santo Graal di offline prima
il servicestore è una novità molto specifica
di quel lavoratore suona bene ma cosa
è quel lavoratore in realtà la maggior parte delle persone
non lo so , diamo un’occhiata a questo
prima è stato introdotto il back worker
quale le specifiche HTML5 e fa parte di
lo standard viene eseguito predefinito
Script del browser JavaScript nel tuo
browser il supporto è abbastanza buono
puoi vedere qui è supportato da tutti
respiro maggiore okay okay, ho capito bene questo
è come il caso peggiore è questo
succede se stai facendo funzionare troppi
script il tuo ritmo diventa super lento e
a volte script da cui puoi essere fermato
dopo un timeout è come il caso peggiore
quindi a volte dobbiamo fare cose del genere
quella
per esempio caricando un enorme file J’son o
eseguire un algoritmo killer su così numeri
o precaricare set di dati
immagina una diapositiva che deve essere gestita
come gli eventi dell’interfaccia utente, richiedono qualche elaborazione
grandi quantità di dati API e manipolazione
il Dom voglio dire che questo è abbastanza comune
destra
lo sappiamo tutti così sfortunatamente tutti
che non può essere fatto in eccesso
tempo a causa di limitazioni nei browser
Esecuzione script di runtime JavaScript
succede all’interno di una singola minaccia, quindi questo
significa che una logica di aggiunta giovanile può bloccare
tutta la tua applicazione e sviluppatori
amo le valute dominican-americane così
Gli eventi ASIC vengono elaborati dopo il
lo script di esecuzione corrente è terminato
Penso che il non-blocco non lo faccia
significa necessariamente operatori di concorrenza
utilizzare thread come messaggi che passano a
ottenere il parallelismo sono perfetti per
mantenendo il tuo performante aggiornato e
in risposta agli utenti, quindi all’applicazione
vedi che è molto felice il momento
è necessario aggiungere un compito enorme come accumulare
un mucchio enorme che ti tira ogni parte
dati che potresti incontrare nel tuo timeout
come pensi che sia un po ‘di tempo?
sai quando spuntano come la sceneggiatura
deve essere fermato
qual è la cosa comune nel browser
time out normale cosa pensi giusto
urlare volte nel browser il timeout
per script non l’interfaccia utente che avevamo prima
gli script 30 secondi cinque secondi 90
sono 80 millisecondi quindi dovresti
iniziare a utilizzare i lavoratori 15 millisecondi è
quando questo è un tipo di default comune
e quando sei su dispositivi mobili
sono 30 millisecondi quindi dovresti
iniziare a usare quei lavoratori per il web
le specifiche del lavoratore definiscono un’API per spawnare
script di background nel web
applicazione che ti permette di fare le cose
come accendere script di lunga durata per
gestire in termini di compiti come Oh nota
ha detto poco dopo che i thread del web worker sono stati eseguiti
il codice dall’alto verso il basso e inserito
questa faccia da faccia affondata faccia in cui loro
rispondi agli eventi e ai timer così tu
può ancora interagire con la tua applicazione
come si farebbe normalmente, ma esternalizzare
le operazioni pesanti e se falliscono
e ottenere un timeout l’applique
ancora in piedi e in esecuzione qualche salsa proprio così
cosa possiamo usare per lavorarci per la codifica
e decodifica grandi quantità di stringhe di lotti
calcoli matematici complessi come
crittografia di numeri primi e
assimilati nelle guarigioni prefetch e
ordinare i dati di caching alla grande, ecco fatto
più rete richiede i dati risultanti
elaborazione particolarmente elaborata di grandi dimensioni
errori sei tu le risposte di Jason
calcoli e manipolazione dei dati su
immagine di inizio locale e di sessione
manipolazioni e può ottenere di meglio si
evidenziazione della sintassi del codice o altro
analisi del testo in tempo reale come il controllo ortografico
alla ricerca in tempo reale analizzando o
elaborazione di video o altri dati inclusi
IO e riconoscimento del volto e della voce
e pauline.dub services Sono sicuro che tu
trovato più di due cose giuste
Chi ha fatto più di due così io vi immagino
ho trovato l’ amore che ho fatto e anche questo ragazzo ha
limiti quindi diamo un’occhiata a noi
non possiamo e non possiamo fare prima quello che noi
non può fare ed è molto o sembra
molto non possiamo accedere all’oggetto della finestra
l’oggetto documento e il genitore
oggetto quindi nessun accesso allo script di pagina
Global o funzioni
questo significa anche che non puoi usare le librerie
quello dipende dagli oggetti per funzionare no
no Jerry o su Google e scusami ma tu
può ancora usare quelli nei tuoi occhi questo
significa solo che non puoi usare quelli nella tua
worker e la prossima versione react.js
non si baserà sul browser ma continuerà a farlo
si ha realmente bisogno
pensaci così tanto, che cosa possiamo fare?
effettivamente perché i web worker hanno un
comportamento multi-thread possiamo solo
accedere a un sottoinsieme di funzionalità JavaScript
i cattivi lavoratori possono ancora accedere al
l’oggetto navigator usa la sola lettura
oggetto posizione esegue xml httprequest
lì per inviare richieste HTTP e HTTPS
Si prega di tenere a mente per dopo siamo
credici e imposta il tempo o l’ intervallo
per qualsiasi attività accedere all’applicazione
nascondiglio
gli script importati successivamente hanno generato il
altri lavoratori possiamo farlo anche noi
quindi ancora perso come iniziamo fondamentalmente a
lavoratore come questo piccolo aiuto incredibile
che si genera quando puoi passarli
del lavoro da dopo hanno finito si ottiene
restituisce un risultato e puoi generarne altrettanti
lavoratori come ti piace, ma stai attento
non bloccano i tuoi occhi ma possono farlo
utilizzare ancora un sacco di CPU in modo sostanziale
congelare affatto intendo che tutti voi conoscete il
i minatori caotici come sono basilari
può arrivare così abbiamo due tipi di lavoratori
lavoratori dedicati e condivisi dedicati
operatori web collegherò al Creatore il
Creatore è lo script che ha chiamato e
li hanno caricati sono lavoratori del web
che consente qualsiasi numero di script a
comunicare all’interno di un singolo lavoratore lì
identificato in due modi o URL o
nome esplicito e normalmente quando articoli
parla di quel lavoratore di cui parla
lavoratori dedicati, ma i lavoratori di chat sono
abbastanza importante per noi perché il servizio
lavoratore sono una specie di nostro specifico condiviso
lavoratore quindi solo un rapido sguardo come iniziare
è necessario verificare se il web worker
la proprietà nell’oggetto della finestra globale è
disponibile se non sarà indefinito loro
imbattersi in una minaccia successiva, quindi come risultato
il codice che eseguono deve essere
contenuto in un file separato e tu
devi creare un oggetto nel tuo principale
costruttore di script prende il nome di
gli script di lavoro quindi se specificato
file esiste il browser verrà generato in
il tuo thread che viene scaricato e il
il lavoratore non sarà iniziato fino al file
completamente scaricato e quindi è
eseguito e se il percorso per il tuo lavoro
ritorna come un povero quattro fallirà
Silenziosamente sciocco, quindi preparerò il
scivoli dopo non ti mostrerò i demo
perché tanto tempo l’unica cosa che tu
bisogno di sapere quale è super importante come
quando controlli come il codice
un sacco di esempi che sono super incredibili
localmente hai bisogno di inchiodare perché si verifica
di ragioni di sicurezza, di cui abbiamo parlato
il lavoratore è ora focalizzato sul servizio look
lavoratore spesso il primo concetto è diventato
uno dei più importanza vuole
segui lo sappiamo già
Jake Archibald ha capito bene l’altro
il giorno del primo significa e va avanti
schermo senza una richiesta di rete il
più che è lì prima della rete
più del mio primo è così significa
ogni applicazione web dovrebbe funzionare
senza una connessione dopo il molto
prima visita e basta usare la rete per
ottenere e impostare nuovi dati
tutto il resto è offline prima online
prima mi dispiace e tutti sappiamo che app
cache è un sacco di problemi qui
dobbiamo gestire il problema principale con
la cache delle app non è solo un numero di
grattacapi il design funziona davvero bene
dalle applicazioni della pagina dei cantanti ma non
per siti multipagina quindi
ServiceWorker
è una nuova funzionalità del browser che fornisce
script basati su eventi che vengono eseguiti
indipendentemente e che le pagine sono a
proxy di rete programmabile ti consente di
controlla come le richieste di rete dal tuo
pagina vengono gestite e aiutano gli sviluppatori a
costruire come URL friendly sempre disponibile
applicazione in modo sano e stratificata
oops
ma perché non possiamo usare i web worker per
che la differenza è quel servizio
lavoratori puoi recuperare i tuoi beni e
servirli alle cache in modo da sostituirli
la cache dell’app in cima a quella noi
esternalizzare le operazioni pesanti come
tirando l’enorme pila di immagini di Jason
su una pagina richiedi la tua richiesta di pagina
qualcosa di nuovo la richiesta passa attraverso
il servo-lavoratore quindi la rete
perché è nuovo e serve la rete
eseguire la risposta alla pagina e al
cache così perché abbiamo detto al
serviceworker prima di memorizzare il grasso in
prendere la risposta è davvero grande
sfaccettature e qui abbiamo lo stesso uso
caso ma
Kano abbiamo già memorizzato la richiesta
acido o dati nella cache già così
è servito direttamente dalla cache quindi
possiamo aggiungere il comportamento a cui dovrebbe andare
la rete e controlla se c’è un
aggiornamento disponibile e che è fantastico così
risparmia molto tempo e richieste
perché sei in grado di controllare il tutto
comportamento e un’altra caratteristica come
salva risorse
a differenza di altri lavoratori, il lavoratore può essere
spegnere in ogni singola serie degli eventi tutte le
i lavoratori stanno solo correndo tutto il tempo
lo sfondo del lavoratore di servizio non è
e siamo stati terminati quando non in uso
e abbiamo iniziato quando è stato necessario
non puoi fare affidamento sul fatto che il globale sia rimasto all’interno
il servizio funziona su fetch e su messaggio
gestori ma se hai bisogno di persistere e
ridurre attraverso la ricerca e il
informazioni di servizio lavoratore accesso dal vivo
alla API indexdb così che è bene
i lavoratori del servizio hanno cache con script
insieme alla capacità di rispondere a
richieste di rete da determinate pagine via
script per fornire un modo per le applicazioni
per andare bene i principali vantaggi sono quelli
l’addetto all’assistenza non si limita a memorizzare nella cache
File
supporta anche la sincronizzazione in background
e aumenta le tue prestazioni
enormemente e ti dà supporto per
inviare notifiche in modo che i lavoratori facciano
ampio uso di promesse che dovresti essere
familiarità con il concetto prima
iniziando a utilizzare i lavoratori del servizio e come
l’ultima parte del Service Worker I
ti dirò come il Service Worker
vivere Celica funziona perché è davvero
bello dentro per installare un lavoratore di servizio
da un sito è necessario registrarlo come
abbiamo visto prima con gli operai lo farà
causa il browser per avviare il servizio
lavoratore e ancora passo in background
tipicamente durante il passaggio di installazione
vuoi mettere in cache alcune risorse statiche, quindi se
tutti gli incendi sono una cache con successo allora
il tecnico dell’assistenza viene installato e
se qualcuno di questi fallisce come il download
le risorse e prenderle poi lo farà
il passo fallirà silenziosamente
ma e il lavoratore di servizio non lo farà
attivare ma non preoccuparti di questo
proveremo la prossima volta quando installeremo
la fase di attivazione che seguiremo e
questo è un grande
Trinity per te per maneggiare qualsiasi
gestione delle vecchie cache dopo il
fase di attivazione sarà il lavoratore del servizio
controlla tutte le pagine che rientrano in quella
portata la pagina che ha registrato il
il lavoratore di servizio per la prima volta non lo farà
essere controllato fino a quando non viene caricato di nuovo
così una volta che il lavoratore del servizio ha il controllo
sarà anche in uno dei due stati
è terminato memoria sicura o volontà
gestire gli eventi di recupero e messaggi che
si verificano quando una richiesta o un messaggio di rete
è fatto dal tuo servizio di pagina web è
ancora in sviluppo ma piuttosto lontano
già finalmente ottengono Safari sul
barca e in via di sviluppo – così è
ottimo ed è parzialmente spedito che posso
offri Chrome edge Safari e se vuoi
immergersi più a fondo nel discorso del servicestore
progetto archibald l’anno scorso appena arrivato
per te i suoi discorsi sono super divertenti
leggendario e lui è davvero fantastico ragazzi così
guarda che il link sarà online e
C’è anche il libro di cucina per cui dobbiamo
veloce dobbiamo ancora prendere la cosa prendere
cura di una cosa i dati così alla fine
prima legge della robotica
sì , non fare del male a nessun essere umano lo sai
quale sia la prima legge di offline prima
prendere un gas abbastanza vicino abbastanza vicino
molto bene non perdere i dati questo è
come la prima legge della linea prima
disaccoppiamo il client e il server
lato così abbiamo davvero bisogno di memorizzarlo
entrambi i lati
quindi ci fidiamo della custodia per il cliente
e divano per il lato server ci sono
come una squadra perfetta per il primo offline
rendono CouchDB semplice e veloce non è
database di incantesimi che replica che è
esattamente ciò di cui abbiamo bisogno per il divano di sincronizzazione
essere fornito con il seme di caratteristiche come
trasformazione del documento al volo
notifica delle modifiche in tempo reale su cui ci basiamo
con i nostri messaggi e compiti lo sistema
ha anche un controllo di versione molto semplice
sistema che ci ha aiutato a
hai gestito i dati e quando sei il tuo
Dati esce di sincronizzazione rende tipo di
decisioni automatiche intelligenti e aiuto
per unire i percorsi dei dati per essere come un
database JavaScript open source ispirato
da divano che è progettato per funzionare bene
nel browser e memorizza tutti i tuoi
dati localmente mentre offline
pedda fold usa l’indice per essere in Chrome
e Firefox Web SQL per Safari da memorizzare
i dati e puoi anche aggiungere degli adattatori
per la sessione locale inizia la sincronizzazione con
divano per essere e servizio compatibile che
accelera il protocollo di replica CouchDB
come Cloudant o in pullman zona fuga
quando l’applicazione è di nuovo online
funziona anche su dispositivi mobili per
applicazioni native per esempio con
PhoneGap cordova e molti altri ancora
cosa speciale di felpa con cappuccio è quella di tutti
l’utente ha il proprio database privato come
Ho menzionato prima ed è festa dei pirati
pieghe così morbido un sacco di problemi dal
get-go mm-hmm
quando abbiamo un database per utente tu
sai sempre dove cantare quando il
la versione del documento non è aggiornata
possiamo controllare per membro attivo dell’app
versione ID e cosa è Justin prima e
come unire i dati senza reale
conflitti quando riceviamo dati parziali
memorizziamo la versione del documento e
può afferrarlo prima di più durante e
grazie al compito di ascolto listener dell’evento
puoi sincronizzare i dati su tutti i dispositivi così
questo significa che abbiamo più dispositivi in uso
al volo
se vuoi condividere i dati sicuro quando
vuoi condividere alcuni dati privati tu
può pubblicarlo e ottiene solo
replicato e altri possono leggere o leggere
e manipolare i dati e siamo in grado
per sincronizzarlo nuovamente nella nostra applicazione
logica nel DB di archiviazione privata
è anche un client couchdb e tu sei
in grado di passare da un database locale
e un’istanza CouchDB online senza
cambiare qualsiasi codice dell’applicazione in modo che a
domanda mi viene chiesto molto quanti dati
può essere custodito per essere conservato
quindi ho preparato qualcosa di carino in Firefox
sacchetto per essere utilizza indexdb che chiederà
se i dati possono essere memorizzati per la prima volta
viene tentato poi dopo 50 MB ogni volta
memorizzato la quantità di dati può essere memorizzata
come cronometro illimitato calcola molto cool
la quantità di spazio disponibile su
il disco rigido e utilizzare questa scheda per
calcolare i limiti
Oprah funziona allo stesso modo di Chrome perché
lampeggia Internet Explorer superiore a 10 difficile a
Non 50 al di sotto non parliamo di quella
Mobile Safari è difficile da Safari desktop 50
richiede più di quando vuoi archiviare
più di 5 fino a 500 MB Android come
Chrome 4.4 e versioni successive hard 200 e
foto Cordoba illimitata sia su iOS che su
Android utilizzando il plug-in SQLite così a
molte informazioni che spero di poter dare
tu un piccolo insight qualsiasi concetto di
offline prima e come costruire
applicazioni che gestiscono come frutta
non solo un bug ma è una funzionalità
in realtà e se ti piace dire ciao o
Prendi alcuni adesivi felpa con cappuccio ne ho alcuni
qui quindi sarò in giro quindi grazie mille
tanto
sviluppatore per più di 10 anni e
il membro principale della felpa con cappuccio e Corgan
Iser della conferenza scolastica open tech e
rifiutaci per un errore di stampa da digitare e
grazie per avermi me sono super
eccitato per quello, quindi iniziamo no
molto tempo oggi ti dirò cos’è
spesso il primo concetto è in realtà e perché
ne abbiamo bisogno così tanto dove i problemi
si verificano sul client e sul server
lato come noi come sviluppatori dobbiamo
ripensare la nostra logica applicativa e lo farò
mostra un modo per implementare il
concetto perché ce ne sono molti ma sì
Te ne mostrerò una così se la prima volta è
come il nuovo bel ragazzo in città, ma cosa?
non in linea prima in realtà significa e perché
ne abbiamo bisogno di Internet ha compiuto 25 anni
l’anno scorso in questo tempo la nostra relazione
con Internet è cambiato molto che facciamo
cose diverse con dispositivi diversi
rispetto a venticinque dieci cinque anni fa
ed è una parte della nostra vita quotidiana così
per svegliarti un po ‘ chiederò
alcune domande e solo alzare il tuo
mani a chi di voi ha usato un telefono oggi
più di cinque compiti diversi più di
10 più di 15 contiamo sui nostri dispositivi
su internet ma i nostri bisogni sono cambiati
come vedi qui abbiamo raggiunto il
svolta dall’anno scorso ci sono
più mobile degli utenti desktop là fuori
in alcuni paesi ci sono già solo
utenti solo mobili come Andy punta per
esempio, fai in modo che ci sia
nessun utilizzo del dispositivo desktop
sorprenditi ma pensaci su mobile
i dispositivi sono molto più economici di un laptop
per esempio e per molte persone questo è
abbastanza completamente considerando quello che loro
effettivamente usando i loro dispositivi per così a
svegliarti un po ‘di più perché
è presto di nuovo alcune domande sollevano
le tue mani a cui hai mai provato
lavorare su un treno o un aereo come bene il
ragazza morta che tu abbia mai fatto a
screenshot delle applicazioni perché
erano troppo spaventati per aver perso i dati
giusto e sentire di te mai stato come in
al supermercato volevo chiedere a qualcuno
perché se ho ottenuto cosa comprare come a
amico qualcuno della famiglia e
mi sono reso conto che sono offline tutto il tempo
cosa succede se si raggiunge il limite del traffico
la tua moglie è troppo costosa o
i costi di roaming mi piacciono non sono ragionevoli
quelli sono problemi che tutti sappiamo anche da
i paesi ricchi per vivere oggi
il nostro lavoro un’intera interazione sociale nostra
le vite sono costruite per essere online quando
non sei online sembra quasi che
non esistono nemmeno ci servono nuovi modi per farlo
affrontare questi problemi ed essere in grado di
rimanere una parte della comunità online e
rimani in contatto con i nostri amici e i nostri
le famiglie e la situazione è peggio
nelle zone rurali con scarsa o addirittura no
copertura di rete in ricezione zero
connessioni inaffidabili e incoerenti
sono ancora un problema, non importa dove andiamo
dobbiamo accettare che la tecnologia abbia
raggiunto i limiti si allontana dal
mentalità da desktop di un permanente e veloce
connettività accettando quell’essere
offline non è un dollaro, è solo un
Stato ricorrente e iniziamo e
le applicazioni di progettazione si mantenevano spesso
prima di tutto ci sono già alcuni
davvero grandi applicazioni del mio primo
applicazioni e servizi là fuori
iniziando con le e-mail che hanno inviato il
immagine quando scriviamo quando sei online
di nuovo scrivere note durante le riunioni
con l’ I / O minuto o la creazione di elenchi con
creare liste ci aiuta a rimanere produttivi
senza inviare messaggi di errore al più presto
poiché le nostre connessioni Internet hanno perso l’invio
foto messaggi di tweets durante a
concerto mai fatto che sia davvero difficile
e diventa complicato quando tutti stanno facendo
quello alle applicazioni esatte allo stesso tempo
come Twitter il negozio almeno il nostro
messaggi e quale è grande così loro sono
non perso ma perché non inviarlo quando
siamo di nuovo online Whatsapp sink funziona
abbastanza bene almeno su Android I
ascoltato ieri quindi vedo davvero grandioso
implicazioni nel futuro di Google Maps
già implementato alcune delle cose
che è super incredibile come immagina
sei in una zona che non sei mai stato
prima e sono sicuro che ci piacerebbe esplorare
giusto così e se la tua domanda
ti avrei capito da qualche parte che non hai mai
stato prima abbastanza spazio sul tuo sul tuo
dispositivo si renderebbe conto che ho Wi-Fi I
scaricherà la mappa per te e mostrerà
ti piacciono i punti panoramici il prossimo
bar o il tuo caffè con Wi-Fi o il
ATM vicino di cui tutti abbiamo bisogno e che cosa
tipo di aiuto per sentirsi quasi a
casa così questo suona bene, ma quali sono
i veri problemi qui
confrontiamo il cellulare prima è un design
strategia che ha aiutato a far fronte alle
enorme Verity di dispositivi e funzionalità
come vedi qui allo stesso modo
offline prima è una strategia di progettazione per
aiutarti a far fronte a inconoscibile
le circostanze in relazione, voi
il tuo utente può trovare il tuo genitore
in offline prima è semplicemente loro
uomo della conoscenza che mancanza di certezza
si estende un po ‘più lontano di noi
precedentemente pensato con una modalità offline
è solo che è solo una contingenza per un
scenario d’aria ma fondamentalmente di più
flessibile modo fault tolerant di
il design dell’applicazione offline è più di
solo la gestione degli errori riguarda l’accettazione
lo stato ricorrente, quindi devi chiedere
noi stessi abbiamo bisogno dell’applicazione
per informare l’utente della corrente
stato di connessione è questa informazione
anche rilevante per l’utente e, in tal caso, come
può farlo al meglio come vedi qui
non abbiamo una connessione internet su
Instagram come può essere un bene
pratica
perché non mostrare i dati dell’utente che abbiamo salvato
nella cache o memorizzati localmente
tutti i dati possono essere preziosi per l’utente
conto solo posso dare più fiducia all’utente
nella mia applicazione e lasciandoli al sicuro
nella consapevolezza che non dimenticherà
l’ultimo stato in cui ero e che
non perderà alcun dato indipendentemente dal
situazione di connettività quindi i bisogni
non c’è bisogno di pensare a fare
screenshot delle applicazioni e come
posso comunicare all’umano quello
la creazione di dati all’interno dell’applicazione è
ancora possibile e che sarà
inviato inviato e gestita correttamente
in futuro questo è uno dei
concetti per la sicurezza penso di essere veramente
l’amore per uno nuovo non è sicuro
Indica il sito di salvataggio con sette opzioni
e lo stato sicuro e questo è come
funziona vedi l’icona nella parte superiore
a destra il tipo di utente qualcosa che il
il palcoscenico viene cambiato e poi cambiato
viene aggiornato e salvato di nuovo
automaticamente e questo sembra un
davvero una buona pratica per me organizzata
dati
come può la mia interfaccia trasmetterlo
si verificano negli utenti vista corrente quando
si riconnettono e il server si spinge di nuovo
e modificato i dati su cosa fare con eliminato
gli oggetti pensano che non possa essere organizzato in
liste o oggetti che non sono mutanti
toro e se stessi come le email come possono
Faccio la risoluzione inevitabile di
conflitti per l’umano come indolore e
il più presto possibile è un
messaggio di errore i miei dati non sono stati memorizzati
Ho capito, ma questo non aiuterà nessuno
è bello che almeno sappia che il mio
i dati non sono stati salvati ma cosa ora
facendo di nuovo tutto questo, vorrei cadere I
non lo farei
e finalmente decide l’applicazione
prendere le decisioni preferite della parte
dell’umano e precaricano qualsiasi dato loro
potrebbe essere necessario in seguito
quali sono le metriche eventualmente comportamentali
lì per basare le decisioni su e come posso
parola tutti gli scenari in un modo che
non preoccupa l’utente che lo abbraccia
offline come la realtà senza causare
problemi quelli sono i problemi che conosciamo
dai lati degli utenti dobbiamo pensare
su cosa, ma cosa significa questo per
la ricerca
e il comportamento del cliente così tradizionalmente
il server è come la fonte della verità
il cliente era sempre come un
profeta comunica sempre con
il server invia richieste in attesa di risposte
e ho detto al server che ho una cosa del genere
successo e quando il server non lo è
disponibile il panico del cliente era indifeso
e non sapevo cosa fare ma non lo faremo
pubblica alcuni dati inviati dal cliente
richieste e attese risposte ai dati
è stato memorizzato la vista è stata bollata e
precaricato di nuovo così con una richiesta asincrona
almeno il cliente non è stato chiamato e
non ha bisogno di attendere il tutto il tempo
per il server un passo avanti ma fermo
era su chiamata quindi facciamo il cliente
i tempi indipendenti sono cambiati e così il
Internet e potenziato noi e anche il
client in modo da non in linea prima che vogliamo
disaccoppiare questa relazione ma come deve
ci occupiamo dei nuovi stati e di cosa sono
in realtà il nuovo afferma uno scenario noi
tutti sanno immaginare l’ urina in un ristorante
il cliente è l’ospite e lo adorerebbe
per ordinare un po ‘di cibo e godersi la cena
la cucina è il server della cucina
conosce tutti gli ingredienti delle ricette
prepara tutti i cibi per gli ospiti
il cameriere riceve la richiesta al servizio
risposte indipendenti se si tratta di un successo
o qualcosa è fallito così come sappiamo il
concetto funziona come questo il client
decide su un piatto ordina al cameriere
serve due richieste alla cucina
il processo di cucina richiede al server
i risultati qui non saranno a
piatto ben preparato o cucina potrebbe
bruciare bene così il cameriere otterrebbe
indietro e dire agli ospiti qualcosa non funziona
sembra familiare, va bene
cosa è offline prima è come il
gli ospiti sarebbero a casa e non il
ristorante con tutti gli ingredienti e
le ricette devono essere conservate a casa quando
la persona in modo che il cliente decida sul
piatto possono cercarlo e cucinarlo
stessi questo funziona per tutto il
ingredienti che sono disponibili e
ricette che sono conosciute ma che se il
la persona decide di provare qualcosa
sapeva come un appassionato cucinare la persona
ha bisogno di chiedere la ricetta prima il
la cucina permette di condividere la conoscenza così
il cameriere riceve la ricetta
la persona che può effettivamente iniziare a
cucinare subito perché hanno capito
hey tutti i saluti sono fantastici
così offline prima significa che puoi fondamentalmente
cucinare a casa tutto ciò che vuoi e basta
funziona ma per qualcosa di completamente nuovo
abbiamo bisogno di inviare richieste e qui
sono gli scenari di notizie che il cameriere non è
a disposizione
quindi le richieste falliranno subito
cameriere, ma poi conservando la brutta copia
fare una coda e provare a inviarlo
ancora come 1 2 5 10 secondi ancora e
fastidioso il cameriere che blocca la richiesta
mostrando un errore o semplicemente ignorandolo e
fallo sparire come non è mai successo
un altro scenario fa parte della ricetta
ritorna ma non tutto perché
il cameriere ha così tanto da fare che loro
bisogno di correre di nuovo al ristorante così
la persona non potrebbe capire tutto così
se la persona cucina solo la metà del
ricetta e vedere se è sufficiente per un bene
il pasto semplicemente non cuocere a cuocere fino in fondo
come possibile e prova a chiamare il
cameriere di volta in volta può il
persona cambia la ricetta del cibo richiesta
mentre aspetta perché desidera il grano
è stato sostituito dal desiderio di fagioli e
come sarà il modo di procedere con il nuovo
chiede come possiamo mantenere la frustrazione
livello più basso possibile mentre l’ospite
sta facendo una richiesta come spesso per il
ricetta l’interfaccia qui il
interazione tra la persona e il
il cameriere dovrebbe iniziare mostrando
processo di durata non specificata
iniziato di solito fatto con questo che ama
che puoi godertelo un po ‘sì
fastidioso lo so basato su un’epoca diversa
scenari a cui l’interfaccia utente deve
conto del fatto che le richieste
fallito immediatamente o dopo un timeout o
è stata ricevuta solo una risposta parziale
10 semi fuori da scegliere in un modo che
è utile per l’ utente finale che cosa fai
penso sia un default comune sulle interfacce
che timeout basta alzare la mano e
dì numero cosa pensi che sia un
impostazione predefinita comune, basta fare una supposizione
urlo non mi dispiace nella vita reale come 30
secondi ok qualcos’altro 10 secondi
qualcos’altro ok è un minuto è
seriamente un minuto quindi qual è la tua strada
scadenza e ricorda sempre quando è
il tempo per più di un secondo si deve
mantenere l’utente occupato caricare le immagini di precarico
i dati passo dopo passo sono disponibili
e così via e così via in un caso di un tempo
là fuori dovrebbe esserci un’interfaccia utente
permettendo di annullare l’operazione così
quell’utente può applicare un timeout più breve
se ha senso alla situazione e
le risposte parziali possono essere super difficili
ma comunque molto utile per esempio
iniziando a mostrare iniziare cominciando come
la metà superiore della pagina Web o un’email
o altri messaggi il tempo necessario alla
utente da leggere che potrebbe essere
abbastanza tempo per piacere a prendere il resto di
i dati a volte non c’è nemmeno
abbastanza dati forniti per fare qualsiasi cosa a
tutto e l’interfaccia utente dovrebbe a
per lo meno conto così vedremo il
altro primo concetto super importante noi
dobbiamo ripensare al modo in cui concepiamo e costruiamo
applicazioni quindi come possiamo implementare
abbiamo bisogno di un nuovo approccio abbiamo parlato
circa prima come disaccoppiare il cliente
e il lato server e te ne mostro uno
il modo in cui la squadra di felpa con cappuccio ha inventato la felpa con cappuccio
come open source e JavaScript gratuito
biblioteca offre a come il tutto
back-end con archiviazione account utente
condivide le e-mail prima è offline
compresa la purge per essere una sincronizzazione automatica
e ha un codice dei sogni API ogni sviluppatore
capisce in un secondo abstract di felpa con cappuccio
tutto via vecchio noioso per la roba del piatto
non vuoi pensarci, quindi facciamolo
dai un’occhiata all’architettura
quindi abbiamo tre stadi come noi
avere l’applicazione
allora abbiamo lo strato di felpa con cappuccio qui
chi userebbe la felpa per conservare l’applicazione
solo mai parla con la felpa con cappuccio IP che mai
sempre direttamente al sito un lato server
codice al database o nemmeno al
nella memoria del browser
sentiti libero di sostituire la memoria locale
qui con qualsiasi fonte di ombrello del tuo
scelta da sola dovrebbe essere sufficiente
per un’applicazione quindi abbiamo la sincronizzazione
strato di errore restful e il database noi
può farlo perché ogni utente ha il suo
proprio database privato per impostazione predefinita
solo possibile accedere in modo che non possiamo condividere i dati
per caso e questo è molto semplice per
noi per decidere cosa viene sincronizzato e come
per gestire i dati di modifica, quindi vi mostrerò
come se ti avessi spiegato un messaggio diretto
muovendo attraverso il sistema crei a
messaggio nell’applicazione e inviarlo
allo strato di felpa con cappuccio lo strato di felpa con cappuccio
invia l’attività alla memoria dell’armadietto
quindi il messaggio può essere memorizzato localmente e
risultati con la promessa esattamente
allo stesso tempo invia lo stesso compito
attraverso lo stesso livello quando il dispositivo
è di nuovo online il livello di sincronizzazione spinge il
messaggio al divano per essere potrebbe
memorizzato e le attività vengono inviate ad altri
dispositivi per aggiornare i clienti perché noi
cambiato alcuni dati e il plugin ottiene
il compito di inviare il messaggio in modo principale
il punto qui è che il cliente e il
server a cui non hanno mai parlato direttamente
si lasciano l’un l’altro
compiti e messaggi e tutto questo molto
coppie libere ed eventi in base ai quali
significa che può essere interrotto in qualsiasi momento
senza rotture e messaggi e attività
sarà consegnato e verrà effettuato il warm-up on
quando possibile è progettato per
eventuale contingenza e se vuoi
masticare su capacità che non puoi mai
mai parlare direttamente al solo server
attraverso il pensare e sempre lo vuoi
mantenere una copia locale nel browser e
la sincronizzazione è veramente difficile è super difficile
non provare a farlo da solo ma
ci sono molte cose che puoi usare così
parliamo dell’attuazione noi
devono prendersi cura di due cose che noi
immagazzina un’arte
I file e i dati di Isis prendiamo una prima
guarda i valori predefiniti perché senza file
notifica e sì no dati quindi chi
hai mai sentito parlare dell’app
manifestare chi lo sta usando
chi lo ama lo dimostra il manifest
la possibilità di recuperare i file sarebbe
amo caricare dalla cache quando sei
offline Non voglio andare avanti qui
perché è super facile un sacco di
tutorial in giro solo bisogno di uno solo
la cosa che devi sapere qui è quell’app
cache per vederti fare il douchebag e molto
invecchiato sto lavorando con quello come quattro
anni ormai e fa schifo un grande
articolo di Jake Archibald perché cache app
solo una tracolla e lo riassumerò a
un po ‘ in quattro punti il primo quando
si visita un sito i file
venite sempre direttamente dalla cache quindi
dopo il rendering il browser lo farà
cercare aggiornamenti per i soldi veloci e
file memorizzati nella cache quindi è necessario ricaricare il file
pagina ogni volta per ottenere nuovi file secondo
la cache dell’app si aggiorna solo se manifest
ha cambiato HTTP ha già una cache
modello così come un po ‘insolito
soluzione che il browser guarderà solo
per gli aggiornamenti se i file elencati in
manifest o se il file manifest stesso
è cambiato dall’ultima volta del browser
controllato così ogni cambiamento che rende il
corpo il manifest diverso dal fornitore
lo farà se metti uno spazio in esso è
bene la cache dell’app è un ulteriore
non è un’alternativa così
quando il browser aggiorna l’applicazione
cache la sua richiesta o come di solito
sarebbe basato sul caching regolare
istruzioni così se dice un Cappellaio di un oggetto
Sono totalmente a posto con il browser 2022
la risorsa presunta è davvero buona fino a quando
allora e non guai servirà alcun aggiornamento
senza specifiche il browser sta prendendo
un’ipotesi e tutti sappiamo cosa succede
quando i browser stanno prendendo un’ipotesi e a
Feist che servi dovrebbe sempre avere cache
intestazioni soprattutto quando sono molto
probabilmente da aggiornare
e se pensi che sia meglio fare surf
senza contanti ma sempre con un cappellaio
e a meno che non si tratti di risorse non incassate
non caricherò su una patch di contanti quindi se tu
solo contanti come index.html ma non farlo
cache l’ immagine di sfondo non sarà
visualizzato anche quando sei online e
questi sono come il super serio
semplici punti dolenti della cache dell’app
c’è una soluzione per questo se tu ancora
Devo lavorare con la cache delle app che è il
applicazione qualsiasi Gregor Martinez a
il mio collega ha insegnato la cache dell’app
alcune maniere e sviluppare l’applicazione
e ci aiuta ad affrontare la maggior parte del
problemi che la cache dell’app ha ancora utilizzato
un iframe per i soldi veloce quindi file
provengono da un server quando sei online e
il testo del manifest è aggiornato
e c’è un’altra illuminazione civile così
potresti aver sentito parlare di
già il servo che sembra essere
come il nuovo Santo Graal di offline prima
il servicestore è una novità molto specifica
di quel lavoratore suona bene ma cosa
è quel lavoratore in realtà la maggior parte delle persone
non lo so , diamo un’occhiata a questo
prima è stato introdotto il back worker
quale le specifiche HTML5 e fa parte di
lo standard viene eseguito predefinito
Script del browser JavaScript nel tuo
browser il supporto è abbastanza buono
puoi vedere qui è supportato da tutti
respiro maggiore okay okay, ho capito bene questo
è come il caso peggiore è questo
succede se stai facendo funzionare troppi
script il tuo ritmo diventa super lento e
a volte script da cui puoi essere fermato
dopo un timeout è come il caso peggiore
quindi a volte dobbiamo fare cose del genere
quella
per esempio caricando un enorme file J’son o
eseguire un algoritmo killer su così numeri
o precaricare set di dati
immagina una diapositiva che deve essere gestita
come gli eventi dell’interfaccia utente, richiedono qualche elaborazione
grandi quantità di dati API e manipolazione
il Dom voglio dire che questo è abbastanza comune
destra
lo sappiamo tutti così sfortunatamente tutti
che non può essere fatto in eccesso
tempo a causa di limitazioni nei browser
Esecuzione script di runtime JavaScript
succede all’interno di una singola minaccia, quindi questo
significa che una logica di aggiunta giovanile può bloccare
tutta la tua applicazione e sviluppatori
amo le valute dominican-americane così
Gli eventi ASIC vengono elaborati dopo il
lo script di esecuzione corrente è terminato
Penso che il non-blocco non lo faccia
significa necessariamente operatori di concorrenza
utilizzare thread come messaggi che passano a
ottenere il parallelismo sono perfetti per
mantenendo il tuo performante aggiornato e
in risposta agli utenti, quindi all’applicazione
vedi che è molto felice il momento
è necessario aggiungere un compito enorme come accumulare
un mucchio enorme che ti tira ogni parte
dati che potresti incontrare nel tuo timeout
come pensi che sia un po ‘di tempo?
sai quando spuntano come la sceneggiatura
deve essere fermato
qual è la cosa comune nel browser
time out normale cosa pensi giusto
urlare volte nel browser il timeout
per script non l’interfaccia utente che avevamo prima
gli script 30 secondi cinque secondi 90
sono 80 millisecondi quindi dovresti
iniziare a utilizzare i lavoratori 15 millisecondi è
quando questo è un tipo di default comune
e quando sei su dispositivi mobili
sono 30 millisecondi quindi dovresti
iniziare a usare quei lavoratori per il web
le specifiche del lavoratore definiscono un’API per spawnare
script di background nel web
applicazione che ti permette di fare le cose
come accendere script di lunga durata per
gestire in termini di compiti come Oh nota
ha detto poco dopo che i thread del web worker sono stati eseguiti
il codice dall’alto verso il basso e inserito
questa faccia da faccia affondata faccia in cui loro
rispondi agli eventi e ai timer così tu
può ancora interagire con la tua applicazione
come si farebbe normalmente, ma esternalizzare
le operazioni pesanti e se falliscono
e ottenere un timeout l’applique
ancora in piedi e in esecuzione qualche salsa proprio così
cosa possiamo usare per lavorarci per la codifica
e decodifica grandi quantità di stringhe di lotti
calcoli matematici complessi come
crittografia di numeri primi e
assimilati nelle guarigioni prefetch e
ordinare i dati di caching alla grande, ecco fatto
più rete richiede i dati risultanti
elaborazione particolarmente elaborata di grandi dimensioni
errori sei tu le risposte di Jason
calcoli e manipolazione dei dati su
immagine di inizio locale e di sessione
manipolazioni e può ottenere di meglio si
evidenziazione della sintassi del codice o altro
analisi del testo in tempo reale come il controllo ortografico
alla ricerca in tempo reale analizzando o
elaborazione di video o altri dati inclusi
IO e riconoscimento del volto e della voce
e pauline.dub services Sono sicuro che tu
trovato più di due cose giuste
Chi ha fatto più di due così io vi immagino
ho trovato l’ amore che ho fatto e anche questo ragazzo ha
limiti quindi diamo un’occhiata a noi
non possiamo e non possiamo fare prima quello che noi
non può fare ed è molto o sembra
molto non possiamo accedere all’oggetto della finestra
l’oggetto documento e il genitore
oggetto quindi nessun accesso allo script di pagina
Global o funzioni
questo significa anche che non puoi usare le librerie
quello dipende dagli oggetti per funzionare no
no Jerry o su Google e scusami ma tu
può ancora usare quelli nei tuoi occhi questo
significa solo che non puoi usare quelli nella tua
worker e la prossima versione react.js
non si baserà sul browser ma continuerà a farlo
si ha realmente bisogno
pensaci così tanto, che cosa possiamo fare?
effettivamente perché i web worker hanno un
comportamento multi-thread possiamo solo
accedere a un sottoinsieme di funzionalità JavaScript
i cattivi lavoratori possono ancora accedere al
l’oggetto navigator usa la sola lettura
oggetto posizione esegue xml httprequest
lì per inviare richieste HTTP e HTTPS
Si prega di tenere a mente per dopo siamo
credici e imposta il tempo o l’ intervallo
per qualsiasi attività accedere all’applicazione
nascondiglio
gli script importati successivamente hanno generato il
altri lavoratori possiamo farlo anche noi
quindi ancora perso come iniziamo fondamentalmente a
lavoratore come questo piccolo aiuto incredibile
che si genera quando puoi passarli
del lavoro da dopo hanno finito si ottiene
restituisce un risultato e puoi generarne altrettanti
lavoratori come ti piace, ma stai attento
non bloccano i tuoi occhi ma possono farlo
utilizzare ancora un sacco di CPU in modo sostanziale
congelare affatto intendo che tutti voi conoscete il
i minatori caotici come sono basilari
può arrivare così abbiamo due tipi di lavoratori
lavoratori dedicati e condivisi dedicati
operatori web collegherò al Creatore il
Creatore è lo script che ha chiamato e
li hanno caricati sono lavoratori del web
che consente qualsiasi numero di script a
comunicare all’interno di un singolo lavoratore lì
identificato in due modi o URL o
nome esplicito e normalmente quando articoli
parla di quel lavoratore di cui parla
lavoratori dedicati, ma i lavoratori di chat sono
abbastanza importante per noi perché il servizio
lavoratore sono una specie di nostro specifico condiviso
lavoratore quindi solo un rapido sguardo come iniziare
è necessario verificare se il web worker
la proprietà nell’oggetto della finestra globale è
disponibile se non sarà indefinito loro
imbattersi in una minaccia successiva, quindi come risultato
il codice che eseguono deve essere
contenuto in un file separato e tu
devi creare un oggetto nel tuo principale
costruttore di script prende il nome di
gli script di lavoro quindi se specificato
file esiste il browser verrà generato in
il tuo thread che viene scaricato e il
il lavoratore non sarà iniziato fino al file
completamente scaricato e quindi è
eseguito e se il percorso per il tuo lavoro
ritorna come un povero quattro fallirà
Silenziosamente sciocco, quindi preparerò il
scivoli dopo non ti mostrerò i demo
perché tanto tempo l’unica cosa che tu
bisogno di sapere quale è super importante come
quando controlli come il codice
un sacco di esempi che sono super incredibili
localmente hai bisogno di inchiodare perché si verifica
di ragioni di sicurezza, di cui abbiamo parlato
il lavoratore è ora focalizzato sul servizio look
lavoratore spesso il primo concetto è diventato
uno dei più importanza vuole
segui lo sappiamo già
Jake Archibald ha capito bene l’altro
il giorno del primo significa e va avanti
schermo senza una richiesta di rete il
più che è lì prima della rete
più del mio primo è così significa
ogni applicazione web dovrebbe funzionare
senza una connessione dopo il molto
prima visita e basta usare la rete per
ottenere e impostare nuovi dati
tutto il resto è offline prima online
prima mi dispiace e tutti sappiamo che app
cache è un sacco di problemi qui
dobbiamo gestire il problema principale con
la cache delle app non è solo un numero di
grattacapi il design funziona davvero bene
dalle applicazioni della pagina dei cantanti ma non
per siti multipagina quindi
ServiceWorker
è una nuova funzionalità del browser che fornisce
script basati su eventi che vengono eseguiti
indipendentemente e che le pagine sono a
proxy di rete programmabile ti consente di
controlla come le richieste di rete dal tuo
pagina vengono gestite e aiutano gli sviluppatori a
costruire come URL friendly sempre disponibile
applicazione in modo sano e stratificata
oops
ma perché non possiamo usare i web worker per
che la differenza è quel servizio
lavoratori puoi recuperare i tuoi beni e
servirli alle cache in modo da sostituirli
la cache dell’app in cima a quella noi
esternalizzare le operazioni pesanti come
tirando l’enorme pila di immagini di Jason
su una pagina richiedi la tua richiesta di pagina
qualcosa di nuovo la richiesta passa attraverso
il servo-lavoratore quindi la rete
perché è nuovo e serve la rete
eseguire la risposta alla pagina e al
cache così perché abbiamo detto al
serviceworker prima di memorizzare il grasso in
prendere la risposta è davvero grande
sfaccettature e qui abbiamo lo stesso uso
caso ma
Kano abbiamo già memorizzato la richiesta
acido o dati nella cache già così
è servito direttamente dalla cache quindi
possiamo aggiungere il comportamento a cui dovrebbe andare
la rete e controlla se c’è un
aggiornamento disponibile e che è fantastico così
risparmia molto tempo e richieste
perché sei in grado di controllare il tutto
comportamento e un’altra caratteristica come
salva risorse
a differenza di altri lavoratori, il lavoratore può essere
spegnere in ogni singola serie degli eventi tutte le
i lavoratori stanno solo correndo tutto il tempo
lo sfondo del lavoratore di servizio non è
e siamo stati terminati quando non in uso
e abbiamo iniziato quando è stato necessario
non puoi fare affidamento sul fatto che il globale sia rimasto all’interno
il servizio funziona su fetch e su messaggio
gestori ma se hai bisogno di persistere e
ridurre attraverso la ricerca e il
informazioni di servizio lavoratore accesso dal vivo
alla API indexdb così che è bene
i lavoratori del servizio hanno cache con script
insieme alla capacità di rispondere a
richieste di rete da determinate pagine via
script per fornire un modo per le applicazioni
per andare bene i principali vantaggi sono quelli
l’addetto all’assistenza non si limita a memorizzare nella cache
File
supporta anche la sincronizzazione in background
e aumenta le tue prestazioni
enormemente e ti dà supporto per
inviare notifiche in modo che i lavoratori facciano
ampio uso di promesse che dovresti essere
familiarità con il concetto prima
iniziando a utilizzare i lavoratori del servizio e come
l’ultima parte del Service Worker I
ti dirò come il Service Worker
vivere Celica funziona perché è davvero
bello dentro per installare un lavoratore di servizio
da un sito è necessario registrarlo come
abbiamo visto prima con gli operai lo farà
causa il browser per avviare il servizio
lavoratore e ancora passo in background
tipicamente durante il passaggio di installazione
vuoi mettere in cache alcune risorse statiche, quindi se
tutti gli incendi sono una cache con successo allora
il tecnico dell’assistenza viene installato e
se qualcuno di questi fallisce come il download
le risorse e prenderle poi lo farà
il passo fallirà silenziosamente
ma e il lavoratore di servizio non lo farà
attivare ma non preoccuparti di questo
proveremo la prossima volta quando installeremo
la fase di attivazione che seguiremo e
questo è un grande
Trinity per te per maneggiare qualsiasi
gestione delle vecchie cache dopo il
fase di attivazione sarà il lavoratore del servizio
controlla tutte le pagine che rientrano in quella
portata la pagina che ha registrato il
il lavoratore di servizio per la prima volta non lo farà
essere controllato fino a quando non viene caricato di nuovo
così una volta che il lavoratore del servizio ha il controllo
sarà anche in uno dei due stati
è terminato memoria sicura o volontà
gestire gli eventi di recupero e messaggi che
si verificano quando una richiesta o un messaggio di rete
è fatto dal tuo servizio di pagina web è
ancora in sviluppo ma piuttosto lontano
già finalmente ottengono Safari sul
barca e in via di sviluppo – così è
ottimo ed è parzialmente spedito che posso
offri Chrome edge Safari e se vuoi
immergersi più a fondo nel discorso del servicestore
progetto archibald l’anno scorso appena arrivato
per te i suoi discorsi sono super divertenti
leggendario e lui è davvero fantastico ragazzi così
guarda che il link sarà online e
C’è anche il libro di cucina per cui dobbiamo
veloce dobbiamo ancora prendere la cosa prendere
cura di una cosa i dati così alla fine
prima legge della robotica
sì , non fare del male a nessun essere umano lo sai
quale sia la prima legge di offline prima
prendere un gas abbastanza vicino abbastanza vicino
molto bene non perdere i dati questo è
come la prima legge della linea prima
disaccoppiamo il client e il server
lato così abbiamo davvero bisogno di memorizzarlo
entrambi i lati
quindi ci fidiamo della custodia per il cliente
e divano per il lato server ci sono
come una squadra perfetta per il primo offline
rendono CouchDB semplice e veloce non è
database di incantesimi che replica che è
esattamente ciò di cui abbiamo bisogno per il divano di sincronizzazione
essere fornito con il seme di caratteristiche come
trasformazione del documento al volo
notifica delle modifiche in tempo reale su cui ci basiamo
con i nostri messaggi e compiti lo sistema
ha anche un controllo di versione molto semplice
sistema che ci ha aiutato a
hai gestito i dati e quando sei il tuo
Dati esce di sincronizzazione rende tipo di
decisioni automatiche intelligenti e aiuto
per unire i percorsi dei dati per essere come un
database JavaScript open source ispirato
da divano che è progettato per funzionare bene
nel browser e memorizza tutti i tuoi
dati localmente mentre offline
pedda fold usa l’indice per essere in Chrome
e Firefox Web SQL per Safari da memorizzare
i dati e puoi anche aggiungere degli adattatori
per la sessione locale inizia la sincronizzazione con
divano per essere e servizio compatibile che
accelera il protocollo di replica CouchDB
come Cloudant o in pullman zona fuga
quando l’applicazione è di nuovo online
funziona anche su dispositivi mobili per
applicazioni native per esempio con
PhoneGap cordova e molti altri ancora
cosa speciale di felpa con cappuccio è quella di tutti
l’utente ha il proprio database privato come
Ho menzionato prima ed è festa dei pirati
pieghe così morbido un sacco di problemi dal
get-go mm-hmm
quando abbiamo un database per utente tu
sai sempre dove cantare quando il
la versione del documento non è aggiornata
possiamo controllare per membro attivo dell’app
versione ID e cosa è Justin prima e
come unire i dati senza reale
conflitti quando riceviamo dati parziali
memorizziamo la versione del documento e
può afferrarlo prima di più durante e
grazie al compito di ascolto listener dell’evento
puoi sincronizzare i dati su tutti i dispositivi così
questo significa che abbiamo più dispositivi in uso
al volo
se vuoi condividere i dati sicuro quando
vuoi condividere alcuni dati privati tu
può pubblicarlo e ottiene solo
replicato e altri possono leggere o leggere
e manipolare i dati e siamo in grado
per sincronizzarlo nuovamente nella nostra applicazione
logica nel DB di archiviazione privata
è anche un client couchdb e tu sei
in grado di passare da un database locale
e un’istanza CouchDB online senza
cambiare qualsiasi codice dell’applicazione in modo che a
domanda mi viene chiesto molto quanti dati
può essere custodito per essere conservato
quindi ho preparato qualcosa di carino in Firefox
sacchetto per essere utilizza indexdb che chiederà
se i dati possono essere memorizzati per la prima volta
viene tentato poi dopo 50 MB ogni volta
memorizzato la quantità di dati può essere memorizzata
come cronometro illimitato calcola molto cool
la quantità di spazio disponibile su
il disco rigido e utilizzare questa scheda per
calcolare i limiti
Oprah funziona allo stesso modo di Chrome perché
lampeggia Internet Explorer superiore a 10 difficile a
Non 50 al di sotto non parliamo di quella
Mobile Safari è difficile da Safari desktop 50
richiede più di quando vuoi archiviare
più di 5 fino a 500 MB Android come
Chrome 4.4 e versioni successive hard 200 e
foto Cordoba illimitata sia su iOS che su
Android utilizzando il plug-in SQLite così a
molte informazioni che spero di poter dare
tu un piccolo insight qualsiasi concetto di
offline prima e come costruire
applicazioni che gestiscono come frutta
non solo un bug ma è una funzionalità
in realtà e se ti piace dire ciao o
Prendi alcuni adesivi felpa con cappuccio ne ho alcuni
qui quindi sarò in giro quindi grazie mille
tanto
Please follow and like us: