WEBVTT

00:00:00.000 --> 00:00:03.190
>> Dobře. Dobrý den.
Jak se mají všichni?

00:00:03.380 --> 00:00:08.280
Čtvrtá cesta
Tady náš xam summit.

00:00:08.280 --> 00:00:12.870
Takže ano, jsem Shane
Neuville. Píše správně?

00:00:12.870 --> 00:00:17.715
Ano. Ne, Shane Neuville. Jsem
s týmem Xamarin Forms.

00:00:17.715 --> 00:00:20.280
Před tím, než je Xamarin Forms,

00:00:20.280 --> 00:00:23.490
Dělal jsem slušnou sumu
s rozhraním ReactiveUI.

00:00:23.490 --> 00:00:26.160
Takže se stále snažím šampióna
tolik, kolik jsem

00:00:26.160 --> 00:00:29.310
může být i v rámci společnosti Microsoft.

00:00:29.310 --> 00:00:35.970
Takže tu řeč bude
silně o reaktivních rozšířeních,

00:00:35.970 --> 00:00:39.990
konkrétně pouze koncepty
za hnací reaktivní mechaniku,

00:00:39.990 --> 00:00:42.990
Jak se blíží událostem.

00:00:42.990 --> 00:00:44.975
Pak bude Michael dělat

00:00:44.975 --> 00:00:47.600
rozsáhlejší řeč o
mapování jako

00:00:47.600 --> 00:00:52.040
MVVM a způsob napájení
Vaše rámce.

00:00:52.040 --> 00:00:56.055
Takže abychom začali s tímhle,

00:00:56.055 --> 00:00:59.305
Kolik uživatelů používá
Reaktivní rozšíření,

00:00:59.305 --> 00:01:01.350
jen abych dostal, "Oh, Hej. To je hezké.

00:01:01.350 --> 00:01:02.895
Pokaždé, když jsem se ptala,
je tam víc rukou.

00:01:02.895 --> 00:01:08.040
To je dobré znamení. Tak se podívejme.

00:01:08.040 --> 00:01:12.250
Tak kolik lidí si myslí, že mluvím
o JavaScriptu a ReactJS?

00:01:12.250 --> 00:01:15.250
Ten chlápek tamhle? Dobře.

00:01:16.130 --> 00:01:20.150
Takže některé lidové
začal se také vyjasní.

00:01:20.150 --> 00:01:23.450
Myslí si někdo, že se chystám
hovořit o pozorovatelných kolekcích

00:01:23.450 --> 00:01:26.940
asi hodinu? Cha Dobře.

00:01:26.940 --> 00:01:29.990
Takže tento rámec

00:01:29.990 --> 00:01:33.530
bude o něco méně
důležité, jak rozhovory jdou dál.

00:01:33.530 --> 00:01:37.580
Určitě
nějaký zmatek, který začal.

00:01:37.580 --> 00:01:39.980
Vzpomínám si na první
čas, kdy jsem slyšel o ReactJS.

00:01:39.980 --> 00:01:42.955
Dělal jsem RxJS už nějakou dobu.

00:01:42.955 --> 00:01:45.380
Bylo asi pět minut
do rozhovoru,

00:01:45.380 --> 00:01:48.695
Uvědomil jsem si, že nemáme
stejnou konverzaci.

00:01:48.695 --> 00:01:51.890
Takže ve skutečnosti není

00:01:51.890 --> 00:01:55.920
žádný vztah kromě
prvních pěti písmen.

00:01:57.410 --> 00:02:01.105
Úhlové pole začalo
silně využívající RxJS.

00:02:01.105 --> 00:02:03.260
Takže úhlový je pravděpodobně
více synonymní

00:02:03.260 --> 00:02:05.870
v tomto okamžiku s RxJS, ale ano.

00:02:05.870 --> 00:02:08.810
Další oblast
kde se lidé dostanou

00:02:08.810 --> 00:02:12.305
má co dělat s
Znovu ActiveX a ReactiveUI,

00:02:12.305 --> 00:02:14.345
a v místech, kde se tyto divize nacházejí.

00:02:14.345 --> 00:02:21.810
Takže ReactiveX je
pro platformu-agnostický koncept.

00:02:21.810 --> 00:02:25.760
Koncepce ReactiveX tedy

00:02:25.760 --> 00:02:28.940
je implementován napříč
více rámců.

00:02:28.940 --> 00:02:35.390
Takže tam je kokový, Java, RxJS.

00:02:35.390 --> 00:02:40.515
Je tu celá elegantní jazyková verze
implementujete koncepty.

00:02:40.515 --> 00:02:45.090
ReactiveUI je pak vrstva MVVM

00:02:45.090 --> 00:02:48.750
který pomáhá připojit ReactiveX
do vašeho MVVM.

00:02:48.750 --> 00:02:52.905
Takže když jsou lidé
hovoří o reaktivní,

00:02:52.905 --> 00:02:54.705
To nejsou jen řeči
o ReactiveUI.

00:02:54.705 --> 00:02:55.820
Mluví hlavně o

00:02:55.820 --> 00:02:59.090
funkcionální reaktivní programování a

00:02:59.090 --> 00:03:02.810
Jak pozorovatelné je založeno
programovací paradigma fungují.

00:03:02.810 --> 00:03:05.870
Proto je tento prvek ReactiveX

00:03:05.870 --> 00:03:10.655
z velké části to, co je tato řeč
se tu točí,

00:03:10.655 --> 00:03:15.245
který bude dobrým prekurzorem
o Michaelově řeči později.

00:03:15.245 --> 00:03:18.830
Tak proč na mě pípne?

00:03:18.830 --> 00:03:20.240
Vydrž. Asi
Možná to nemám

00:03:20.240 --> 00:03:22.845
Zvýrazněné. Tady to je.

00:03:22.845 --> 00:03:29.300
Tak pojďme rozdělit, co
Opravdu se tady díváme.

00:03:29.300 --> 00:03:32.420
Tak Mluvme o
události rychle.

00:03:32.420 --> 00:03:35.570
Jak se tedy přihlásíte k odběru
Události? Všechno je to docela jednoduché.

00:03:35.570 --> 00:03:37.945
Všichni jsme viděli tenhle kód.

00:03:37.945 --> 00:03:41.190
A je to. Dost vzrušující, že?

00:03:41.190 --> 00:03:46.085
Tak efektivně, že máte
vydavatele na levé straně.

00:03:46.085 --> 00:03:48.260
Vaše události jsou
a pak máte

00:03:48.260 --> 00:03:50.990
Váš pozorovatel na pravé.

00:03:50.990 --> 00:03:57.230
Takže je to základní událost
vzor oznámení,

00:03:57.230 --> 00:03:58.760
základním vzorem pozorovatele.

00:03:58.760 --> 00:04:02.030
Takže to byla syntaxe v C# jedna.

00:04:02.030 --> 00:04:04.190
Efektivně, horní
Jedna dělá totéž

00:04:04.190 --> 00:04:06.395
jako spodní, ale syntaktický cukr.

00:04:06.395 --> 00:04:10.725
Tak si rozejdeme, co je to za událost.

00:04:10.725 --> 00:04:14.005
Událost je tedy v zásadě,

00:04:14.005 --> 00:04:21.095
je to série jednotlivých věcí
, ke kterým dojde u údajů o produktu.

00:04:21.095 --> 00:04:25.260
Takže když budu psát své jméno,

00:04:25.990 --> 00:04:29.930
Já jsem typ S, je tu
událost, h a událost,

00:04:29.930 --> 00:04:33.635
a a události, myslím, že vidíte
Kam všichni jdou,

00:04:33.635 --> 00:04:39.080
a reprezentace
těchto dat.

00:04:39.080 --> 00:04:41.990
To je soubor dat, která mají

00:04:41.990 --> 00:04:46.325
na základě těchto událostí došlo.

00:04:46.325 --> 00:04:49.220
Tak tohle je tvoje událost.

00:04:49.220 --> 00:04:51.455
Takže nic moc na rozfoukání
v tomto bodě.

00:04:51.455 --> 00:04:55.340
Takže kroky k zastavení pozorování události.

00:04:55.340 --> 00:04:58.000
Jak tedy zastavujete
pozorovat nějakou událost?

00:04:58.000 --> 00:05:00.600
Všichni jsme si nevšímají
události v popředí, že?

00:05:00.600 --> 00:05:01.760
Jak jsme všichni říkali, "Hej, já ne

00:05:01.760 --> 00:05:03.620
delší péče o to, co
se to stává. "

00:05:03.620 --> 00:05:08.960
Tak obvykle proces
Jak

00:05:08.960 --> 00:05:11.720
k odhlášení od začátku události

00:05:11.720 --> 00:05:15.155
se zákazníkem, který si stěžuje
že vaše aplikace je pomalá.

00:05:15.155 --> 00:05:19.070
Takže soubory zákazníků
problém a říká, "Hej,

00:05:19.070 --> 00:05:21.840
aplikace se po použití zpomaluje.

00:05:22.670 --> 00:05:24.690
Co se děje?

00:05:24.690 --> 00:05:27.075
Čím víc ho používám,
nefunguje to. "

00:05:27.075 --> 00:05:30.550
Tak zaprvé, ty jim nevěříš.

00:05:31.400 --> 00:05:35.090
Myslíš, že
nainstalováno něco jako

00:05:35.090 --> 00:05:37.730
Dilbert šetřič obrazovky, který bere

