PLAT-874T: Lap around the Windows Runtime .


35 views
Uploaded on:
Description
PLAT-874T. Lap around the Windows Runtime. Martyn Lovell Development Manager, Windows Runtime Microsoft Corporation. Agenda. What is the Windows Runtime? Goals & Architecture Inside a Windows Metro style app JavaScript, C++, C# What are What are Windows Runtime Objects ?
Transcripts
Slide 1

PLAT-874T Lap around the Windows Runtime Martyn Lovell Development Manager, Windows Runtime Microsoft Corporation

Slide 2

Agenda What is the Windows Runtime? Objectives & Architecture Inside a Windows Metro style application JavaScript, C++, C# What will be What are Windows Runtime Objects ? Classes, Interfaces and Patterns

Slide 3

What is the Windows Runtime?

Slide 4

Metro style application APIs User Interface HTML5/CSS XAML DirectX Controls Data Binding SVG Tiles Input Accessibility Printing Devices Communications & Data Web Contracts Geolocation Portable Sensors NFC Local & Cloud Storage Streams Notifications Media SMS Background Transfer XML Networking Visual Effects Playback Capture PlayTo Fundamentals Application Services Threading/Timers Memory Management Authentication Cryptography Globalization

Slide 5

Windows 8 Metro style Apps Desktop Apps HTML JavaScript HTML/CSS XAML View JavaScript (Chakra) C/C++ C#, VB Model Controller C C++ C# VB Windows Runtime APIs Devices & Printing Communication & Data Graphics & Media System Services . NET SL Internet Explorer Win32 Application Model Windows Kernel Services Kernel

Slide 6

The Windows Runtime is the strong, effective establishment for building extraordinary Metro style applications

Slide 7

Windows Runtime Architecture Metro style application Language Support (CLR, WinJS , CRT) Language Projection Web Host (HTML, CSS, JavaScript) ) Windows Metadata & Namespace UI Pickers Controls Media XAML Storage Network … Windows Runtime Core Runtime Broker Windows Core

Slide 8

The Windows 8 Developer Experience Easy to assemble a Metro style application Dramatic changes in engineer encounter Freedom of decision – dialect, library, markup

Slide 9

Major change to designer encounter Great intellisense & tooling Responsive and Fluid Async APIs where they are required App-Centric Platform Well overseen application to-application contracts Platform construct Versioning Apps continue running with respect to future Windows renditions Design Principles

Slide 10

Inside a Windows Metro style application

Slide 11

demo Creating fundamental Metro style application HTML/JavaScript

Slide 12

Windows Runtime Architecture Metro style application Language Support (CLR, WinJS , CRT) Language Projection Web Host (HTML, CSS, JavaScript) ) Windows Metadata & Namespace UI Pickers Controls Media XAML Storage Network … Windows Runtime Core Runtime Broker Windows Core

Slide 13

Windows Metadata Concise, finish portrayal of the Windows Runtime Generated locally from C++ or C#/VB Compiler Efficient parallel configuration determined CLI Metadata Same structures, diverse implications sufficiently rich to permit multi-dialect projection era Full intellisense on statically known data

Slide 14

The Windows Namespace Windows.* Runtime items are in a basic, bound together, various leveled namespace Great intellisense and perusing in Visual Studio One Clear sort for every capacity Catalog is extensible however private Your applications can include objects (in C++/C#) Objects can be seen from JavaScript

Slide 15

Windows Runtime Basic Types

Slide 16

demo Creating essential Metro style application C++ & C#

Slide 17

Windows Runtime Architecture Metro style application Language Support (CLR, WinJS , CRT) Language Projection Web Host (HTML, CSS, JavaScript) ) Windows Metadata & Namespace UI Pickers Controls Media XAML Storage Network … Windows Runtime Core Runtime Broker Windows Core

Slide 18

What is a Windows Runtime Object? Shell32.dll IInspectable IUnknown IStorageItemInformation Object IStorageItem FileInformation Runtime Class IStorageFile Interfaces Windows Metadata (Disk) Activation Store (Registry)

Slide 19

Projections C++ App Projection IInspectable IUnknown Object C#/VB App CLR Projection HTML App Chakra Projection Windows Metadata

Slide 20

Object Creation

Slide 21

Versioning IInspectable IUnknown Future Windows 8 Object Windows Metadata v8 App Windows Metadata v9 App Projection

Slide 22

demo How designs extend Collections && Async

Slide 23

Windows Runtime Architecture Metro style application Language Support (CLR, WinJS , CRT) Language Projection Web Host (HTML, CSS, JavaScript) ) Windows Metadata & Namespace UI Pickers Controls Media XAML Storage Network … Windows Runtime Core Runtime Broker Windows Core

Slide 24

Windows Runtime Patterns

Slide 25

Collections IInspectable C++ App STL-style Projection IUnknown IVector <T> Array IVectorView <T> C#/VB App IEnumerable (T) style Projection CLR IObservableVector <T> IInspectable HTML App JavaScript Projection Chakra IUnknown IMap <T> Associative Collection IMapView <T> IObservableMap <T>

Slide 26

Asynchronous Objects Basic necessity for Metro style applications Always responsive, prepared "Long running" APIs must be conveyed as async Simpler to permit applications to make synchronous calls But then terrible applications can overpower nature of framework Instead, incorporate async with API shape And have dialect projections coordinate it profoundly

Slide 27

Threading App Threadpool Main UI Thread Windows UI Object Windows Object Windows Object App Code App Code App Code

Slide 28

Three principle sorts of protest Thread bound – works just on the string where it was made – most UI Thread adaptable – chips away at any string, utilizes locking if necessary to control concurrent get to Brokered – out of process UI keeps running in single strung environment that is not reentrant (" Application STA ") Callbacks can just enter in the event that they are identified with an active call Most non-UI keeps running in any string Windows Runtime Threading

Slide 29

Brokered Objects RuntimeBroker.exe App Proxy Projection IInspectable IUnknown Windows Runtime Object

Slide 30

Summary The Windows Runtime is the strong, proficient establishment for the new Windows 8 engineer stage Build Metro style applications effectively with the Windows Runtime Windows accessible in your decision of dialect and environment One Windows API , Natural and Familiar all over

Slide 31

Further perusing and documentation Other sessions with more drilldown Windows Runtime internals: understanding "Hello World" ( PLAT-875T) Async all over the place: making responsive APIs & applications (PLAT-203T) Using the Windows Runtime from C++ (TOOL-532T) Using the Windows Runtime from C# and Visual Basic (TOOL-531T) Using the Windows Runtime from JavaScript (TOOL-533T) Q&A at/fabricate –WinRT people at the Apps stall I and other WinRT people will be there today from 3-5, or more. Q&A online – http://forums.dev.windows.com

Slide 32

t hank you Feedback and q uestions http ://forums.dev.windows.com Session f eedback http ://bldw.in/SessionFeedback

Slide 33

Great utilization of the template= a couple of modest changes, however it looks exceptionally decent. Good fortunes in practices today! - hannaha © 2011 Microsoft Corporation. All rights saved. Microsoft, Windows, Windows Vista and other item names are or might be enrolled trademarks as well as trademarks in the U.S. as well as different nations. The data thus is for enlightening purposes just and speaks to the present perspective of Microsoft Corporation as of the date of this presentation. Since Microsoft must react to changing economic situations, it ought not be translated to be a pledge with respect to Microsoft, and Microsoft can\'t ensure the exactness of any data gave after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Recommended
View more...