390 likes | 684 Views
Windows 8 Hot or Not. Piotr Włodek. Agenda. WinRT. Metro. Charms. Contracts. Motion. Summary. App Execution Environment. Metro UI. Metro Design. Metro Design. Typography Motion Content not Chrome. Photoshop METRO’ified. Win 8 look’n’feel. Application layout. Display orientation
E N D
Windows 8Hot or Not Piotr Włodek
Agenda WinRT Metro Charms Contracts Motion Summary App Execution Environment
Metro Design • Typography • Motion • Content not Chrome
Application layout • Display orientation • Landscape • Portrait • Flipped • Application layout • Fullscreen • Fill • Snapped
Application layout Fullscreen view (100 %)
Application layout Fill view (75 %) Snapped view (25 %)
Notification • Tile notification (live tiles) • Square or wide • Badge (number or glypth)
Notification • Toast notification • Standard toast, 7 sec (e-mail, IM, social media) • Long duration toast, 30 sec (person waiting)
Notification • Push notification • Windows Push Notification Services (WNS)
Windows Charms • Search • Share • Start • Devices • Settings
Contracts • Web of Applications • Sharing Contract • Picker Contract • Search Contract • More!
What is Windows Runtime ? • OO API for writing Metro style applications • Written in native C++ • Tuned for performance • Supports type reflection through metadata • Supports many languages though projections • Part of Windows, build each time OS is compiled
Language Support • 29 apps in total • In Dev Preview: • 75% JS, • 17% C#, • 8% C++
.NET Framework 4.5 • Preinstalled in Windows 8 • No support for Windows XP • WPF 4.5 • Ribbon out of the box • Binding to static properties • Collections on non-UI thread • Async validation (INotifyDataErrorInfo) • Huge VirtualizingStackPanel perf improvements
WinRT vs Silverlight • Type comparison 1582 607
WinRT vs Silverlight • Member comparison 4222 10375 651
.NET Metro Profile • SubsetofClientProfile • NoRemoting • NoSystem.Data • NoSystem.Web • No server side WCF • Noprivatereflection,noEmit • Some API only in async version
Windows::UI • Comparable set to Silverlight • Lots of new controls: • WebView • MediaElement • MediaPlayer • GridView • FlipView • AppBar
Windows::UI:Input • Gone • Mouse events • Touch events • Stylus events • Still There • Keyboard events • Manipulation events • New • Pointer events • Tap, DoubleTab, RightTap
Windows::UI::Media::Animations::Transition • Transitions for UIElement, Panel, ContentControl, and ItemsControl • Entrance Transition • Reposition Transition • Reorder Transition • AddDelete Transitions • Content Transitions
Windows::Storage::Pickers • 2 types of pickers: • File Picker • Folder Picker • Your app can show its content in either of these pickers
Custom WinRT objects • Share objects across all languages • Languages • C++/CX : speed • C#/VB : Ease of use • Restrictions apply • Sealed classes • Exposed through an interface • Public API can only expose primitive types and WinRT objects
Application Execution Environment Your App OS App.exe WinRT APIs Direct API calls Broker Brokered API calls App Container + Signed & verified code
Process state transition Suspended App Running App Suspending Resuming Low resources Terminated App
What is not supported ? • No { DynamicResource } • Poor WritableBitmap • Poor data binding • No default implementation for IObservableVector<T> • 2 manifestations of INPC • No overlapping windows (no MessageBox)
Common pitfals • Code behind namespaces • XAML namespaces • DP • Custom controls and styles • ObservableCollection xmlns:views=”using:My.Custom.Views”
Getting Windows 8 DP • Windows 8 Developer Preview with developer tools English, 64-bit (x64) • 4.8 GB – DVD dual layer or pendrive 8GB • VS 2011 Express • Blend 5 Preview (Works only with HTML5/CSS) • Windows 8 Developer Preview English, 64-bit • Windows 8 Developer Preview English, 32-bit • Visual Studio 2011 Ultimate Dev Prev
Reference • MSDN Metro Guide: • http://msdn.microsoft.com/en-us/windows/apps • Building Windows 8 Blog: • http://blogs.msdn.com/b/b8/ • BUILD Videos: • http://www.buildwindows.com/ • WinRT Transitions • http://bit.ly/vZU4fd • WinRT vs SL5 comparison • http://bit.ly/spEtNE
Piotr Włodek • mail:piotr.wlodek@gmail.com • blog: http://pwlodek.blogspot.com • twitter:@pwlodek