00:05:37.730 --> 00:05:39.980
nahoru do celého okna prohlížeče
nebo něco podobného.

00:05:39.980 --> 00:05:42.290
Protože když začnete
vaši aplikaci a

00:05:42.290 --> 00:05:44.795
jej použijete pro
asi 15 vteřin, je to rychlé.

00:05:44.795 --> 00:05:46.895
Všechno funguje skvěle.
Reaguje to.

00:05:46.895 --> 00:05:51.670
Zjistili jste, že je perfektní.

00:05:51.670 --> 00:05:54.435
Takže jsi jako, "všechno
Právo. Myslím, že jim věřím. "

00:05:54.435 --> 00:05:58.530
Takže v tomto okamžiku jste prach
z vašeho ladících klobouček,

00:05:58.530 --> 00:06:01.110
znovu načíst přes všechny
testy a blogy týkající se

00:06:01.110 --> 00:06:04.185
k analýze snímků zásobníku,

00:06:04.185 --> 00:06:06.675
a začneš všechno tahat.

00:06:06.675 --> 00:06:08.145
Máte domy s zásobníkem.

00:06:08.145 --> 00:06:10.925
Podívej, jak dlouho
objekty žijí.

00:06:10.925 --> 00:06:13.055
Děláš to znova a znova.

00:06:13.055 --> 00:06:15.740
Konečně jsi na řadě.

00:06:15.740 --> 00:06:18.290
Je tu spousta civěla na
šipky na jiných směrovkách,

00:06:18.290 --> 00:06:19.940
a uvažoval o tom, co je na nich,

00:06:19.940 --> 00:06:22.280
a odečtením tohoto
od toho, dokud

00:06:22.280 --> 00:06:23.900
Konečně viděl, že

00:06:23.900 --> 00:06:25.595
byl to jeden řádek kódu nebo
Zapomněla jsi to napsat.

00:06:25.595 --> 00:06:27.990
Jsi jako, "Oh, člověče."
Pak najednou,

00:06:27.990 --> 00:06:30.195
všechno začne rychle běžet.

00:06:30.195 --> 00:06:33.699
Takže ano, v podstatě,

00:06:35.210 --> 00:06:38.280
k odběru a odhlášení od nich.

00:06:38.280 --> 00:06:43.980
Tak to je sémantika.

00:06:43.980 --> 00:06:48.345
Ale sémantická je, že
trochu hnusně cítím se.

00:06:48.345 --> 00:06:52.655
Protože jeden, musíš
Nezapomeňte udělat dvě věci.

00:06:52.655 --> 00:06:55.130
Kdykoliv si budu pamatovat
udělat víc než jednu věc,

00:06:55.130 --> 00:06:57.850
neselžou
obvykle v programování.

00:06:57.850 --> 00:07:00.695
Navíc je třeba zachovat
vaše odkazy na všechno.

00:07:00.695 --> 00:07:04.040
Aby tedy bylo důležité
toho druhého,

00:07:04.040 --> 00:07:05.210
Potřebuješ všechno, co je v

00:07:05.210 --> 00:07:08.125
první, kdo udělá
všechno v tvém druhém,

00:07:08.125 --> 00:07:11.930
jako bys
tyto nápady zachovat.

00:07:11.930 --> 00:07:16.725
V obecné správě událostí tedy
je prostě nepořádek.

00:07:16.725 --> 00:07:20.015
Není to ten nejčistější typ
provozu.

00:07:20.015 --> 00:07:21.290
Chci říct, jako řekněme,

00:07:21.290 --> 00:07:26.600
záleží jen na
jednu událost, například

00:07:26.600 --> 00:07:28.465
Jak jsme všichni napsali tento kód,

00:07:28.465 --> 00:07:31.340
kde chcete
Odhlásit se od něčeho podobného

00:07:31.340 --> 00:07:35.600
Chtěl jsi jen jednu vyhodit.

00:07:35.600 --> 00:07:38.915
Dejme tomu, jako by se objevila stránka
nebo něco takového,

00:07:38.915 --> 00:07:42.140
Takže musíte mít
odkaz nahoře

00:07:42.140 --> 00:07:45.830
tak, aby uzavření
uvnitř má přístup,

00:07:45.830 --> 00:07:47.975
potom obslužnou rutinu přiřadíte,

00:07:47.975 --> 00:07:50.255
a pak to uděláš
obslužnou rutinu na konci.

00:07:50.255 --> 00:07:55.280
Takže je tu další ceremoniál

00:07:55.280 --> 00:07:59.150
pochází z
sadu operací.

00:07:59.150 --> 00:08:03.050
Tak to vypadá povědomě. Je
Každý tenhle kód napsal předtím?

00:08:03.050 --> 00:08:05.790
Ano? Dobře.

00:08:06.930 --> 00:08:12.655
Takže a tady jsem pořád
mluvit o událostech.

00:08:12.655 --> 00:08:14.860
To je to, čemu říkám
Ipozorovatelable infomercial.

00:08:14.860 --> 00:08:16.360
Kde něco uděláte
šílený a jsi jako,

00:08:16.360 --> 00:08:17.680
"Proboha, je to tak hrozné."

00:08:17.680 --> 00:08:22.135
Není to tak zlé. Ale tady
Všechno jsem ti ukázal.

00:08:22.135 --> 00:08:24.115
Tohle není Xamarin Forms,

00:08:24.115 --> 00:08:26.725
Když se zapojujete do události.

00:08:26.725 --> 00:08:29.485
Takže se k ní budete drát,

00:08:29.485 --> 00:08:32.425
Musíš najít dobře,
kde jsou mé aspekty pro likvidaci?

00:08:32.425 --> 00:08:33.835
Okay, tady dole.

00:08:33.835 --> 00:08:37.330
Musím se ujistit, že
zbavit se událostí a

00:08:37.330 --> 00:08:41.350
všechny tyto věci jsou různorodí
umístění v celém souboru.

00:08:41.350 --> 00:08:42.730
Tohle jsou všechny tyhle věci.

00:08:42.730 --> 00:08:44.290
Tento obřad musíte udělat

00:08:44.290 --> 00:08:46.240
se všemi těmito událostmi
systémů správy.

00:08:46.240 --> 00:08:48.790
Podívej se támhle nahoru, ty
muset přihlásit.

00:08:48.790 --> 00:08:51.385
Pak tu máte svou obslužnou rutinu.

00:08:51.385 --> 00:08:52.810
Máte co dělat s daty v

00:08:52.810 --> 00:08:55.180
samostatné místo a
pak se tady ohýbá.

00:08:55.180 --> 00:08:59.635
Je to velmi
odpojené zkušenosti.

00:08:59.635 --> 00:09:01.240
A tak jsem dokonce napsal
špatné věci,

00:09:01.240 --> 00:09:03.625
Jsem tak nervózní, jak je to těžké.

00:09:03.625 --> 00:09:07.720
Ale ano. Tak jsem dostal infmercial,
Kam šla ta soda?

00:09:07.720 --> 00:09:13.225
Tak to je ono.

00:09:13.225 --> 00:09:18.175
Události jsou tedy těmito podivnými
synchronních datových bodů.

00:09:18.175 --> 00:09:20.650
Takže dostanete události změny textu

00:09:20.650 --> 00:09:22.690
a pak všechno, co máte, je
událost změny textu.

00:09:22.690 --> 00:09:24.460
Jen máš ten dopis.
Máš jen ten dopis

00:09:24.460 --> 00:09:27.195
S kým musíš jednat.

00:09:27.195 --> 00:09:29.145
Ale co když chceš
s tím dělat víc?

00:09:29.145 --> 00:09:31.200
Co když
máte událost,

00:09:31.200 --> 00:09:33.840
Velmi zřídka
o jediné události.

00:09:33.840 --> 00:09:36.680
Záleží vám na datech
soubor událostí.

00:09:36.680 --> 00:09:37.870
Staráš se o všechno, co je

00:09:37.870 --> 00:09:40.510
se děje v průběhu doby.

00:09:40.510 --> 00:09:43.750
A co když chceš
něco velmi vzrušujícího.

00:09:43.750 --> 00:09:45.220
A co když chceš říct,

00:09:45.220 --> 00:09:47.590
vynechá prvních pět událostí a

00:09:47.590 --> 00:09:50.050
pak záleží jen na dalších čtyřech,

00:09:50.050 --> 00:09:52.015
pak se chcete vzdát událostí,

00:09:52.015 --> 00:09:56.139
Takže pokud budou psát Super-Fast
čekat jen dvě sekundy,

00:09:56.139 --> 00:09:57.610
Dejme tomu, že chcete odfiltrovat

00:09:57.610 --> 00:09:59.215
jakékoliv události s modrou květinou

00:09:59.215 --> 00:10:02.545
jen proto, že je to hrozná barva
Možná, nevím.

00:10:02.545 --> 00:10:05.110
Pak chcete

00:10:05.110 --> 00:10:07.120
vykopnout webový požadavek
a pak začnou znovu,

00:10:07.120 --> 00:10:08.860
Takže to chceš prostě vyhodit.

00:10:08.860 --> 00:10:12.220
Podobně jako tento typ vzorku je

00:10:12.220 --> 00:10:16.900
velmi běžné, pokud jde
vaše řízení událostí,

00:10:16.900 --> 00:10:22.630
zejména v rámcích MVVM a
věci, které jsou založeny na uživatelském rozhraní.

