Windows 8 apps dev.整理及分享
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Windows 8 apps dev.整理及分享

on

  • 813 views

 

Statistics

Views

Total Views
813
Views on SlideShare
808
Embed Views
5

Actions

Likes
2
Downloads
9
Comments
0

1 Embed 5

http://www.linkedin.com 5

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Windows 8 apps dev.整理及分享 Presentation Transcript

  • 1. Windows 8 Apps Dev.整理及分享Liyao Chen.
  • 2. 開發環境OS: Windows 8IDE: Visual Studio 2012
  • 3. 主要語言C# + XAML當然你也可以用JavaScript + HTML + CSSC++不過這裡不討論就是了
  • 4. 主要語言 C# + XAMLC#有什麼厲害的地方? ● LINQ ● Lambda ● 非同步程式 Async / AwaitXAML是什麼? 我只知道XML ● Data Binding ● INotifyPropertyChanged ● Bindable
  • 5. C# - LINQ以簡單、直覺的方式查詢資料,並且讓你為資料進行分組。-深入淺出C#
  • 6. C# - Lambda 物件搜尋?參考資料:Huan-Lin學習筆記
  • 7. C# - Lambda 物件資料子集?
  • 8. C# - 非同步程式 Async / Await避免效能瓶頸和增強應用程式整體回應。讓畫面不會卡住,提升使用者經驗。資料來源:msdn - async
  • 9. C# - 非同步程式 Async / Await過去我們這麼寫..假設這個request花1秒完成,你就App就卡住1秒資料來源:msdn - async
  • 10. C# - 非同步程式 Async / Await現在我們可以這樣寫..呼叫此方法時會產生另一個"執行序"來執行任務,簡單來說就是叫別人去買晚餐當你繼續看電視。資料來源:msdn - async
  • 11. XAMLXAMLXAML 的全名為 Extensible Application Markup Language,原為 WPF(Windows Presentation Framework) 的一部份,是一種基於 XML 衍生而出的宣告式使用者介面描述語言,外觀與 HTML 相似,平台會自動透過 .Net Framework中的反射 (Reflection) 機制,將 XAML 中描述的物件,轉換為平台上使用的語言宣告、定義,以方便在之後供 Code-Behind 的程式碼使用或是進行互動。
  • 12. XAML+Data Binding把物件屬性及內容綁給UI呈現資料來源:msdn - data binding to controls
  • 13. XAML+Data Binding setter / getter 必須 將物件設定到 textBox1
  • 14. XAML+Data Binding
  • 15. Binding再進化 - INotifyProptertyChanged物件資料更改時UI物件要能跟著更新 繼承INotifyPropertyChenged
  • 16. Binding再進化 - 有沒有更簡單的方式?INotifyPropertyChanged = > Bindable 繼承INotifyPropertyChenged 實作SetProperty簡化Setter有點複雜看不太懂...
  • 17. Binding再進化 - 有沒有更簡單的方式?INotifyPropertyChanged = > Bindable沒關係,會用就好 原本的setter用不到囉 這樣簡單多了
  • 18. MVVMModel - View - ViewModel
  • 19. Framework (MVVM)Model:用來描述資料實體(Entity)的簡單類別(Class),也可以在這邊實作商業邏輯以及與資料庫溝通等資料存取相關的功能。ViewModel:供View使用的Model,透過公開的屬性(public property)給View進行Binding,供其使用。View:其實就是XAML檔,也就是使用者介面,使用者介面設計人員只需要在Blend中進行對它的編輯,並透過Binding來和ViewModel溝通(將DataContext指定為某個ViewModel,以更進一步的與其中的屬性進行Binding)。資料來源:[MVVM]初步認識MVVM設計模式
  • 20. MVC vs MVVMMVC適合於大型系統,它可以分層且可以在實體層面切割為不同的機器或服務,只要彼此間具有適當的通訊協定即可。MVVM適合像 XAML 這種與程式碼無關 (code ignorance) 的使用者介面設計,只要 View 中下特定的指令與 ViewModel 串接,就可以享有 ViewModel 溝通的功能,而 ViewModel 只需做一些特別的介面實作,即可平順的和 View 溝通。資料來源:[Architecture] MVP, MVC, MVVM, 傻傻分不清楚~
  • 21. 減少View的Code MVVM XAML code linesWindows 8 X 751WP8 O 121資料來源:msdn - Implementing the MVVM Pattern
  • 22. Windows 8 andWindows Phone 8你可能以為他們都一樣事情不是像憨人想的那麼簡單
  • 23. Overlap of XAML controlsWindows 8 Windows Phone 8AppBar ApplicationBarComboBox ListPickerGridView, ListView LongListSelector, LongListMultiSelectorToggleSwitch ToggleVarableSizeWrapGrid, WrapPanelWrapGridWebView WebBrowser Panorama Pivot資料來源:msdn - XAML controls comparison
  • 24. API NamespaceWindows 8 Windows.UI.Xaml.ImagingWindows Phone 8 System.Windows.Media.Imaging
  • 25. NavigationWindows 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還有許多 驚喜等你去發現。
  • 27. Better way?生命自然會找到它的出口...
  • 28. Portable Libraries
  • 29. Portable Libraries
  • 30. Portable Libraries資料來源:How to Make Portable Class Libraries Work for You
  • 31. Portable 帶來的好處Good Maintain同一份商業邏輯 Unit TestNo Good Portable 所支援的API較少
  • 32. Thanksgliyao@gmail.com