Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
tylkodoskonałysystemtypów,alejestjeszczelepszywwyłapywaniubłędówwczasie
kompilacji.StatycznysystemtypówTypeScriptjestopartyna„kaczymtypowaniu”(jeśli
cośwyglądajakkaczkaibrzmijakkaczka,traktujtojakkaczkę),podczasgdyC#maścisły
systemtypówzapewniający,żeobiekt,któryprzekazujemy,jestwystąpieniemkonkretne-
gotypu.JęzykC#zawszepriorytetowotraktowałśrodowiskoprogramistycznezobsługą
analizyprzepływu,uzupełnianieminstrukcji,rozbudowanymekosystememiniezawodną
refaktoryzacją.C#tonowoczesny,zorientowanyobiektowoibezpiecznypodwzględem
typówjęzykprogramowania,którystaleewoluujeidojrzewa,dalejposzerzającswoje
możliwości.Jestopartynaotwartymkodzieźródłowym,aśrodowiskoprogramistów
częstoinspirujejegotwórcówiwpływananowefunkcjejęzyka.
Biorąctowszystkopoduwagę,BlazorzapewniarównieżwspółpracęzJavaScript.
MożemywywoływaćfunkcjeJavaScriptzkoduBlazorimożemywywołaćkod.NETze
swojegokoduJavaScript.Jesttoprzydatnafunkcjaumożliwiającawykorzystanieistnieją-
cychfunkcjijęzykaJavaScriptorazinterfejsówAPInapisanychwJavaScript.
DlaczegowartokorzystaćzBlazor
IstniejąinteresującenowescenariuszespecyficznedlaWebAssembly,któreniebyłyreali-
stycznieosiągalnezapomocąsamegojęzykaJavaScript.Łatwosobiewyobrazićaplikacje
dostarczaneprzezInternetdoprzeglądarki,obsługiwaneprzezWebAssemblywprzypad-
kachbardziejzłożonychiwymagającychdużychzasobów.Jeśliktośwcześniejniesłyszał
oAutoCAD,jesttooprogramowaniedoprojektowaniawspomaganegokomputerowo,
zktóregokorzystająarchitekci,inżynierowieispecjaliścibudowlaniprzytworzeniurysun-
kówdwuwymiarowychitrójwymiarowych.Jesttoaplikacjakomputerowa,alewyobraźmy
sobie,żemożemyuruchomićtakiprogrambezpośredniowprzeglądarceinternetowej.
Wyobraźmysobieedycjęaudioiwideoalbograniewrozbudowaneiwymagającedużych
zasobówgrywprzeglądarce.WebAssemblypozwalanamniecoprzeobrazićsiećWWW
.
Platformaaplikacjiinternetowychmożebyćkolejnymmechanizmemdostarczanianowej
generacjioprogramowania.Platformadotworzeniaaplikacjiinternetowychnadalewolu-
uje,rośnieidojrzewa.SystemyprzetwarzaniaipozyskiwaniadanychopartenaInternecie
rozwijająsiędziękiłącznościzeświatem.Platformadotworzeniaaplikacjiinternetowych
służyjakośrodekłączącywyobraźnięprogramistyipragnieniaużytkownika.
ProgramiścimogąnadalrozszerzaćswojeumiejętnościwzakresieC#iRazornatwo-
rzenieaplikacjiSPA,zamiastuczyćsiędodatkowegojęzykaiplatformyrenderowania.
ProgramiściC#,którzywcześniejniebyliskłonnidopisaniaaplikacjiSPA,terazprze-
chodzązMVCnaSPApoprostudlatego,że„towciążjęzykC#”
.Dodatkowopotencjał
współdzieleniakodumiędzyróżnymiaplikacjamijestogromny.Zamiastpilnować,aby
kontraktyinterfejsówAPIwjęzykuC#naserwerzebyłyręczniezgranezdefinicjamiw-
zykuTypeScript,możnapoprostuużyćtegosamegoplikukontraktówwrazzewszystkimi
atrybutamisprawdzaniapoprawnościprzyużyciu
DataAnnotation
.
8
|
Rozdział1:WprowadzeniedoBlazor