00:10:22.630 --> 00:10:25.420
Vždycky budeš muset reagovat

00:10:25.420 --> 00:10:29.830
proti příchozím datovým bodům
se ztracenou konektivností.

00:10:29.830 --> 00:10:31.240
Tak jako co když
připojení získává

00:10:31.240 --> 00:10:33.460
na webové žádosti o místo ztraceny?

00:10:33.460 --> 00:10:34.870
Jak můžete přerušit

00:10:34.870 --> 00:10:39.745
Tento webový požadavek jednou
je připojení ztraceno?

00:10:39.745 --> 00:10:48.460
Jak se to dělá spolehlivým způsobem
To se snadno spravuje.

00:10:48.460 --> 00:10:50.680
Všechny tyto koncepce tedy

00:10:50.680 --> 00:10:58.060
velmi jasné verze sloves
které je mapovali v reaktivní.

00:10:58.060 --> 00:10:59.830
Takže tohle všechno
skutečné věci, které můžete

00:10:59.830 --> 00:11:02.590
používá se v reaktivní k artikuování

00:11:02.590 --> 00:11:07.795
všechny tyto pokusy o data,

00:11:07.795 --> 00:11:09.880
proudu událostí v průběhu roku.

00:11:09.880 --> 00:11:13.720
Dobře. A co ještě
můžeme dělat s událostmi?

00:11:13.720 --> 00:11:19.010
Moc ne.
Jednoduché základní vzory.

00:11:19.260 --> 00:11:23.725
Tak tohle je moje slzný akce.

00:11:23.725 --> 00:11:26.110
Takže v tuto chvíli, pokud
Opravdu jste nepoužívali

00:11:26.110 --> 00:11:28.450
reaktivní, že jsi asi taková,
"Ach, byl jsem tak hrozný."

00:11:28.450 --> 00:11:31.600
Dělal jsem to špatně
celou dobu, "a máš

00:11:31.600 --> 00:11:33.610
existenční krizi kolem

00:11:33.610 --> 00:11:37.970
všechny problémy, které jste
Vím, že jsi to teď udělal.

00:11:39.900 --> 00:11:45.580
Takže to přeložme
na pozorovatelnosti.

00:11:45.580 --> 00:11:48.370
Takže Ipozorovatelable bylo
chvíli kolem.

00:11:48.370 --> 00:11:49.660
Je to v podstatě přesně jako

00:11:49.660 --> 00:11:52.855
modelu publikování předplatného

00:11:52.855 --> 00:11:55.900
To je uvnitř jádra
Framework of.Net a

00:11:55.900 --> 00:11:59.005
pak je ReactiveX více

00:11:59.005 --> 00:12:04.465
výraz pro interakci
s těmito pozornostmi.

00:12:04.465 --> 00:12:11.245
Tak pojďme rozdělit, co
je tu Pozorovatelable.

00:12:11.245 --> 00:12:15.020
Takže je to v podstatě
Pozorovací vzor.

00:12:18.690 --> 00:12:21.790
V zásadě je to
to samé jako událost.

00:12:21.790 --> 00:12:26.000
Událost je efektivně
pozorovací vzorek.

00:12:27.420 --> 00:12:30.775
Takže tady máte svou událost,

00:12:30.775 --> 00:12:34.449
vaše obslužná rutina a Vydavatel

00:12:34.449 --> 00:12:37.870
a to je analogická
přímo tady.

00:12:37.870 --> 00:12:42.865
Takže máte své pozorovatelné
sleduje,

00:12:42.865 --> 00:12:45.070
to samé.

00:12:45.070 --> 00:12:47.980
Takže máte stejný nápad.

00:12:47.980 --> 00:12:51.220
Efektivně můžete provést přesný
to samý s oběma na

00:12:51.220 --> 00:12:54.925
základní vrstvu a
získat datové body.

00:12:54.925 --> 00:12:56.650
Ale teď je to vzrušující,

00:12:56.650 --> 00:12:58.285
tak tady jsou ty vzrušující body

00:12:58.285 --> 00:13:00.620
všechno přijde do hry.

00:13:03.690 --> 00:13:07.540
S událostí
opravdu něco.

00:13:07.540 --> 00:13:09.385
Máš jen akci.

00:13:09.385 --> 00:13:11.770
Nyní však s pozorovatelným

00:13:11.770 --> 00:13:13.510
máte zastoupení
této události.

00:13:13.510 --> 00:13:17.095
Ve skutečnosti máte podobný datový objekt
že s tím můžete něco dělat.

00:13:17.095 --> 00:13:22.645
Takže je to rozdíl
mezi některou položkou z

00:13:22.645 --> 00:13:25.360
seznam místo jiného než

00:13:25.360 --> 00:13:28.675
vyslovte celý seznam
, kterou nyní můžete provozovat.

00:13:28.675 --> 00:13:32.140
Takže tam máš
rozdíly přicházejí do hry.

00:13:32.140 --> 00:13:35.590
Takže si můžete myslet, že
velmi pozorovatelné

00:13:35.590 --> 00:13:39.550
jako iterační vzor.

00:13:39.550 --> 00:13:42.340
Takže tohle je přebrán z reactivex. Io

00:13:42.340 --> 00:13:44.485
což je jeden z hlavních zdrojů,

00:13:44.485 --> 00:13:45.520
což je opravdu dobrý zdroj.

00:13:45.520 --> 00:13:48.100
Má poruchu
všechny vaše operátory a všechno.

00:13:48.100 --> 00:13:49.930
Takže mám na to odkaz
na dně.

00:13:49.930 --> 00:13:56.605
Ano, je efektivně mapovaný

00:13:56.605 --> 00:14:02.170
pozorovatelná myšlenka

00:14:02.170 --> 00:14:03.925
stejné věci, které můžete
s iterátorem.

00:14:03.925 --> 00:14:05.635
Téměř perfektní

00:14:05.635 --> 00:14:08.560
porovnání jedna-jedna
tam, když budeš iterovat.

00:14:08.560 --> 00:14:11.605
Takže iterátor je jako IEnumerator.

00:14:11.605 --> 00:14:13.945
To je ekvivalent.

00:14:13.945 --> 00:14:18.085
IEnumerator, co je ekvivalentní
v podstatě k Ipozorovatelable.

00:14:18.085 --> 00:14:19.750
Takže cokoliv můžete
provést s IEnumerator,

00:14:19.750 --> 00:14:21.355
Můžete to provést do Ipozorovatelable.

00:14:21.355 --> 00:14:23.410
To bylo jako pamatovat si
Pokud byl první odkaz

00:14:23.410 --> 00:14:25.990
a všichni byli
Super vzrušený

00:14:25.990 --> 00:14:28.225
Vazba jako propojení přes objekty a

00:14:28.225 --> 00:14:31.510
Propojit s SQL a pak byly
méně nadšený z odkazu na SQL,

00:14:31.510 --> 00:14:33.800
ale Link byl tak vzrušující.

00:14:36.960 --> 00:14:41.260
Tak efektivně máte
načtená data, která jsou další, onNext.

00:14:41.260 --> 00:14:44.650
Všechna data
body.

00:14:44.650 --> 00:14:47.920
Tam se zastaví tak daleko, jak se

00:14:47.920 --> 00:14:52.030
Pozorování se stávají více
vzrušující než vaše události.

00:14:52.030 --> 00:14:54.550
Takže ty máš ty další věci.

00:14:54.550 --> 00:14:56.875
Takže máš například vzduch.

00:14:56.875 --> 00:15:02.770
Pokud událost, kterou jste
pozorování představuje výjimku,

00:15:02.770 --> 00:15:05.800
s tím si můžete poradit jako
součástí pozorovatelné.

00:15:05.800 --> 00:15:09.340
V rámci toku dat
operace, můžete označit

00:15:09.340 --> 00:15:12.970
Hej, tady je ta událost
prostřednictvím výjimky.

00:15:12.970 --> 00:15:14.515
Tak například webový požadavek.

00:15:14.515 --> 00:15:16.990
Pokud se vyskytne webový požadavek a

00:15:16.990 --> 00:15:20.020
vyvolá výjimku, protože

00:15:20.020 --> 00:15:22.165
Internet přejde nebo
něco podobného,

00:15:22.165 --> 00:15:24.850
pak můžete efektivně zachytit tuto

00:15:24.850 --> 00:15:28.645
a vypořádat se s tím
v rámci této konstrukce.

00:15:28.645 --> 00:15:29.920
Takže váš kód je hodně

00:15:29.920 --> 00:15:35.695
robustnější a pak je
také získat tuto představu o

00:15:35.695 --> 00:15:39.760
dokončení, kde můžete střílet, pokud

00:15:39.760 --> 00:15:43.345
někdo naznačil, že

00:15:43.345 --> 00:15:45.790
už se nezajímá
o datových bodech,

00:15:45.790 --> 00:15:47.725
pak na to můžete působit.

00:15:47.725 --> 00:15:50.590
Všechny ty věci
stávají se funkcemi

00:15:50.590 --> 00:15:54.070
způsobu práce s daty.

00:15:54.070 --> 00:16:01.760
Takže tady jsou další
porovnávacích bodů.

00:16:06.120 --> 00:16:09.070
Toto je také převzato z ReactiveX.

00:16:09.070 --> 00:16:13.030
Jak můžete vidět, máte
Iterovatelný, což je váš výpadek,

00:16:13.030 --> 00:16:14.890
Takže je to jako váš IEnumerator a

