Press "Enter" to skip to content

Declarative programming – Fun Fun Function


[Musica]
buon lunedì mattina oggi stiamo andando
per esplorare le meraviglie del dichiarativo
programmare qualcosa che Reax ha
riuscito a diffondersi negli ultimi anni
e la programmazione della chiarezza è estremamente
utile per tutti i tipi di programmatori
non girare questo video fuori se non siete
uno sviluppatore web e non si preoccupano
reagire perché ci sono cose da imparare
qui non ti preoccupare se javascript non lo è
la tua cosa non ci sarà molto
di codice in questo episodio probabilmente non ce ne sono
a tutti e non ho intenzione di assumere che
anche tu sai qualcosa di reagire
con quello detto entriamo in esso
IMM VJ e stai guardando Fontbonne
funzione puoi pubblicare un commento
qui sotto e dimmi i tuoi sentimenti riguardo
reagire perché per me quando ho visto per la prima volta
reagire, l’ odio davvero, ma al giorno d’oggi
ogni anno che passa mi ritrovo
Mi piace reagire sempre di più e mi sento
che ho bisogno di sapere in cosa la gente
sensazione generale di RIA perché a me il
la cosa principale che avrebbe reagito è che
ci permette di fare una programmazione dichiarativa
senza gli svantaggi che sono
tradizionalmente associato con la
chiarezza che programma molte persone
non avere il vantaggio e quanto enorme
la programmazione dichiarativa è e come
si blocca e si riferisce a reagire suppongo
questo potrebbe essere perché lo immagino
la programmazione dichiarativa è un po ‘
diverso e difficile da avvolgere la testa
intorno ma potrebbe anche essere perché
reagire ha queste altre caratteristiche che tu
lasciati coinvolgere come sviluppatore e tu
sviluppare una forte opinione su di loro e
inizi a vedere quelle caratteristiche e non
vedere la foresta per tutti gli alberi così
di parlare e credo davvero che
la programmazione dichiarativa è molto efficace
nucleo di ciò che reagisce ci permette di farlo
ne parleremo oggi
programmazione dichiarativa e in
contesto di reagire è reagire
una bugia
per costruire la vista applicativo esso
era inizialmente solo per applicazioni web
ma nel corso degli anni la gente ha iniziato
utilizzandolo anche per applicazioni native
la maggior parte degli sviluppatori che usano reagire couplet
con una tecnica chiamata flusso essa
limita il flusso di dati del
applicazione per fluire in una sola
direzione quindi immagina un’applicazione
dove hai una vista e ce ne sono alcuni
pulsante in quella vista il pulsante non lo farà
il permesso di cambiare qualcosa nel
visualizzare se stesso o addirittura modificare qualsiasi stato
esso stesso invierà un evento click
e finirà in questa cosa
negozio che è responsabile per fare il
manipolazione effettiva dello stato e
allora ogni volta che lo stato aggiorna il
intera vista bene rerender basato sul
stato quindi questo è un direzionale unico
il flusso di dati si avvicina solo a te
le azioni vanno qui e lo stato scorre qui
il cambiamento di stato avviene solo perché a
l’azione è andata in questo modo e se sei solo
aggiornato dallo stato cambia è a
flusso molto semplice , quindi qual è il vantaggio
di farlo bene ci permette dà
noi una struttura per fare dichiarazioni
programmazione e programmazione dichiarativa
ci dà un’applicazione che è più facile
ragionare e dove meno cose
può andare storto quando stai facendo il
programmazione della chiarezza nel contesto di
una domanda come questa
stai semplicemente affermando che la vista
dovrebbe essere un certo modo dato un certo
stato per esempio si potrebbe immaginare
dato che il pagamento è attualmente
elaborazione come la tua stampa 3 la paga
pulsante il pulsante di pagamento è disabilitato così
con la programmazione della chiarezza non lo sei
descrivendo piuttosto come il richiedente
la nazione dovrebbe fare le cose che sei semplicemente
affermando o dichiarando una relazione se
il concetto di mappatura ha senso
lo puoi pensare anche in questo modo
l’opposto della programmazione dichiarativa
è una programmazione imperativa e quando siamo
facendo una programmazione imperativa siamo
dicendo al computer più direttamente cosa
per fare stiamo ascoltando il pagamento
eventi e a seconda di cosa
il pagamento ha detto che avremo impostato il
attributo disabilitato su true o false on
il bottone il grande vantaggio con il
chiarezza del programma è che è più facile
motivo per immaginare che stiamo facendo
programmazione imperativa e c’è a
fallimento del pagamento, quindi abbiamo bisogno di ascoltare
a quell’evento di errore di pagamento e aggiornamento
pulsante di conseguenza ed esplicitamente in a
modello dichiarativo che il codice potrebbe non
anche essere necessario per reagire e far fluire noi
Avrebbe solo il fallimento del pagamento
aggiorna lo stato per far dire allo stato
che non sto più elaborando un pagamento
e qualsiasi elemento esistente che nel
vedere ciò che è offeso in quello stato
aggiorna automaticamente se hai
qualsiasi esperienza con dichiarativo
programmazione si prega di scrivere un commento verso il basso
di seguito perché prima voglio sapere
perché io per me la programmazione dichiarativa
ho la sensazione che mi abbia fatto molto
sviluppatore migliore mi sento così dichiarativo
la programmazione è un modo estremamente piacevole di
il software di scrittura sembra quasi
tutto diventa così semplice
funzioni che prendono come input
argomento e sputare fuori di vista questo è
molto semplice da ragionare su e là
sono pochissime le cose che possono andare storte
ed è anche estremamente facile da testare
programmazione dichiarativa programmatica
è molto molto bello quando si riesce a
tirare fuori ma un problema con
la programmazione dichiarativa viene eseguita in ordine
per
per tirarlo fuori ha bisogno di rifare un sacco di
lavorare tutto il tempo nella chiarezza di
programmando guardiamo allo stato e noi
determinare cosa il pulsante nella vista
dovrebbe apparire a seconda di quello stato
e noi ricreiamo quel pulsante da
grattiamo e buttiamo fuori il vecchio bottone noi
buttalo via solo non lo facciamo nemmeno
guarda e questo è molto costoso
rispetto alla programmazione imperativa che
fa esattamente ciò che deve fare
la programmazione imperativa non distrugge
qualsiasi programmazione imperativa di pulsanti è
molto frugale e questo è il motivo per cui la chiarezza
la programmazione è stata trattenuta almeno in
stimolando lo sviluppo perché lo era
facendo così tanto retrotreno tutto il tempo
e tu desideri che tu stia vedendo tremolare
ed è stato difficile ottenere la performance
fuori da ciò che avevamo bisogno e questo è
particolarmente vero nello sviluppo web
a causa della cupola nel caso in cui non sei un
web che sarebbe il Dom il documento
il modello a oggetti è il modo in cui costruiamo
interfacce sul web è come noi
controlla come sono fatte le cose
abbiamo bisogno di prestazioni piuttosto pesanti
di toccarlo il meno possibile e
questo ovviamente rende dichiarativo
programmazione problematica perché siamo
distruggendo e creando cose tutto il
tempo ed è qui che entra in gioco la reazione
con la sua cupola virtuale quando sei
costruire reagire applicazioni che sei
stai rendendo la cupola ma non lo sei
rendering di Real Dom che stai rendendo a
Dom virtuale che è una versione di
Dom è molto più economico perché
in realtà non esegue il rendering per schermare cosa
reagisce poi fa tutto ogni aggiornamento deve
guarda il Dom virtuale reso e
confrontalo con il vero e reale DOM
calcola automaticamente il più piccolo
possibile cambiamento che può apportare al
vero Dom per farlo rispecchiare
Dom virtuale durante la posizione avrebbe funzionato
Oh, Dom non è altrettanto buono
prestazioni come farlo manualmente nel
modo ottimale ma arrivare e fare
è in modo ottimale e corretto manualmente
questo è più difficile e a meno che
sei un ottimo sviluppatore e / o
passi molto tempo su di te
attuazione potrebbe in realtà finiscono per
essere più lento e contenere più bug
rispetto all’implementazione dichiarativa e
nel reagire puoi effettivamente ricorrere a
rendering manuale per singolo specifico
parti della domanda e io
penso che sia davvero bello quando
abbiamo a che fare con astrazioni come
questo di nuovo usando un Dom virtuale
ci permette di fare dichiarazioni dichiarative
programmare e ottenere i benefici di ciò
mentre allo stesso tempo ottieni Chloe
L’80% delle prestazioni ne beneficia
programmazione imperativa sarebbe normalmente
dacci e ci sono altri esempi
oltre a reagire e front-end
interfacce che sono esempi di questo
questa tecnica o era così
programmazione imperativa per un esempio
che vorrei portare in su è
firebase firebase è un osservabile
database fornito da Google e
ci consente di interagire con il database
come se il database esistesse sul client
anche se non per esempio tu
caricare un utente nel database e questo
se ne va automaticamente e recupera il
l’utente dal vero database reale
sul backend e quando poi più tardi
recupera nuovamente l’utente che ha effettivamente
cache l’utente automaticamente e sul
cliente in modo che Ram sia ora
è istantaneo è tipo di sorta di like
non devi preoccuparti che il database
è
sul server che puoi usare e questo fa
io app ragionevolmente veloce anche se tu
lo ha scritto in una performance
punto di vista modo super-ingenuo in tal modo firebase
ci ricorda della cupola virtuale nella
senso che è in entrambi i casi si tratta di
ottimizzazione per cui è automatizzato
così in un caso è il Dom
manipolazione che è costosa e che
essere automatizzato e nell’altro se il
chiamate di rete al server e recupero
dati che vengono ottimizzati per noi se
usi firebase e reagisci insieme
lo sperimenterò è un bello
è bello avere il nostro DOM virtuale e reagire
su un’estremità e Firebase sull’altra estremità
e quindi puoi farla franca
ne ho solo un mucchio
funzioni di trasformazione che ti stanno prendendo
tra e sì serrature insieme e pari
anche se è super ingenuo è ancora
abbastanza veloce perché hai il tuo
amici da entrambi i lati facendo il
ottimizzazione e io non voglio
oversell it perché non è abbastanza come
veloce come farlo manualmente e lo farà
anche essere molto fastidioso se vi imbattete
un qualche tipo di problema di prestazioni
Firebase reattivo non gestisce bene
ma nella maggior parte dei casi dichiarativo
programmazione in caso di backup automatico
strumenti di ottimizzazione come firebase o o
reagire ti farà risparmiare un sacco di bug e
un sacco di tempo ti lascio con a
pensiero divertente – in un mondo fantastico dove
abbiamo una potenza di elaborazione infinita e a
zero latenza e larghezza di banda infinita noi
non è necessario reagire o o
firebase o o osservabili lo stesso vale
per la nostra X che è una libreria per
creando osservabili complicati se noi
ha avuto una prestazione infinita che non avremmo
abbiamo bisogno di quella libreria che potremmo semplicemente sostituire
l’intero rx con solo funzioni che
basta fare le trasformazioni e basta avere
quelle funzioni funzionano sempre così per
il più lungo tempo a cui ho pensato
osservabili e come e
modello architettonico che è ma
strumenti come rx e conosci le funzioni
nella biblioteca è come antirimbalzo come
per esempio quella non è architettura
correlati che è solo legato alla
ottimizzazione e prestazioni
questa è l’unica ragione per cui ne abbiamo bisogno
la programmazione così dichiarativa è carina
perché è più facile ragionare su e
ci sono solo poche cose che possono andare
sbagliato e reagire ci aiuta a fare dichiarazioni
programmazione riducendo uno dei grandi
inconvenienti della programmazione dichiarativa
che è la performance e per questo è tutto
oggi hai visto un episodio di
Fun fun function credo che abbia bisogno di ogni
Lunedì mattina Oh 800 GMT se non lo fai
vuoi aspettare fino a lunedì prossimo puoi
guarda questo episodio è stato scelto
fuori per te specificamente da Lee brain in
un barattolo che Google marca come macchina
sto imparando mpj fino al prossimo lunedì
mattina grazie
Please follow and like us: