Windows 8 apps dev.整理及分享
- 4. 主要语言 C# + XAML
C#有什麼厲害的地方?
● LINQ
● Lambda
● 非同步程式 Async / Await
XAML是什麼? 我只知道XML
● Data Binding
● INotifyPropertyChanged
● Bindable
- 8. C# - 非同步程式 Async / Await
避免效能瓶頸和增強應用程式整體回應。
讓畫面不會卡住,提升使用者經驗。
資料來源:msdn - async
- 9. C# - 非同步程式 Async / Await
過去我們這麼寫..
假設這個request花1秒完成,你就App就卡住1秒
資料來源:msdn - async
- 10. C# - 非同步程式 Async / Await
現在我們可以這樣寫..
呼叫此方法時會產生另一個"執行序"來執行任務,簡單來說就
是叫別人去買晚餐當你繼續看電視。
資料來源:msdn - async
- 11. XAML
XAML
XAML 的全名為 Extensible Application Markup Language,原為 WPF
(Windows Presentation Framework) 的一部份,是一種基於 XML 衍生而出的宣
告式使用者介面描述語言,外觀與 HTML 相似,平台會自動透過 .Net Framework
中的反射 (Reflection) 機制,將 XAML 中描述的物件,轉換為平台上使用的語言
宣告、定義,以方便在之後供 Code-Behind 的程式碼使用或是進行互動。
- 21. 减少痴颈别飞的颁辞诲别
MVVM XAML code lines
Windows 8 X 751
WP8 O 121
資料來源:msdn - Implementing the MVVM Pattern
- 22. Windows 8
and
Windows Phone 8
你可能以為他們都一樣
事情不是像憨人想的那麼簡單
- 23. Overlap of XAML controls
Windows 8 Windows Phone 8
AppBar ApplicationBar
ComboBox ListPicker
GridView, ListView LongListSelector,
LongListMultiSelector
ToggleSwitch Toggle
VarableSizeWrapGrid, WrapPanel
WrapGrid
WebView WebBrowser
Panorama
Pivot
資料來源:msdn - XAML controls comparison
- 25. Navigation
Windows 8
//直接傳物件
Frame.Navigate(typeof(DetialsPage), e.CleckedItem);
Windows Phone 8
//傳參數
NavigationService.Navigate(
new Uri("/DetailsPage.xaml?Id=10, UriKind.
Relative));
- 26. 還有很多
● Storing Files - Local
● Storing Files - Roaming
● ...
請參考WP to W8: API Mapping
還有許多 驚喜等你去發現。