• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Windows 8 Hot or Not
 

Windows 8 Hot or Not

on

  • 3,082 views

Windows 8 as seen by developer. Overview of Metro style app development.

Windows 8 as seen by developer. Overview of Metro style app development.

Statistics

Views

Total Views
3,082
Views on SlideShare
3,064
Embed Views
18

Actions

Likes
0
Downloads
84
Comments
0

2 Embeds 18

http://paper.li 16
http://a0.twimg.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

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
  • Typography:Type is beautiful and can be functionalType’s placement builds visual hierarchyGenerally achieved with Segoe fontMotion:Consistent set of motions/animations brings the UI to lifeImprove perceived performanceContent:Your content is always the main focusBetter usage of space on both small and larger form factorsHonestyTouch firstHigh resolutionAuthentically DigitalStationary to ubiquitousDesktop PC:in one place with a clear start and finish timeSmartphone/tablet: anytime/anywhere (cloud),context-aware (aided by sensors like accelerometers, gyroscopes, and geolocators)Formal to casualDesktop PC:a formal start and finish time marked by booting up and shutting downSmartphone/tablet: instant-on/always-on (fast boot-up times),fills in-between moments like standing in line or watching TVArms-length to personalDesktop PC:literally an arms-length activitySmartphone/tablet: portable form factors,consumers keep close to their bodyAbstracted to physicalDesktop PC:mouse/keyboard paradigm relies on an abstracted interaction with contentSmartphone/tablet: touchscreensenable direct physical manipulation of contentCloud Integration-> Tight integration with Azure for seamless computing between devices-> Every app allocated small space in the cloud for settings-> Authentication through Cloud/Live
  • OO API for writing Metro style applicationsWritten in native C++Tuned for performance, every call is a v-table dispatch, every call which might take longer than 50ms is asyncModern unified type systemSupports type reflection through metadataSupports many languages though projectionsPart of Windows, build each time OS is compiledDesktop is fully supported, SL, WPF, everything is thereWinRT not for drivers developersTwo Tech stacks in Windows 8 – Desktop & MetroDesktop-> Same as for Windows 7 but with .NET 4.5 (async constructs)-> Implies that all existing code will work as expected, and that you can take advantage of changes in .NET 4.5 (Developer Preview available now)Metro Overview-> Scrapped: GDI, Win32, ATL, WPF, Silverlight in Metro-> Reason: All content must be GPU-accelerated, Impossible to maintain equal API for each vertical-> Equal footing for each tech – WinRTNew possibilities-> While impossible to reuse old techs, idea is to facilitate migration of skills to WinRT and allow interop between the languages-> WPF/SL skills migrate to XAML/C#/C++-> Web skills (HTML5/JS/CSS) allow for easy creation of Web applications-> Creation of Windows MD libraries – possible to call C++/C# libraries from Javascript-> Renewed focus on C++ development – new tooling & APIs-> Blend 5 to support HTML5 & XAML (C++,C#,VB)
  • Why C++ - performance!!!
  • Object oriented API for writing Metro style applicationsWritten in native C++Tuned for performance, every call is a v-table dispatch, every call which might take longer than 50ms is asyncModern unified type systemSupports type reflection through metadataSupports many languages though projectionsPart of Windows, build each time OS is compiledDesktop is fully supported, SL, WPF, everything is thereWinRT not for drivers developersTwo Tech stacks in Windows 8 – Desktop & MetroDesktop-> Same as for Windows 7 but with .NET 4.5 (async constructs)-> Implies that all existing code will work as expected, and that you can take advantage of changes in .NET 4.5 (Developer Preview available now)Metro Overview-> Scrapped: GDI, Win32, ATL, WPF, Silverlight in Metro-> Reason: All content must be GPU-accelerated, Impossible to maintain equal API for each vertical-> Equal footing for each tech – WinRTNew possibilities-> While impossible to reuse old techs, idea is to facilitate migration of skills to WinRT and allow interop between the languages-> WPF/SL skills migrate to XAML/C#/C++-> Web skills (HTML5/JS/CSS) allow for easy creation of Web applications-> Creation of Windows MD libraries – possible to call C++/C# libraries from Javascript-> Renewed focus on C++ development – new tooling & APIs-> Blend 5 to support HTML5 & XAML (C++,C#,VB)
  • No, it is not!
  • WebView – rendering HTML contentMedia Element/Player – Proper DX acceleration – no copying frames to DWMGridView – Clean organization of content w/ Semantic zoomFlipView – scrollable contentApplicationBar – top/bottom application bar
  • Each transitions is an animation that the WinRT framework plays in response to certain ‘events’.EntranceThemeTransition – item gracefuly slides in

Windows 8 Hot or Not Windows 8 Hot or Not Presentation Transcript

  • Windows 8Hot or Not Piotr Włodek
  • AgendaMetro Charms Contracts WinRT App ExecutionMotion Summary Environment
  • Metro UI
  • Metro Design
  • Metro Design• Typography• Motion• Content not Chrome
  • Photoshop METRO’ified
  • Notification• Tile notification – Square or wide – Badge (number or glypth)• Toast notification – Standard toast, 7 sec (e-mail, IM, social media) – Long duration toast, 30 sec (person waiting)• Push notification – Windows Push Notification Services
  • WIN 8 LOOK’N’FEEL
  • 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: C# XAML 5 apps – 75% JS, C++ DirectX 2 – 17% C#, apps – 8% C++ JS HTML 22 apps
  • Windows Runtime
  • Is .NET dead ?
  • .NET Framework 4.5• Preinstalled in Windows 8• No support for Windows XP
  • WinRT vs Silverlight• Type comparison 1582 WinRT 4396 SL5 607
  • WinRT vs Silverlight• Member 4222 comparison WinRT SL5 10375 651
  • .NET Metro Profile• Subset of Client Profile• No Remoting• No System.Data• No System.Web• No server side WCF• No private reflection, no Emit• Some API only in async version
  • DEMO – METRO IN C++
  • What is included in WinRT ?
  • Windows::UI• Comparable set to Silverlight• Lots of new controls: – WebView – MediaElement – MediaPlayer – GridView – FlipView – ApplicationBar
  • 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
  • DEMO – METRO IN C#
  • 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 WinRT objects
  • DEMO – WINRT OBJECT IN C#
  • Application Execution Environment Your App Direct API calls WinRT App.exe APIs OS Brokered Broker API callsApp Container +Signed & verified code
  • Process state transition Running Suspending Suspended App Resuming App 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•xmlns:views=”using:My.Custom.Views”• ObservableCollection
  • Getting Windows 8 Dev Prev• 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