00:16:14.890 --> 00:16:16.860
máte pravdu, která
je váš Ipozorovatelable.

00:16:16.860 --> 00:16:19.150
Takže jeden dostává data
z místní paměti,

00:16:19.150 --> 00:16:20.210
Takže to bude možná jako

00:16:20.210 --> 00:16:21.890
synchronní operace, ve které právě

00:16:21.890 --> 00:16:23.870
vaše data byla realizována na

00:16:23.870 --> 00:16:26.240
nahoře a máš pravdu
jeden je ze sítě,

00:16:26.240 --> 00:16:29.580
může to být pomalejší datový kanál.

00:16:29.580 --> 00:16:32.915
Takže, vidíš
máte stejné nápady

00:16:32.915 --> 00:16:37.350
nad proudy událostí, které
je prostě supermocný.

00:16:37.870 --> 00:16:42.940
Pěkné věci. Dobře.

00:16:42.940 --> 00:16:45.450
Rozejdeme se, jak

00:16:45.450 --> 00:16:48.610
stavební bloky
tu vaši Ipozorovatelables trochu.

00:16:50.010 --> 00:16:54.250
Tak tohle je základní myšlenka
Jak sestavujete Ipozorovatelable.

00:16:54.250 --> 00:16:57.205
Tak jak vidíte v
ten první krok tam,

00:16:57.205 --> 00:17:01.940
uvidíte známé předplatné
a odhlášení odběru,

00:17:03.840 --> 00:17:07.450
není to tak vzrušující,
jen prochází

00:17:07.450 --> 00:17:10.390
pozorovateli různé funkce,

00:17:10.390 --> 00:17:11.830
Takže pozorovatel ví, jak se vypořádat

00:17:11.830 --> 00:17:14.185
s předplatným a bez předplatného,

00:17:14.185 --> 00:17:18.250
tak, aby mohl kontejnerizovat
chování v rámci rozhraní IObservable.

00:17:18.250 --> 00:17:26.185
Takže tady je komparativní
verze těchto systémů,

00:17:26.185 --> 00:17:29.515
z toho, co představují.

00:17:29.515 --> 00:17:34.690
Předplatné je tedy efektivně
vyvolání toho nejvyššího chlápka,

00:17:34.690 --> 00:17:37.840
první, na kterou se kliknul
a říká, "dobře,

00:17:37.840 --> 00:17:40.090
Teď mi záleží na svých událostech, "a pak

00:17:40.090 --> 00:17:43.000
ten dole
je nyní vyřazuje,

00:17:43.000 --> 00:17:45.715
který se pak odhlásí.

00:17:45.715 --> 00:17:48.730
Zde začíná
být opravdu mocný,

00:17:48.730 --> 00:17:54.535
protože jste
celá tato reprezentace

00:17:54.535 --> 00:17:58.210
je zapouzdřen v důvěrně známém vzorku.

00:17:58.210 --> 00:18:01.810
Takže máte IDisposable
které jsme všichni používali,

00:18:01.810 --> 00:18:10.080
a máme logické datové struktury

00:18:10.080 --> 00:18:11.310
a způsoby, kterými lze použít

00:18:11.310 --> 00:18:14.760
Ty účinněji než
Jen řekněte, že jste se nepředplatiteli.

00:18:14.760 --> 00:18:18.700
Takže nějaký fakt super
způsoby, jak to můžete provést,

00:18:18.700 --> 00:18:20.680
můžete snadno spravovat
životních dobách.

00:18:20.680 --> 00:18:25.359
Tak si pamatuj, kde máš
, aby bylo zajištěno odhlášení odběru,

00:18:25.359 --> 00:18:28.600
tak jako v Xamarin Forms, například

00:18:28.600 --> 00:18:32.590
Pokud měníte prvek
nebo pokud přijde něco nového

00:18:32.590 --> 00:18:34.210
v němž se chcete přihlásit k odběru

00:18:34.210 --> 00:18:36.325
a nezajímá vás
starou věc,

00:18:36.325 --> 00:18:40.000
Musíš udělat tu věc, kde
jste se odhlásit od starého,

00:18:40.000 --> 00:18:41.290
přihlásit k odběru nové,

00:18:41.290 --> 00:18:44.920
pak také váš bod vyřazení

00:18:44.920 --> 00:18:48.955
Chcete-li se ujistit, že jste předplatitelní
z těchto událostí také.

00:18:48.955 --> 00:18:50.650
Ale to je to, co se ti povedlo,

00:18:50.650 --> 00:18:57.070
je to, že celá vaše událost
systém řízení pozorování

00:18:57.070 --> 00:19:00.055
může být vyslovován
prostřednictvím zdrojů.

00:19:00.055 --> 00:19:02.740
Děláme to tak a hodně
z těchto věcí

00:19:02.740 --> 00:19:05.215
Kéž by jen tak zatáhli
do the.Net Framework,

00:19:05.215 --> 00:19:08.290
Prozatím však

00:19:08.290 --> 00:19:11.440
Znovu ActiveX máte tyto věci
jako CompositeDisposable.

00:19:11.440 --> 00:19:13.450
Takže ten nápad je
můžete agregovat

00:19:13.450 --> 00:19:17.035
všechny vaše věci do
Jedna datová struktura,

00:19:17.035 --> 00:19:20.260
a pak tuto strukturu dat nyní,

00:19:20.260 --> 00:19:22.225
Můžete se pouze jednou zbavit,

00:19:22.225 --> 00:19:26.125
jednou za život
Třída, která obsahuje, je pryč,

00:19:26.125 --> 00:19:28.540
a nyní všechny události
řízení je postaráno.

00:19:28.540 --> 00:19:33.310
Abyste mohli připojit svůj
PropertyChanged,

00:19:33.310 --> 00:19:37.570
Vaše předplatné TextChanged,
a pak se to prostě zbavujete.

00:19:37.570 --> 00:19:38.650
Takže je to pěkné, protože máš

00:19:38.650 --> 00:19:44.200
Koncepty těchto objektů, které
můžete použít pro své události,

00:19:44.200 --> 00:19:48.740
Takže je to hezké, líbí se mi to.

00:19:51.900 --> 00:19:55.030
Například, jako bych byl
mluvit,

00:19:55.030 --> 00:19:57.430
kde máte instanci

00:19:57.430 --> 00:19:59.725
kde je starý prvek
, ke kterému jste přihlášeni,

00:19:59.725 --> 00:20:01.000
Chci říct, že nový prvek přichází

00:20:01.000 --> 00:20:04.690
v tom případě vás nezajímá
tu starou.

00:20:04.690 --> 00:20:06.310
Takže to má rád tyto skvělé koncepty

00:20:06.310 --> 00:20:08.110
zde, stejně jako sériová likvidace,

00:20:08.110 --> 00:20:09.910
kde všechno, co jste
přiřadit, bude

00:20:09.910 --> 00:20:12.250
automaticky zlikvidovat
věci před ním.

00:20:12.250 --> 00:20:14.980
Takže v těchto myšlenkách,

00:20:14.980 --> 00:20:16.900
nemusíte

00:20:16.900 --> 00:20:19.690
odhlášení od toho, co přišlo
tam, což je opravdu pěkné.

00:20:19.690 --> 00:20:23.530
Ale víte, že tohle je
novou horkost, o kterou se staráš,

00:20:23.530 --> 00:20:25.390
a jakmile se objeví,

00:20:25.390 --> 00:20:28.735
jen se zbavíte
Co tam předtím bylo,

00:20:28.735 --> 00:20:30.370
To vám umožní nastavit

00:20:30.370 --> 00:20:36.470
Tyto opravdu skvělé výrazy
o tom, co chcete udělat.

00:20:37.320 --> 00:20:41.770
Protože spousta věcí s
Reaktivní, která je opravdu pěkná,

00:20:41.770 --> 00:20:47.560
má všechny vaše záměry
na jediném místě.

00:20:47.560 --> 00:20:51.050
Správa událostí je
velmi založené na zpětném volání,

00:20:52.080 --> 00:20:56.320
nezískáte to jako špatný styl
jako totální peklo na zpětném volání,

00:20:56.320 --> 00:20:58.645
ale pořád je milý
stejné věci.

00:20:58.645 --> 00:21:01.330
Je to Správa zpětného volání
a potom interakci

00:21:01.330 --> 00:21:03.760
všechny tyto různé zpětné volání
scénářů v případě, že máte

00:21:03.760 --> 00:21:06.665
to samé, jak jste
řídit jeho životnost.

00:21:06.665 --> 00:21:13.470
Ale udělal to někdo
Xamarin Forms věci?

00:21:13.470 --> 00:21:17.050
Jen mapovám
logické modelingy.

00:21:17.050 --> 00:21:20.455
Takže teď máte představu, kde

00:21:20.455 --> 00:21:25.690
způsob, jakým můžete

00:21:25.690 --> 00:21:27.250
řídí celý životní cyklus

00:21:27.250 --> 00:21:30.635
něco je přesně
v té prostřední části,

00:21:30.635 --> 00:21:33.840
a to je všechno, co musíš udělat.

00:21:33.840 --> 00:21:36.315
Jakmile to tam bude,

00:21:36.315 --> 00:21:40.635
teď kdykoliv přijdeš a
došlo ke změně prvku,

00:21:40.635 --> 00:21:42.650
a záleží jen na
o novém prvku,

00:21:42.650 --> 00:21:47.230
přiřazení nových jednorázových příčin
předchozí k vyřazení,

