Date post: | 18-Dec-2015 |
Category: |
Documents |
Upload: | candice-thompson |
View: | 226 times |
Download: | 3 times |
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
XAML Editor and IntelliSenseIntelliSenseDatabindingResourceCode snippets
NavigationNavigation barsGo to definition
Typing AssistanceEnd Tag / Start Tag refactoringBetter commenting
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
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
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
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
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
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
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)
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
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
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
© 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.