Harikrishna Menon Program Manager Visual Studio DEVB340 Agenda Quick tour of new XAML Authoring features Tooling for Universal XAML apps Diagnostics tooling for XAML apps QampA New XAML Authoring features ID: 589200
Download Presentation The PPT/PDF document "Building XAML Applications Using Visual ..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1Slide2
Building XAML Applications Using Visual Studio and Blend
Harikrishna MenonProgram Manager @ Visual Studio
DEV-B340Slide3
Agenda
Quick tour of new XAML Authoring features Tooling for Universal XAML apps
Diagnostics tooling for XAML apps
Q&ASlide4
New XAML Authoring featuresSlide5
XAML Editor and IntelliSense
IntelliSenseDatabindingResource
Code snippets
Navigation
Navigation
bars
Go
to
d
efinition
Typing Assistance
End Tag / Start Tag refactoring
Better commentingSlide6
Demo
XAML Editor and IntelliSenseSlide7
XAML Designer
Rulers and GuidesDynamic guidesManaging guides
Snapping to Text and Content
Align text content not just visual content
In place editing of Templates
Design templates within view context irrespective of source locationSlide8
Demo
XAML Designer featuresSlide9
Behaviors
Brand new API for Store applications
Familiar but not the same
Just two interfaces to worry about : IBehavior and IAction
Behavior = Trigger / Behavior
Supports Managed and Native store applications
Separate Managed and Native SDKs
Works for Windows 8.1 and Windows Phone 8.1 Apps
Same API
for bothSlide10
Demo
Behaviors SDKSlide11
Tooling for Universal AppsSlide12
Convergence factor
SDK
Classes
Struct
Interfaces
Windows 8.1
SDK
566
119
59
Windows Phone 8.1
SDK
624
131
57
Diff
+58
+12
-2Slide13
Convergence factor
Same 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) Slide14
Universal Apps
Universal apps enable building applications on the converged Windows 8.1 and Windows Phone 8.1 platformsSupported for C#, C++ and JavaScript
Create universal apps using project templates, migrating Windows 8.1 / Windows Phone 8.1
appsSlide15
Demo
Universal Project TemplatesSlide16
Shared projects
Allow sharing source between converged appsDon’t have any binary output
Supports all item types
Code files .cs, .js, .cpp, .h
XAML
Images .png, .jpg…
RESW
XML etc…Slide17
Use conditional constants
C#: 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);
#endifSlide18
Code editing experience
IntelliSense warnings for platform specific APIs
Switch project context using
navigation barSlide19
Switching Startup Projects
Quick 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 solutionSlide20
Demo
Portable class librariesSlide21
Code reuse options for universal apps
Reuse Option
Asset shared
Supported Languages
Supported Platforms
Shared Projects
Code
C#, C++, JS
Store, Phone
Portable Class libraries
Binary
C#, VB
Desktop, Store, PhoneSlide22
DiagnosticsSlide23
Importance of performance and reliability
Source:
http://
www.businessnewsdaily.com
Slide24
Performance characteristics and tools
Property
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 UsageSlide25
Demo
Performance and Diagnostics HubSlide26
How your code affects performance
ParsingFiles parsed (time to parse, number of times parsed, number of elements)
Load on the UI thread
Templates
Content virtualization
Complex layout (Number of elements)
Dependent animations
Load on the composition thread
Independent animations
Overdraw
App code (per frame callbacks, large computational tasks)Slide27
Demo
XAML UI Responsiveness and CPU Usage ToolSlide28
How your code affects battery
CPU power state transitions as load varies
Display power varies by
Hardware (smart vs. dumb LCD vs. OLED)
Screen Brightness
Design choices (color content, animations)
Network
Wired ≠ Wireless.
Wi-Fi ≠ 2G, 3G, 4GSlide29
Demo
Energy Consumption ToolSlide30
How your code affects the app
App 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 Performance
Slow down apps due to paging
Large number of allocations in a short interval can affect app responsivenessSlide31
Demo
Memory Usage ToolSlide32
Q&ASlide33
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)Slide34
Related content
Find 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.Slide35
Visit the Developer Platform & Tools Booth
Having 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
Create a Visual Studio Online account
http://visualstudio.com
Install Application Insights Tools for Visual
Studio Online
http://aka.ms/aivsix
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!Slide36
Resources
Microsoft Engineering Stories
How
Microsoft Builds Software
http://
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 Environment
http://integrate.visualstudio.com
Development tools & services
for
teams
of all sizes
http
://www.visualstudio.com Slide37
Complete an evaluation
and
enter to win!Slide38
Evaluate this session
Scan this
QR
code
to evaluate
this
session.Slide39
©
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.