Razvoj aplikacij Metro za Windows 8
-
Upload
damir-arh -
Category
Technology
-
view
2.563 -
download
5
description
Transcript of Razvoj aplikacij Metro za Windows 8
Nivo 300
Razvoj aplikacij Metro za Windows 8Damir Arh, Adacta d.o.o.Arhitekt programske opremeMVP – Data Platform Development
[email protected]://twitter.com/@DamirArh/ http://www.damirscorner.com/
Nivo 300
Podprta razvojna okolja
JavaScript + HTML
C#/VB+ XAML
C+++ XAML
Nivo 300
Kaj sploh potrebujem?• Windows 8 (Consumer Preview)• Visual Studio 11 (Beta)• Express for Windows 8
• Razvijalsko licenco• Veljavnost: 30 dni• Vezana na Live ID
Nivo 300
Pa začnimo…
Nivo 300
Mapa Common• LayoutAwarePage• RichTextColumns• BooleanNegationConverter• BooleanToVisibilityConverter• BindableBase• StandardStyles.xaml
Nivo 300
Struktura predloge strani• Osnovna postavitev: FullScreenLandscape• VisualStateManager• FullScreenPortrait• Filled• Snapped
Nivo 300
Delo z datotekami• Razred Windows.Storage.ApplicationData• Nastavitve
• LocalSettings• RemoteSettings
• Datoteke• LocalFolder• RemoteFolder• TemporaryFolder
• C:\Users\Username\AppData\Local\Packages
Nivo 300
WinRT tokovi v ogrodju .NET
StorageFolder dir = ApplicationData.Current.LocalFolder;StorageFile file = await folder.GetFileAsync(filename);IInputStream inStr = await file.OpenSequentialReadAsync();Stream stream = inStr.AsStreamForRead();
StorageFolder dir = ApplicationData.Current.LocalFolder;StorageFile file = await folder.GetFileAsync(filename);IRandomAccessStream rndStream = await file.OpenAsync(FileAccessMode.ReadWrite);IOutputStream outStream = rndStream.GetOutputStreamAt(0)Stream stream = outStream.AsStreamForWrite();
Nivo 300
Asinhronost
IAsyncOperation<StorageFile> GetFileAsync(string token)Task<WebResponse> GetResponseAsync()
public async Task<string> GetAsync(){ return await FileIO.ReadTextAsync(myFile);}
• Kadar je trajanje daljše od 50 ms• Async/await• Dispatcher.Invoke() ni potreben
Nivo 300
Aplikacije Metro != .NET 4.5• Prenos obstoječih aplikacij ni enostaven• WinRT (imenski prostor Windows)• Manjkajoči razredi glede na ogrodje .NET
• Kaj pa novi projekti?• Knjižnica s skupno poslovno logiko• Ločeni uporabniški vmesniki
Nivo 300
Dodatne knjižnice• Trenutno skromna izbira• MVVM Light for Windows 8 Consumer Preview
• http://bit.ly/MVVMLightWin8
• Autofac Portable• http://bit.ly/AutofacPortable
• Reactive Extensions v2.0• http://bit.ly/Rx2beta
• SQLite3 WinRT• http://bit.ly/SQLite3WinRT
Nivo 300
Testiranje• Izboljšave v Visual Studiu 11• Možnost uporabe drugih testnih ogrodij
• http://bit.ly/VS11UnitTestPlugins
• Podprto testiranje asinhronih metod
public async Task TestMethod()
!=
public async void TestMethod()
Nivo 300
Nameščanje• Privzeto le aplikacije iz trgovine• Izjemi:• Razvijalska licenca• “Sideloading”
• http://bit.ly/Win8Sideloading
• Remote Tools for Visual Studio 11• http://bit.ly/VS11BetaRemoteTools
Nivo 300
Viri• Windows 8 Consumer Preview• http://bit.ly/Win8CP
• Visual Studio 11 Beta• http://bit.ly/VS11beta
• Dev Center – Metro Style Apps• http://bit.ly/DevCenterMetro
• Metro Style App Samples• http://bit.ly/MetroAppSamples
• MSDN Forums• http://bit.ly/MSDNForumsMetro
Nivo 300
VPRAŠANJA?
Po zaključku predavanja, prosimo, izpolnite vprašalnik.
Vprašalniki bodo poslani na vaš e-naslov, dostopni pa bodo tudi preko profila na spletnem portalu konference www.ntk.si.
Najlepša hvala!