00:21:47.230 --> 00:21:49.990
Takže nyní všechny vaše události
jsou zcela bez kabelových,

00:21:49.990 --> 00:21:52.645
a nyní začnete
kabeláž nových.

00:21:52.645 --> 00:21:53.860
Pak ve vašem vyřaz,

00:21:53.860 --> 00:21:56.260
máte jen jednu
sériové vyřazení, které je

00:21:56.260 --> 00:22:01.750
Spravovaný prostředek na úrovni třídy,
.

00:22:01.750 --> 00:22:06.880
Takže teď není

00:22:06.880 --> 00:22:10.480
složitost řízení jako
daleko od vaší zálohy.

00:22:10.480 --> 00:22:13.300
Takže tohle vlastně bylo
první věc, která mě dostala do

00:22:13.300 --> 00:22:17.630
Reaktivní programování bylo
jednorázové řízení,

00:22:18.900 --> 00:22:22.150
Myslím, že to bylo jako rok před
Použil jsem ještě něco jiného.

00:22:22.150 --> 00:22:25.540
Jen proto, že jsem měl Silverlight
aplikace, která měla

00:22:25.540 --> 00:22:30.775
některé problémy s odběrem a
pak jsem se k tomu přihodila,

00:22:30.775 --> 00:22:32.815
Takže Tahle věcička je super,

00:22:32.815 --> 00:22:34.870
jsem velmi šťastný.

00:22:34.870 --> 00:22:37.390
Takže to stále mapují některé z

00:22:37.390 --> 00:22:40.120
tyto nápady, které jsou
opravdu pěkné, tak jako tady,

00:22:40.120 --> 00:22:42.700
pamatovat dříve, když jste
Chtěl se přihlásit pouze k odběru

00:22:42.700 --> 00:22:45.445
tuto jedinou událost
chtěl vidět jednou?

00:22:45.445 --> 00:22:48.640
S reaktivní můžete provádět

00:22:48.640 --> 00:22:52.045
Celý koncept zde
s tímto jediným výrazem.

00:22:52.045 --> 00:22:54.160
Takže to všechno říká,

00:22:54.160 --> 00:22:58.839
"Chci pouze jednu hodnotu z
Tato vlastnost byla změněna,

00:22:58.839 --> 00:23:02.680
a v tom okamžiku jsem
Chci, abyste se toho zbavili. "

00:23:02.680 --> 00:23:05.335
Myslím, že je to úžasné,

00:23:05.335 --> 00:23:07.555
Vezměte jeden a pak přepněte,

00:23:07.555 --> 00:23:10.180
což je trochu složité
pochopit, ale ty jsou

00:23:10.180 --> 00:23:13.270
jen dost důvodů
ji používat navždy,

00:23:13.270 --> 00:23:15.340
je to hezké, líbí se mi to.

00:23:15.340 --> 00:23:22.210
Tak tohle je rozpis
Jak fungují operace.

00:23:22.210 --> 00:23:31.670
Takže mám pár demo
Pokud si to uvědomujete v kódu trochu víc,

00:23:33.360 --> 00:23:39.970
ale chtěl jsem dát nějaký koncept
připravit i na vás,

00:23:39.970 --> 00:23:45.700
na některé typy reaktivní
struktury, které používáte,

00:23:45.700 --> 00:23:47.980
jen tak to dává trochu větší smysl.

00:23:47.980 --> 00:23:50.500
Takže jeden ze způsobů jak popsat věci

00:23:50.500 --> 00:23:53.185
s reaktivní je
pomocí diagramů mramoru,

00:23:53.185 --> 00:23:55.075
Existují tedy takové nápady, jak vidět

00:23:55.075 --> 00:24:01.405
váš vstup a výstup.

00:24:01.405 --> 00:24:03.760
Takže nejlepší dva tady,

00:24:03.760 --> 00:24:10.285
Toto je lidová řeč pro
nejreaktivnější informace,

00:24:10.285 --> 00:24:14.800
Takže kdykoliv uvidíš
Uvedené reaktivní operátory,

00:24:14.800 --> 00:24:16.330
vždy jsou popsány
v tomto formátu.

00:24:16.330 --> 00:24:19.810
Takže ten nápad je, že
nejlepší dvě věci jsou datové proudy,

00:24:19.810 --> 00:24:23.480
a ten dolní je
co uvidí váš předplatitel.

00:24:24.420 --> 00:24:27.519
Sloučení by bylo dvěma předplatiteli,

00:24:27.519 --> 00:24:29.980
tak jako při přihlášení k odběru
Chcete-li říct událost TextChanged

00:24:29.980 --> 00:24:36.175
v poli uživatelského jména a
pole pro heslo, například

00:24:36.175 --> 00:24:38.620
kdykoli některý z
Tato změna je

00:24:38.620 --> 00:24:40.690
Jak by váš výstup vypadal.

00:24:40.690 --> 00:24:43.360
Takže tohle jsou některé z
operátory, které jsem použil v demo

00:24:43.360 --> 00:24:44.620
tak jsem si přál

00:24:44.620 --> 00:24:50.350
zajistit, aby byly
pochopil, než jsem se pohnul dál.

00:24:50.350 --> 00:24:53.350
Takže filtr, tohle je
v podstatě jako kde,

00:24:53.350 --> 00:24:57.460
tak v souvislosti s IEnumerable,

00:24:57.460 --> 00:25:00.280
je to přesně jako kde.

00:25:00.280 --> 00:25:02.260
Tak efektivně každá událost, která přijde

00:25:02.260 --> 00:25:05.810
, tak jednoduché, aby to pochopil.

00:25:05.850 --> 00:25:09.100
Debunce, takže tohle je
druhou opravdu chladnou funkci,

00:25:09.100 --> 00:25:11.395
Takže to škrcení vašich vstupů.

00:25:11.395 --> 00:25:13.570
Takže v tomto příkladě jsou

00:25:13.570 --> 00:25:16.210
demonstrovat zde je
že chtějí pouze

00:25:16.210 --> 00:25:17.710
poslední hodnota, která se má vrátit

00:25:17.710 --> 00:25:21.025
po určité
nastavit množství času.

00:25:21.025 --> 00:25:25.840
Takže můžete vidět, že je tu prodleva
mezi jednou a pěti, protože dva,

00:25:25.840 --> 00:25:27.745
tři a čtyři jsou

00:25:27.745 --> 00:25:30.280
děje se tak blízko sebe
pět už vychází.

00:25:30.280 --> 00:25:33.910
Takže toto je kvintezní
Příklad pro reaktivní materiál,

00:25:33.910 --> 00:25:36.850
v případech, kdy jsou uživatelé

00:25:36.850 --> 00:25:39.400
jako hledání pomocí

00:25:39.400 --> 00:25:42.305
Google při psaní
v automatické dokončování,

00:25:42.305 --> 00:25:45.220
ale nechceš si přát kopanec
vždy vypnout webový požadavek,

00:25:45.220 --> 00:25:48.640
tak to bude efektivně to, co
To prokazuje,

00:25:48.640 --> 00:25:50.305
které máme příklad.

00:25:50.305 --> 00:25:56.640
Pak Takedokud je
naposledy používané operátory,

00:25:56.640 --> 00:25:58.110
Takže Takedokud je opravdu uklizené,

00:25:58.110 --> 00:26:01.170
protože to je například
vypadat jako webový požadavek.

00:26:01.170 --> 00:26:04.605
Řekněme webový požadavek
kope,

00:26:04.605 --> 00:26:07.210
a uživatel
začne znovu psát,

00:26:07.210 --> 00:26:09.880
nebo zruší,

00:26:09.880 --> 00:26:11.560
jako by nechtěli
už se to stane,

00:26:11.560 --> 00:26:16.360
Takže to všechno jsou další
body událostí, které můžete udělat,

00:26:16.360 --> 00:26:19.465
a v tom okamžiku snižuje
už mimo váš proud.

00:26:19.465 --> 00:26:22.375
Je to jako opravdu
jednoduchý způsob, jak říct odříznout,

00:26:22.375 --> 00:26:25.940
Pokud nechcete webový požadavek
nebo něco podobného.

00:26:25.940 --> 00:26:32.400
Tak tohle je krach
pozorovatelných věcí,

00:26:32.400 --> 00:26:35.470
tak mě nechte přejít,

00:26:36.080 --> 00:26:39.380
Vydržte vteřinu.

00:26:39.380 --> 00:26:52.660
Bezva, podívejme.

00:26:53.540 --> 00:26:55.875
Je to příliš malé?

00:26:55.875 --> 00:26:57.610
>> Ano.

00:26:58.710 --> 00:27:01.330
>> Je to věc, kterou
udělat, když si uvědomujete

00:27:01.330 --> 00:27:04.000
že jsi nikdy neudělala
to na demo,

00:27:04.000 --> 00:27:07.525
Vlastně jsem nikdy nestoupla
velikost písma v souboru kozy Mac.

00:27:07.525 --> 00:27:16.300
Tak se podívejme. Snažím se
dělat moje věci v systému Windows,

00:27:16.300 --> 00:27:20.540
tak, Hádám, že je to ono.

00:27:22.580 --> 00:27:26.610
Dobře Zkoušel jsem
Moje gesta na podložce.

00:27:26.610 --> 00:27:27.630
Udělal jsem to.

00:27:27.630 --> 00:27:28.650
Udělal jsem dva prsty,

