290 likes | 423 Views
Platform for Metro S tyle Apps. Michael Platt Senior Director Microsoft Corp. Windows 7 As of //build 2011. 450,000,000 copies of Windows 7 sold Internet Explorer 9 is the fastest growing Windows 7 browser 542,000,000, people signing into Windows Live services.
E N D
Platform for Metro Style Apps Michael Platt Senior Director Microsoft Corp
Windows 7As of //build 2011 • 450,000,000 copies of Windows 7 sold • Internet Explorer 9 is the fastest growing Windows 7 browser • 542,000,000, people signing into Windows Live services
Changing world of computing As of //build 2011 • Form factors and user interactions models create new scenarios and opportunities • Mobility means devices you use while carrying, not just devices you carry • App developers want rich connectivity and sharing capabilities, connection to customers • Services are intrinsic in all software
Windows 8 • Makes Windows 7 even betterEverything that runs on Windows 7 still runs on Windows 8 • Reimagines Windows from chipset to experienceNew range of capabilities, scenarios and form factors
demo Windows 8 reimagined
Key Investments New Windows Runtime (WinRT) APIs New App Execution Environment New Windows 8 User Experience Windows Store
Windows 8 Platform Metro style Apps Desktop Apps HTML JavaScript HTML / CSS XAML View JavaScript (Chakra) C C++ C# VB Model Controller C# VB C C++ WinRT APIs Devices & Printing Communication & Data Graphics & Media System Services .NET / SL Internet Explorer Win32 Application Model Windows Core OS Services Core
What Did We See… • WinRT APIs are native • XAML used from C++ • Portable C++ code
Metro Style Application APIs User Interface HTML5/CSS XAML DirectX Controls Data Binding SVG Tiles Input Accessibility Printing Devices Communications & Data Contracts Local & Cloud Storage Web Geolocation Portable Sensors NFC Notifications Streams Media Memory Management XML Networking SMS Playback Capture PlayTo Visual Effects Fundamentals Application Services Threading/Timers Memory Management Authentication Cryptography Globalization
Language projections C++ App Windows Runtime Object (or Component) Written in C++, C#, VB Projection C#/VB App CLR Projection HTML App Chakra Projection Windows Metadata
Metro style apps Metro style design Fast and fluid Snap and scale beautifully Use the right contracts Invest in a great Tile Feel connected and alive Roam the cloud Embrace Metro principles
demo Windows Store
The Windows Store (More Later Today) • Designed for discovery • Unprecedented reach • Flexible business models • Best economics
Metro Style App Acquisition Windows Store backend Single instance store Windows Store Package Manager install stage Execution Engine Registration Information register Extension Handler
Building Blocks of an App Package • App Manifest contains all information needed to deploythe app • Blockmap contains hashes of all files within the app package • Signature validates the integrity of the app package Files / Assets AppXManifest.xml BlockMap Signature Zip Central Directory .appx package
App Manifest and Capabilities • Explicitly declares the app integration endpoints • File capabilities (music/pictures/videos/documents libraries, removable storage) • Devices (webcam, microphone, location, sms, proximity); extensible to new device classes • Network and identity (internet, private network, credentials) • File type associations • App contracts (search, share, etc.) • Contained in appxmanifest.xml; Visual Studio provides editor
demo Capabilities
Process State Transitions Terminated App Running App suspending Suspended App Low Resources resuming
Process Isolation Process2 Process1 Local context Local context Web context Web context Contracts AppData AppData Local Local Temp Temp Roaming Roaming Direct APIs Brokers OS User data Devices Communications Handlers Tiles Cryptography … …
Roaming App uses data normally Local Storage Data syncs for the user’s Microsoft account
Recap App Execution Connected Seamless data access Data Roaming Powerful Performant Native platform Confident Capabilities driven High isolation
In-Box Controls for Metro Style Apps Grid View Text Box Button Spell Checking Clear Button Progress Ring Progress Bar Checkbox Radio Button Hyperlink Combo Box Password Reveal Button List View Semantic Zoom Context Menu Flyout Rating Radio Button Scroll Bar Flip View List Box Toggle Switch Tooltip Panning Indicator App Bar