Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
28
WprowadzeniedoprogramowaniauniwersalnychaplikacjidlaplatformyWindows
}
app.start();
})();
Projektutworzonywedługpowyższegoprzepisumastrukturęanalogicznądo
aplikacjiinternetowej.Statycznedeklaracjeinterfejsuużytkownikazawartewpliku
default.html,asposóbichformatowaniawplikudefault.css.Zkoleideklaracjęlogiki
zawieraplikdefault.js.
Wartozwrócićuwagęnanagłówekplikudefault.html(sekcjaplikupomiędzy
znacznikami
head
).Zawieraonmiędzyinnymitytułwidoku,któryjestprezentowany
wgórnympaskuoknaaplikacjiuruchamianejwtrybiedesktop.Kolejnepolecenia
importująbibliotekiWindowsLibraryforJavaScript(WinJS)orazplikidefault.css
idefault.js.BibliotekaWinJSskładasięzzestawuplikówCSSorazJavaScriptistanowi
interfejsprogramistycznydotworzeniauniwersalnychaplikacjiWindows.Wszcze-
gólnościudostępniaonazestawkontrolekorazobiektyimetodyanalogicznedo
dostępnychwprzypadkuinterfejsówprogramistycznychwykorzystującychjęzyki
C#,VisualBasicorazC++/CX.
Pomiędzyznacznikamibodyplikudefault.htmlumieszczonodeklaracjeprzycisku
orazlisty.Przycisksłużydowyświetlaniaoknadialogowego,alistadoprezentacji
odpowiedziużytkownika.Odpowiedniemetodyzdarzeniowezaimplementowano
wplikudefault.js(listing1.10).Wtymmiejscuwartoomówićjegoogólnąstrukturę.
Zawieraonbowiemdefnicjęsamouruchamiającejsięanonimowejfunkcji.Taka
konstrukcja,któranapierwszyrzutokawydajesiębyćnadmiarowa,pozwalaoddzie-
lićzasięglogikidanegowidokuodpozostałychelementówaplikacjiorazpoprawić
wydajnośćkoduźródłowego.
Pierwszaliniaanonimowejfunkcjizawieradeklarację
usestrict
.Jejwystę
-
powaniewplikachskryptówJavaScriptmaanalogiczneznaczeniejakdeklaracja
OptionExplicit
wjęzykuVisualBasiciwprowadzadodatkowerestrykcjeuła-
twiająceunikaniebłędów.Wśródtychrestrykcjinależywyróżnićbrakmożliwości
niejawnegodeklarowaniazmiennych(zpominięciemsłowakluczowegovar)albo
zmianywartościzapisanychwewłaściwościachobiektów,któretylkodoodczytu.
Bezpośredniopoddeklaracjąusestrictznajdująsiępoleceniainicjująceapli-
kację(obiektapp)orazjejaktywację.Domyślniefunkcjaskojarzonazezdarzeniem
app.onactivatedzawieradwieinstrukcjesterujące.Pierwszaznichsprawdza
sposóbaktywacjiaplikacji,adrugakontroluje,czydziałaniezostałowznowione.
PoaktywacjiaplikacjinastępujeasynchroniczewywołaniefunkcjiWinJS.
UI.processAll
,któraanalizujestrukturędokumentuHTMLinatejpodstawie
konfgurujekontrolki,międzyinnymiwiążejezodpowiednimiźródłamidanychna
potrzebymechanizmudatabinding(patrzrozd.3).
Funkcjęobsługującązdarzenieaktywacjiaplikacjimożnawykorzystaćdokon-
fguracjimetodzdarzeniowch(patrzrozdz.3).Wpowyższymprzykładziezostała
wtensposóbpowiązanafunkcjamainButtonClickHandlerzprzyciskiem
oidentyfkatorzemainButton.Dotegocelu,pouzyskaniureferencjidoprzycisku