00:27:28.650 --> 00:27:32.670
Já to udělal. Nevím.

00:27:32.670 --> 00:27:35.280
Asi se mi to nestalo.

00:27:35.280 --> 00:27:45.015
Tak jdeme na to. Dobře.

00:27:45.015 --> 00:27:46.740
Při spuštění systému Windows
kde jsi právě narazil

00:27:46.740 --> 00:27:48.615
ovládat a rozdělit.

00:27:48.615 --> 00:27:51.910
Dobře, že všichni
to vidí. Dobře?

00:27:52.070 --> 00:27:55.410
Takže já spustím demo

00:27:55.410 --> 00:27:59.895
rychle jen proto, abychom měli kontext
o tom, co tady děláme.

00:27:59.895 --> 00:28:02.640
Takže tohle je trochu
základní aplikaci.

00:28:02.640 --> 00:28:08.355
Je to jen nápad přihlášení.

00:28:08.355 --> 00:28:14.265
Ano, tak dole mám množinu
událostí, ke kterým dochází,

00:28:14.265 --> 00:28:21.690
Takže je to efektivně
datový proud pozorovatelného zboží.

00:28:21.690 --> 00:28:23.970
Takže všechny události, které jsou
děje s pozornostmi.

00:28:23.970 --> 00:28:25.365
Tak se tady máme přihlásit.

00:28:25.365 --> 00:28:27.240
Toto je tedy uživatel a heslo

00:28:27.240 --> 00:28:28.665
že jsem měl dát
se zástupným protokolem.

00:28:28.665 --> 00:28:34.095
Ale ten nápad tady
Můžu vidět, jestli jsem narazil na dopis.

00:28:34.095 --> 00:28:36.509
Tam. Tak uhodit dopis

00:28:36.509 --> 00:28:39.090
a v tom okamžiku je
ověření vstupu.

00:28:39.090 --> 00:28:41.175
Nyní můžete vidět, že
je tu takové zdržení.

00:28:41.175 --> 00:28:43.935
Právo? Takže když narazím
"O" je zpoždění.

00:28:43.935 --> 00:28:46.170
Takže myšlenka za
To je, že jsi

00:28:46.170 --> 00:28:49.455
Ne-to je ten
, o kterém mluvíte.

00:28:49.455 --> 00:28:54.945
Pokud tedy napíšete "uživatelské jméno"
a "heslo".

00:28:54.945 --> 00:28:59.310
Tam. Uvidíte, že jednou
k tomuto ověření dochází.

00:28:59.310 --> 00:29:01.710
Takže to je jen taková přestávka
Po těchto strukturách, jakmile jsem

00:29:01.710 --> 00:29:04.275
dovnitř, ale to je
nápad.

00:29:04.275 --> 00:29:08.910
Takže. Ano. Moc vzrušující.

00:29:08.910 --> 00:29:11.955
Nyní máme simulované přihlášení.

00:29:11.955 --> 00:29:14.250
Takže tu myšlenku klepu na "login".

00:29:14.250 --> 00:29:18.840
Spustí webový požadavek a potom
v tomto okamžiku se můžete odhlásit.

00:29:18.840 --> 00:29:21.870
Takže je tu nějaký

00:29:21.870 --> 00:29:26.415
Další podíváme se, kolikrát
je potřeba před touto aktivační událostí.

00:29:26.415 --> 00:29:30.090
Takže mám randomizer
tam náhodně

00:29:30.090 --> 00:29:35.415
generovat chyby. Tady to je.

00:29:35.415 --> 00:29:38.400
Cool. Takže tady vidíte, co

00:29:38.400 --> 00:29:41.775
se stalo, že jsem
klepnuli na "login".

00:29:41.775 --> 00:29:44.535
Generoval výjimku.

00:29:44.535 --> 00:29:47.895
Stejně jako výjimka webového požadavku.

00:29:47.895 --> 00:29:51.630
Pak to řekl ok Pojďme
Vyzkoušejte webový požadavek znovu.

00:29:51.630 --> 00:29:59.640
V tom okamžiku
pak mě přihlásil, že?

00:29:59.640 --> 00:30:02.655
Pak se druhý aspekt
To jsem já.

00:30:02.655 --> 00:30:05.070
Jako řekněme, že uživatel
chce zrušit.

00:30:05.070 --> 00:30:09.100
Pokud tedy kliknete na tlačítko přihlásit
mohou kliknout na tlačítko Storno.

00:30:09.350 --> 00:30:13.470
Teď vidíš, že to není
déle zpracovávající data.

00:30:13.470 --> 00:30:16.035
Právo? To proto, že

00:30:16.035 --> 00:30:18.885
je tu nějaká operace
zrušení.

00:30:18.885 --> 00:30:23.805
Takže tohle je demo.

00:30:23.805 --> 00:30:25.815
Ano, tak tohle je ta myšlenka za námi.

00:30:25.815 --> 00:30:27.900
Tohle je kód.

00:30:27.900 --> 00:30:32.160
Ano, takže myšlenka

00:30:32.160 --> 00:30:34.965
za tímto druhem
rozčlenění struktur.

00:30:34.965 --> 00:30:37.935
Protože jsme všichni viděli hodně
z těchto věcí je, že

00:30:37.935 --> 00:30:41.340
To je vyrovnanost
aspekt pozorovatelného zboží.

00:30:41.340 --> 00:30:43.890
Aspekt vyrovnanosti
je, že máte

00:30:43.890 --> 00:30:46.920
Toto znázornění událostí jako

00:30:46.920 --> 00:30:50.730
Tyto jednotlivé datové proudy
můžete začít

00:30:50.730 --> 00:30:55.845
kombinovat s artikusem
chování aplikace.

00:30:55.845 --> 00:31:01.050
Takže když budeme mít App co je
všechny proudy událostí zde.

00:31:01.050 --> 00:31:03.360
Proudy událostí jsou
Máme záznam na

00:31:03.360 --> 00:31:07.065
Nahoře máme záznam
ve druhém poli.

00:31:07.065 --> 00:31:10.320
Jak uživatel zadá
kliknutí na tlačítko přihlásit.

00:31:10.320 --> 00:31:12.975
Tlačítko Storno je na tlačítku
a my máme rádi webový požadavek.

00:31:12.975 --> 00:31:17.205
Takže jsme účinně
pět různých událostí.

00:31:17.205 --> 00:31:20.550
Proudy, které musíme popsat.

00:31:20.550 --> 00:31:28.545
Takže to můžeme rozbít
do reaktivních částí.

00:31:28.545 --> 00:31:32.145
Takže tohle všechno je dost necitující.

00:31:32.145 --> 00:31:37.050
To je stejná věc, kterou jsi
pilu, která je v podstatě

00:31:37.050 --> 00:31:39.180
jen říkám Hej chci vytvořit tento

00:31:39.180 --> 00:31:42.630
pozorovatelná, která naslouchá
na kliknuto.

00:31:42.630 --> 00:31:46.095
Takže tohle je základní aspekt
To je vzrušující.

00:31:46.095 --> 00:31:51.825
Takže vytvoříme pozorovatelný pro
Každý z těchto prvků.

00:31:51.825 --> 00:31:54.030
Máme své přihlašovací jméno.

00:31:54.030 --> 00:31:55.470
Tak to je, když klikli.

00:31:55.470 --> 00:31:56.805
Máme své odhlášení.

00:31:56.805 --> 00:31:58.440
To je, když se oddělají.

00:31:58.440 --> 00:32:01.785
Máme zrušení. To je
Po klepnutí na tlačítko Storno.

00:32:01.785 --> 00:32:06.750
Změna textu
Tady to je, když jsou

00:32:06.750 --> 00:32:09.000
zadání uživatelského jména a máme

00:32:09.000 --> 00:32:12.090
Heslo zde, když jsou
zadání hesla.

00:32:12.090 --> 00:32:15.300
Pak uděláme
falešné volání webové žádosti.

00:32:15.300 --> 00:32:17.670
Takže tohle je jen demonstrace.

00:32:17.670 --> 00:32:20.565
Je to v podstatě jen
čekám dvě sekundy.

00:32:20.565 --> 00:32:22.440
Jakmile to skončí, vygeneruje

00:32:22.440 --> 00:32:26.265
chybu, pokud nějaká náhodná
číslo je dvě.

00:32:26.265 --> 00:32:35.010
Ano. To je naše žádost.

00:32:35.010 --> 00:32:38.250
To je pozorovatelné
reprezentace

00:32:38.250 --> 00:32:41.985
všechny události, ke kterým může dojít
v aplikaci, správně?

00:32:41.985 --> 00:32:43.860
Tak teď tady

00:32:43.860 --> 00:32:47.680
aspekt vyrovnanosti přichází
do hry, která je opravdu chladná.

00:32:48.500 --> 00:32:51.150
A teď všechny ty
různé pozorovatelného

00:32:51.150 --> 00:32:53.220
mít vlastní život.

00:32:53.220 --> 00:33:00.060
Celý
logiku, kterou vidíte

00:33:00.060 --> 00:33:06.990
projevuje se poměrně
jednoduché množství kódu, že?

00:33:06.990 --> 00:33:12.780
Tak tady je náš ověřovací kód.

00:33:12.780 --> 00:33:14.940
Takže teď, co děláme, je
My se stavíme

00:33:14.940 --> 00:33:18.810
Další pozorovatelnosti na
těchto dalších pozorností.

