c#, xaml in mvvm: orodja pri razvoju aplikacij za windows store
DESCRIPTION
A presentation about the architecture of WIndows Store applications.TRANSCRIPT
![Page 1: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/1.jpg)
C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store
Damir ArhAdacta d.o.o.@DamirArh
![Page 2: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/2.jpg)
C++ + XAML
Zakaj C# in XAML?
JavaScript + HTML
C#/VB + XAML
![Page 3: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/3.jpg)
Agenda
• Model-View-ViewModel• ViewModelLocator• IoC Container• Unit testing• Mocking• Local caching
![Page 4: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/4.jpg)
Model-View-ViewModel
View• XAML• Data binding
ViewModel• Priprava podatkov• Podpora interakciji
Model• Dostop do podatkov• Poslovna logika
http://bit.ly/MvvmLighthttp://bit.ly/CaliburnMicro
![Page 5: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/5.jpg)
Apache Hadoop v Windows Azure
OSNOVNO
OGRODJE
APLIKACIJE
Demo
![Page 6: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/6.jpg)
Drugačni podatki za designer
View Model
Runtime model
Designer model
![Page 7: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/7.jpg)
Apache Hadoop v Windows Azure
DEPENDENCY INJECTION
IN
VIEW MODEL LOCATOR
Demo
![Page 8: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/8.jpg)
Managed Extensibility Framework
[Export]Model1 : IModel
[Export]Model2 : IModel
[Export]Model3 : IModel
CompositionHost
[Import]ExportFactory<IModel>
[Import]IModel
http://bit.ly/MefPortable
![Page 9: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/9.jpg)
Apache Hadoop v Windows Azure
MEF KOT
IOC CONTAINER
Demo
![Page 10: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/10.jpg)
Testiranje razredov
• Testiranje asinhronih metod• Referenca na aplikacijo za Windows Store• Izvajanje testov v peskovniku
• Predloga za Unit Test Library• MSTest• Visual Studio Test Runner
![Page 11: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/11.jpg)
Apache Hadoop v Windows Azure
TESTIRANJE ASINHRONIH METOD
V APLIKACIJAH ZA WINDOWS STORE
Demo
![Page 12: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/12.jpg)
Mocking
• Slabost prikazanega testa?– Vhodne podatke fiksno določa uporabljeni model
• Rešitev?– Implementacija modela z nastavljivim naborom
vhodnih podatkov
http://bit.ly/MoqRT
![Page 13: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/13.jpg)
Apache Hadoop v Windows Azure
MODEL Z
DINAMIČNO NASTAVLJIVIMI
IMPLEMENTACIJAMI METOD
Demo
![Page 14: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/14.jpg)
Lokalno shranjevanje podatkov
• Razred Windows.Storage.ApplicationData– Nastavitve• LocalSettings• RemoteSettings
– Datoteke• LocalFolder• RemoteFolder• TemporaryFolder
![Page 15: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/15.jpg)
Knjižnice za lokalno predpomnjenje
• SQLite– http://bit.ly/SQLiteExtension – http://bit.ly/SQLiteNet
• Q42.WinRT– http://bit.ly/Q42WinRT
![Page 16: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/16.jpg)
Apache Hadoop v Windows Azure
LOKALNO SHRANJEVANJE
STRUKTURIRANIH PODATKOV
Demo
![Page 17: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/17.jpg)
Apache Hadoop v Windows Azure
LOKALNO PREDPOMNJENJE SLIK
Demo
![Page 18: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/18.jpg)
Končni rezultat
• Šibko sklopljena arhitektura– Izolirane dodelave– Enostavne menjave gradnikov– Testiranje funkcionalnosti
• Preostali izzivi– Navigacija med stranmi– „Modalna“ pogovorna okna– Življenjski cikel aplikacije
![Page 19: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/19.jpg)
Pregled uporabnih knjižnic
• http://bit.ly/WinRTXAMLToolkit • http://bit.ly/CallistoWinRT• http://bit.ly/MvvmLight• http://bit.ly/CaliburnMicro• http://bit.ly/MefPortable • http://bit.ly/Q42WinRT • http://bit.ly/SQLiteNet
![Page 20: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/20.jpg)
Apache Hadoop v Windows Azure
VAŠA
VPRAŠANJA
?
![Page 21: C#, XAML in MVVM: Orodja pri razvoju aplikacij za Windows Store](https://reader036.vdocuments.site/reader036/viewer/2022062308/55878107d8b42acc4c8b470f/html5/thumbnails/21.jpg)
Apache Hadoop v Windows Azure
Hvala za udeležbo in prosim izpolnite ankete.