Windows 8.1 SDK 56611959 Windows Phone 8.1 SDK 62413157 Diff +58+12-2.

39

Transcript of Windows 8.1 SDK 56611959 Windows Phone 8.1 SDK 62413157 Diff +58+12-2.

Building XAML Applications Using Visual Studio and BlendHarikrishna MenonProgram Manager @ Visual Studio

DEV-B340

AgendaQuick tour of new XAML Authoring features

Tooling for Universal XAML apps

Diagnostics tooling for XAML apps

Q&A

New XAML Authoring features

XAML Editor and IntelliSenseIntelliSenseDatabindingResourceCode snippets

NavigationNavigation barsGo to definition

Typing AssistanceEnd Tag / Start Tag refactoringBetter commenting

Demo

XAML Editor and IntelliSense

XAML DesignerRulers and GuidesDynamic guidesManaging guides

Snapping to Text and ContentAlign text content not just visual content

In place editing of TemplatesDesign templates within view context irrespective of source location

Demo

XAML Designer features

BehaviorsBrand new API for Store applicationsFamiliar but not the sameJust two interfaces to worry about : IBehavior and IActionBehavior = Trigger / Behavior

Supports Managed and Native store applicationsSeparate Managed and Native SDKs

Works for Windows 8.1 and Windows Phone 8.1 AppsSame API for both

Demo

Behaviors SDK

Tooling for Universal Apps

Convergence factor

SDK Classes Struct InterfacesWindows 8.1 SDK 566 119 59

Windows Phone 8.1 SDK

624 131 57

Diff +58 +12 -2

Convergence factorSame API : StackPanel, Grid, Button

Same API, tailored to device : Hub, AppBar, CommandBar, Date, Time Pickers

Device Specific APIs : E.g Windows (SearchBox), Windows Phone (Pivot)

Universal AppsUniversal apps enable building applications on the converged Windows 8.1 and Windows Phone 8.1 platforms

Supported for C#, C++ and JavaScript

Create universal apps using project templates, migrating Windows 8.1 / Windows Phone 8.1 apps

Demo

Universal Project Templates

Shared projectsAllow sharing source between converged apps

Don’t have any binary output

Supports all item typesCode files .cs, .js, .cpp, .hXAMLImages .png, .jpg…RESWXML etc…

Use conditional constantsC#: WINDOWS_APP and WINDOWS_PHONE_APP

#if WINDOWS_PHONE_APP

Windows.Phone.UI.Input.HardwareButtons.BackPressed += this.HardwareButtons_BackPressed; #endif

C++: WINAPI_FAMILY_PC_APP and WINAPI_FAMILY_PHONE_APP

#if WINAPI_FAMILY==WINAPI_FAMILY_PHONE_APP_backPressedEventToken = HardwareButtons::BackPressed +=

ref new EventHandler<BackPressedEventArgs^>(this,&NavigationHelper::HardwareButton_BackPressed);

#endif

Code editing experienceIntelliSense warnings for platform specific APIs

Switch project context using navigation bar

Switching Startup ProjectsQuick and easy way to change startup projects using debug target dropdown

Supported for all Store platforms

Enabled if you have more than one application project in the solution

Demo

Portable class libraries

Code reuse options for universal appsReuse Option

Asset shared Supported Languages

Supported Platforms

Shared Projects Code C#, C++, JS Store, Phone

Portable Class libraries Binary C#, VB Desktop, Store, Phone

Diagnostics

Importance of performance and reliability

App Freezes Crashes Slow Responsiveness Heavy Battery Usage0%

10%

20%

30%

40%

50%

60%

70%

80%

Reasons of Bad Reviews

Source: http://www.businessnewsdaily.com

Performance characteristics and toolsProperty Scenarios Tools

Fast App Launch, Navigating Pages

XAML UI responsiveness, CPU Usage, Memory Usage

Fluid Scrolling, Panning, Animation

XAML UI responsiveness, CPU Usage, Memory Usage

Efficient Battery life, Memory Usage Energy Profiler, Memory Usage

Demo

Performance and Diagnostics Hub

How your code affects performanceParsingFiles parsed (time to parse, number of times parsed, number of elements)

Load on the UI threadTemplatesContent virtualizationComplex layout (Number of elements)Dependent animations

Load on the composition threadIndependent animationsOverdraw

App code (per frame callbacks, large computational tasks)

Demo

XAML UI Responsiveness and CPU Usage Tool

How your code affects batteryCPU power state transitions as load varies

Display power varies byHardware (smart vs. dumb LCD vs. OLED)Screen BrightnessDesign choices (color content, animations)

NetworkWired ≠ Wireless.Wi-Fi ≠ 2G, 3G, 4G

Demo

Energy Consumption Tool

How your code affects the appApp Reliability and StabilityToo much memory can..Terminate an app outright (Phone PLM is very strict about memory limits)In Store and Phone Apps might cause it to terminate as you switch

App PerformanceSlow down apps due to pagingLarge number of allocations in a short interval can affect app responsiveness

Demo

Memory Usage Tool

Q&A

Breakout Sessions (session codes and titles)DEV-B350 Building Maintainable Windows Store Business Applications Using C#, XAML, and Prism

DEV-B313 Diagnosing Issues in Windows Phone 8.1 XAML Applications Using Visual Studio 2013

DEV-H218 Using Blend to Design XAML-Based Windows Store Apps

DEV-H215 New Microsoft Visual Studio 2013 Diagnostic Tools

Related content

Labs (session codes and titles)

Related contentFind Me Later At. . .

Developer Tools: Monday 10:00 a.m. to 12:00 a.m.

Developer Tools: Tuesday 8:45 a.m. to 10:30 a.m.

Developer Tools: Tuesday 1:00 p.m. to 3:00 p.m.

Developer Tools: Tuesday 8:45 a.m. to 10:45 a.m.

Visit the Developer Platform & Tools BoothHaving a friend buy your coffee?Yea, it’s kind of like that.

MSDN Subscribers get up to $150/mo in Azure credits.

Stop by the Developer Platform and Tools booth and visit the MSDN Subscriptions station to activate your benefits and receive a gift!

http://aka.ms/msdn_teched

3 Steps to New Gear! With Application Insights

1. Create a Visual Studio Online account http://visualstudio.com

2. Install Application Insights Tools for Visual Studio Online http://aka.ms/aivsix

3. Come to our booth for a t-shirt and a chance to win!

VSIP QR Tag Contests Visit our booth to join the hunt for cool prizes!

ResourcesMicrosoft Engineering Stories

How Microsoft Builds Softwarehttp://aka.ms/EngineeringStories

Visual Studio Industry Partner Program

Meet Our New Visual Studio Online Partners or Join Now.http://vsipprogram.com

Visual Studio | Integrate

Create Your Own Dev Environmenthttp://integrate.visualstudio.com

Development tools & services for teams of all sizeshttp://www.visualstudio.com

Complete an evaluation and enter to win!

Evaluate this session

Scan this QR code to evaluate this session.

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.