00:33:18.810 --> 00:33:21.990
Právo? To je to, co
její vyrovnanost.

00:33:21.990 --> 00:33:23.640
Takže první je, že jsme

00:33:23.640 --> 00:33:26.520
Řekni dobře, že chceme
Ověřitelná.

00:33:26.520 --> 00:33:29.580
Ověřená zjistitelná
uživatel klepne na tlačítko

00:33:29.580 --> 00:33:33.060
"Přihlásit" a klepnout na tlačítko
off "webový požadavek".

00:33:33.060 --> 00:33:39.090
Takže teď jsme složili tyto dva
nápady pozorovatelných událostí.

00:33:39.090 --> 00:33:42.870
Tato data byla nyní sloučena
datový proud s logout.

00:33:42.870 --> 00:33:47.250
Pokud uživatel klepne na tlačítko Odhlásit
tak to říká "Hej,

00:33:47.250 --> 00:33:48.735
Chci, abyste se odhlásíte.

00:33:48.735 --> 00:33:54.480
Takže máme celý
stav ověření

00:33:54.480 --> 00:34:00.525
aplikace zastoupená
nové zjistitelné ověření.

00:34:00.525 --> 00:34:02.295
Ověřená zjistitelná.

00:34:02.295 --> 00:34:05.295
To je jediný zjistitelný
nám na tom záleží.

00:34:05.295 --> 00:34:07.530
Tak takhle to teď můžeme použít

00:34:07.530 --> 00:34:09.540
pozorovatelné kdekoliv jinde, kde jsme

00:34:09.540 --> 00:34:14.940
Chcete se zeptat, co je
uživatel ověřen.

00:34:14.940 --> 00:34:18.190
Víš, co je potřeba.

00:34:19.910 --> 00:34:22.620
Tak tady máme ověření.

00:34:22.620 --> 00:34:24.720
Naším potvrzením je složení

00:34:24.720 --> 00:34:29.410
Naše uživatelské jméno a heslo
tam je to pěkné.

00:34:29.570 --> 00:34:33.645
Takže to je v podstatě ono.

00:34:33.645 --> 00:34:35.894
Je tam napsáno "Hej,

00:34:35.894 --> 00:34:38.909
Toto jsou datové body
představující platnost. "

00:34:38.909 --> 00:34:43.080
Tyto události transformuje na

00:34:43.080 --> 00:34:47.910
pravda nebo falešná hodnota, kterou
teď může říct "dobře.

00:34:47.910 --> 00:34:53.860
Jaký je stav událostí
které přicházejí? "

00:34:55.190 --> 00:34:58.515
Tak nám to teď dáme

00:34:58.515 --> 00:35:01.455
dohromady-teď můžeme dát
všechny tyhle věci dohromady.

00:35:01.455 --> 00:35:03.120
Tohle je místo, kde
jako funkční

00:35:03.120 --> 00:35:05.295
reaktivní programovací aspekt
přichází do hry.

00:35:05.295 --> 00:35:08.880
Teď můžeme dát všechny tyhle rozdílné
pozorování dohromady

00:35:08.880 --> 00:35:10.485
jedno hezké malé místo

00:35:10.485 --> 00:35:15.255
zde, který popisuje vše
To se bude dít.

00:35:15.255 --> 00:35:17.760
Tak tohle je ta část
To je fakt pěkný.

00:35:17.760 --> 00:35:22.995
Protože s tímhle
aplikace, kterou můžete získat

00:35:22.995 --> 00:35:27.120
Rozsah perspektivy na všech

00:35:27.120 --> 00:35:31.710
logiku právě tím, že má pravdu
zde v tomto kódovým bodu.

00:35:31.710 --> 00:35:36.060
Není třeba
skáčou okolo nebo tak něco.

00:35:36.060 --> 00:35:40.170
Je to nezměnitelné místo založené na

00:35:40.170 --> 00:35:46.485
neměnná data pro úpravy
jak tyto datové body fungují.

00:35:46.485 --> 00:35:50.190
Takže je to hezké, protože
je to pěkná snadná cesta.

00:35:50.190 --> 00:35:53.490
Tak jako data, která přicházejí
v této výsledné hodnotě

00:35:53.490 --> 00:35:57.450
je neměnná struktura.

00:35:57.450 --> 00:36:00.435
Potom na základě těchto dat
znají ověřitelné.

00:36:00.435 --> 00:36:02.760
Tak co to dělá
říká, co je

00:36:02.760 --> 00:36:06.315
stav ověřování je, zda
jste ověřeni nebo ne.

00:36:06.315 --> 00:36:10.845
Platný znamená, zda
Zadaná pověření jsou platná.

00:36:10.845 --> 00:36:12.360
Pak na základě toho

00:36:12.360 --> 00:36:17.320
nastavíte viditelnost
vaší aplikace.

00:36:20.170 --> 00:36:22.890
Ano, takže můžete nastavit
jako viditelnost

00:36:22.890 --> 00:36:26.200
vaší aplikace. Takže je to pěkné.

00:36:28.340 --> 00:36:31.905
Tak se na to podíváme.

00:36:31.905 --> 00:36:34.350
Mám ještě jednu ukázku a rychle,

00:36:34.350 --> 00:36:36.820
jen malou.

00:36:39.350 --> 00:36:43.725
Oops, trochu moc velký
Tam. Tady to je.

00:36:43.725 --> 00:36:45.345
Všichni to vidí, jasný?

00:36:45.345 --> 00:36:50.400
Ano. Dobře. Mám
jako na Githubové Repos.

00:36:50.400 --> 00:36:53.520
Používá se trochu
reaktivních věcí uživatelského rozhraní,

00:36:53.520 --> 00:36:55.695
Ale nech mě to Ukázat.

00:36:55.695 --> 00:37:00.730
Toto obsahuje několik různých ukázek
, na které se můžete podívat.

00:37:02.360 --> 00:37:10.240
Doufejme, že běží. Je to
již spuštěna? Tady to jde.

00:37:10.940 --> 00:37:14.980
Takže spousta z nich je
jednoduché věci, které vidíte.

00:37:15.050 --> 00:37:17.775
Podíváme se na
pozici demo, protože jsme

00:37:17.775 --> 00:37:19.905
tady běží málo času.

00:37:19.905 --> 00:37:21.900
Takže představa pozice demo

00:37:21.900 --> 00:37:24.810
je to, že sledujete
ukazatel myši.

00:37:24.810 --> 00:37:30.780
To má další oblíbený příklad
pro reaktivní koncepty.

00:37:30.780 --> 00:37:32.055
Tak zatlač dolů.

00:37:32.055 --> 00:37:33.660
Detekuji vás v tisku.

00:37:33.660 --> 00:37:34.740
Přesunete-li ukazatel myši,

00:37:34.740 --> 00:37:36.000
Nyní je odhalovat, že jste se přestěhovali,

00:37:36.000 --> 00:37:37.380
a pak ho necháš jít a dá

00:37:37.380 --> 00:37:40.335
agregaci všech dat.

00:37:40.335 --> 00:37:49.380
Je to trochu rozbitý

00:37:49.380 --> 00:37:51.720
protože potřebuji
popisy,

00:37:51.720 --> 00:37:56.080
ale je to opravdu pěkné, protože
všechno, co musíš doopravdy udělat,

00:37:56.120 --> 00:37:58.905
jste nastavili ukazatel myši na událost.

00:37:58.905 --> 00:38:01.200
Takže máte ukazatel
tisk, který říká,

00:38:01.200 --> 00:38:03.840
"Hej, zmáčknul jsem myš."

00:38:03.840 --> 00:38:06.840
Teď, jakmile se to
se stalo, říkáš "dobře,

00:38:06.840 --> 00:38:10.395
Chci se přihlásit k odběru
ukazatel přesunutý kolem. "

00:38:10.395 --> 00:38:14.170
Toto je nyní ukazatel
pohyb.

00:38:14.240 --> 00:38:16.800
Jak se teď pohybuje,

00:38:16.800 --> 00:38:20.085
Stahuji všechna tato data
společně,

00:38:20.085 --> 00:38:23.145
a pak dva operátory seznamu, zde

00:38:23.145 --> 00:38:24.960
Nyní je schopen
agregovat všechna data

00:38:24.960 --> 00:38:27.405
dohromady do jediné množiny dat.

00:38:27.405 --> 00:38:29.760
A pak, až to bude

00:38:29.760 --> 00:38:32.220
jediná operace, která
jsme tu ukazovali.

00:38:32.220 --> 00:38:34.170
Je tam napsáno "Hej, dobře,
Chci jen, abys

00:38:34.170 --> 00:38:36.270
Vezměte si tato data a sdělte
Ukazatelé. "

00:38:36.270 --> 00:38:38.309
Takže to máš opravdu
Skvělá interakce

00:38:38.309 --> 00:38:40.020
ze všech těchto událostí, které mají říci,

00:38:40.020 --> 00:38:41.940
protože všechno, co jsi opravdu chtěla
říct, že chci přestěhovat

00:38:41.940 --> 00:38:44.130
myš kolem a když
nechali se pustit myší,

00:38:44.130 --> 00:38:45.810
Chci všechna data, která tam byla.

00:38:45.810 --> 00:38:47.160
Takže si můžeš vzít tohle všechno

00:38:47.160 --> 00:38:50.505
zastoupen v tomto hezkého
malé předplatné.

00:38:50.505 --> 00:38:55.120
Takže tohle je jedna z
těchto hlavních příkladů.

00:38:57.130 --> 00:39:03.360
Ano, tak to je rychlá slabikář
do reaktivních konceptů.

00:39:04.690 --> 00:39:08.940
Je tu spousta
Dobré rámce.

00:39:11.210 --> 00:39:16.740
Oops, není užitečný. Tady to je.

00:39:16.740 --> 00:39:23.280
Ano. Tak tohle je ta myšlenka za
většinu pozorovatelného zboží.

00:39:23.280 --> 00:39:25.530
Michael bude mluvit
o trochu více o použití

00:39:25.530 --> 00:39:28.545
těchto rámců s MVVM.

00:39:28.545 --> 00:39:32.880
Je tu spousta opravdu mocných
nástroje jako dynamická data.

00:39:32.880 --> 00:39:35.100
Vyberte dynamická data, je

00:39:35.100 --> 00:39:37.590
opravdu skvělá platforma

00:39:37.590 --> 00:39:41.985
pro supervelmoc ve vašich seznamech
s pozornostmi.

00:39:41.985 --> 00:39:43.890
Takže myšlenka je, že můžete

00:39:43.890 --> 00:39:46.995
v podstatě
všechno a pozorovatelné.

00:39:46.995 --> 00:39:49.660
Můžete ji podepsat,
To jsem nevěděla.

00:39:51.470 --> 00:39:53.610
Hádám, že opravdu rychle,

00:39:53.610 --> 00:39:55.960
má někdo nějaké otázky?

00:39:57.410 --> 00:40:00.720
Ano, Same. Ale ano.

00:40:00.720 --> 00:40:04.095
Prostě tam půjdeme. Budeme
klást otázky asi 35 minut.

00:40:04.095 --> 00:40:05.520
>> Tak mluv o

00:40:05.520 --> 00:40:10.380
uzavření
a všechny ty věci.

00:40:10.380 --> 00:40:14.220
Mluvit o tom, proč pozorovatelného
jsou lepší [neslyšitelné].

00:40:14.220 --> 00:40:20.460
>> Ano, tak jsem

00:40:20.460 --> 00:40:24.045
Asi bych řekl, protože
vedení-otázka byla,

00:40:24.045 --> 00:40:25.680
při úniku paměti,

00:40:25.680 --> 00:40:28.290
Proč je to skutečnost, že vrací

00:40:28.290 --> 00:40:31.245
jednorázový lepší první
říct správu paměti?

00:40:31.245 --> 00:40:33.090
Ten nápad je jen, ano,

00:40:33.090 --> 00:40:37.230
je to tím, že
je to život

00:40:37.230 --> 00:40:43.665
pozorovatelná je aspekt
předplatného.

00:40:43.665 --> 00:40:46.920
Takže když se přihlásíte k odběru
, ty se vrátíš,

00:40:46.920 --> 00:40:49.395
protože kdykoliv dostaneš
na jedno použití,

00:40:49.395 --> 00:40:51.270
Víte, že máte
se ho zbavit.

00:40:51.270 --> 00:40:54.630
Jako to je to paradigma, které jsme používali.

00:40:54.630 --> 00:40:57.060
Tak to je ten nápad.

00:40:57.060 --> 00:41:01.365
Je to tím, že se ventiluje
zvláště pro nové programátory,

00:41:01.365 --> 00:41:03.660
Vždycky si budou
udělat to jako chybu

00:41:03.660 --> 00:41:07.700
kde je něco jako

00:41:07.700 --> 00:41:08.810
přežít něco jiného

00:41:08.810 --> 00:41:10.250
protože to musíš pochopit.

00:41:10.250 --> 00:41:15.360
Jednorázové použití je však
základním konceptem.

00:41:15.360 --> 00:41:19.155
Takže je to jako součást
předplatného

00:41:19.155 --> 00:41:22.860
umožňuje správu paměti
scénářů.

00:41:22.860 --> 00:41:25.440
Ano.

00:41:25.440 --> 00:41:26.940
Nějaké další otázky?

00:41:26.940 --> 00:41:28.727
Ano.

00:41:28.727 --> 00:41:35.250
>> [neslyšitelný].

00:41:35.250 --> 00:41:39.060
>> Ano. Otázka tedy byla,

00:41:39.060 --> 00:41:41.985
můžete použít reaktivní programování

00:41:41.985 --> 00:41:45.060
s věcmi, jako jsou úkoly nebo
asynchronní programování?

00:41:45.060 --> 00:41:50.865
Ano. Úkol je tedy efektivně
jednobodové oznámení.

00:41:50.865 --> 00:41:53.355
Pokud tedy máte úkol,

00:41:53.355 --> 00:41:57.210
Existují tři datové body pro
úkol, který je přesně stejný jako

00:41:57.210 --> 00:42:02.175
Náš iterátor, když jsme to naznačovali.

00:42:02.175 --> 00:42:05.040
Takže když napíšete úkol-dobře,

00:42:05.040 --> 00:42:06.615
Nevím, kde je
blíží se. Dobře.

00:42:06.615 --> 00:42:08.190
Pokud tedy máte úkol,

00:42:08.190 --> 00:42:14.145
vytvoříte úkol tak, aby byl
máte ji na začátku,

00:42:14.145 --> 00:42:19.724
poté úlohu spustíte
Takže teď běží,

00:42:19.724 --> 00:42:23.355
a potom úloha vytvoří hodnotu,

00:42:23.355 --> 00:42:26.445
To jsou výsledky vašich bodů
které nikdo z nás nepíšete,

00:42:26.445 --> 00:42:29.970
a pak skončí na
dokončení.

00:42:29.970 --> 00:42:31.440
Takže v tom okamžiku

00:42:31.440 --> 00:42:35.190
můžete mít jeden datový bod pozorovatelný.

00:42:35.190 --> 00:42:40.680
Takže jednorázové vytváří věci

00:42:40.680 --> 00:42:42.900
které fungují přesně proti úkolu tak

00:42:42.900 --> 00:42:45.180
můžete vytvořit
k úkolu pozorovatelná.

00:42:45.180 --> 00:42:49.125
Co se tedy stane, když
se přihlásíte k odběru této pozorovatelné,

00:42:49.125 --> 00:42:54.494
bude efektivně spouštět úlohu
a jakmile se to stane,

00:42:54.494 --> 00:42:56.190
která vrátí výsledky.

00:42:56.190 --> 00:42:59.655
Takže vznikne jedna hodnota
a pak to skončí.

00:42:59.655 --> 00:43:01.410
Tak to je další věc
To je fakt super

00:43:01.410 --> 00:43:03.600
užitečné, protože pokud se tato úloha nezdaří,

00:43:03.600 --> 00:43:05.040
máš svoje věci s

00:43:05.040 --> 00:43:07.485
pozorovatelnosti, kde
může zachytit výjimku.

00:43:07.485 --> 00:43:13.500
Například scénáře
například jako asynchronní void.

00:43:13.500 --> 00:43:16.575
Asynchronní neplatné je nevýdejní
s pozornostmi.

00:43:16.575 --> 00:43:18.495
Nikdy se nemusíš bát o

00:43:18.495 --> 00:43:21.970
asynchronní neplatná Pokud jste
pozorování.

00:43:22.040 --> 00:43:26.520
Tak například víte, jak jste
Možná chcete spustit asynchronní úlohu

00:43:26.520 --> 00:43:28.050
z konstruktoru nebo podobných věcí jako

00:43:28.050 --> 00:43:30.060
Tyto problémy z
osoby s pozornostmi,

00:43:30.060 --> 00:43:31.200
to není ani scénář,

00:43:31.200 --> 00:43:34.320
protože úkol je třeba zabalit do

00:43:34.320 --> 00:43:36.180
pozorovatelná a pak máte

00:43:36.180 --> 00:43:39.225
chování výjimky jako součásti
pozorovatelné s úkolem.

00:43:39.225 --> 00:43:40.710
Takže ano, pracují.

00:43:40.710 --> 00:43:42.060
Jsou skvělí na úkoly.

00:43:42.060 --> 00:43:43.770
Tak jsem zapomněla, kdo mluví.

00:43:43.770 --> 00:43:46.260
Jeffrey nebo něco podobného
o tom mluví;

00:43:46.260 --> 00:43:48.015
informace o tom, jak jsou úkoly

00:43:48.015 --> 00:43:50.010
Super špatná a měla bys
používat jen pozorování.

00:43:50.010 --> 00:43:51.360
Ale ano, jakmile začnete používat

00:43:51.360 --> 00:43:53.685
pozorovatelného zejména
v kódu uživatelského rozhraní,

00:43:53.685 --> 00:43:55.260
budete efektivně jednoduše umístit

00:43:55.260 --> 00:43:57.420
fasáda před všemi
úkolů, protože

00:43:57.420 --> 00:44:02.080
stane se mnohem jednodušší
zvládat prostřednictvím pozorovatelností.

00:44:02.450 --> 00:44:04.905
Nějaké další otázky?

00:44:04.905 --> 00:44:07.840
Já si dám šhh.

00:44:09.380 --> 00:44:12.870
Můžu si ještě jednu vzít
Otázka? Ne? Dobře, ne.

00:44:12.870 --> 00:44:15.075
Odpovídám na váš
otázky hned potom.

00:44:15.075 --> 00:44:17.340
Cool. Takže ano, jsem Shane.

00:44:17.340 --> 00:44:20.500
To jsou mé pozorovatelnosti.

