building windows apps jason keicher, technical specialist [email protected]
TRANSCRIPT
Building Windows AppsJason Keicher, Technical Specialist [email protected]
AgendaModern App OverviewWPF AsyncWindow Store AppsPortable Class Library
Modern Apps : A technology overview
Connected devicesInternet scale
services Big dataHybrid
infrastructure
The Big 5 modern app technology trends
Identity federation
On-premiseInfrastructure
Web APIs (REST, ODATA)
IaaS Big Data/DaaS PaaSPrivate cloud
Identity Federation
Connected Device Apps
Unified Management
App development and lifecycle management tools
The Microsoft Solution
On-premiseInfrastructure
Web APIs (REST, ODATA)
IaaS Big Data/DaaS PaaSPrivate cloud
Identity Federation
Connected Device Apps
Unified Management
App development and lifecycle management tools
Windows Server and SQL Server Windows Azure
ASP.NET MVC Web API, Entity Framework, Windows Azure Mobile Services
Windows Server and Windows Azure Active Directory
Connected Device Apps
Visual Studio
Systems Center
Windows 8 Technology paths
.NETWinForm
s
.NET/XAML WPF
.NET/XAML
Silverlight
HTML/JSASP.NET
.NETWinForm
s
.NET/XAML WPF
.NET/XAML
Silverlight
HTML/JSASP.NET
HTML/JSWinRT
.NET/XAMLWinRT
C++/XAML/DX
Desktop HTML/BrowserWindows Store Apps
Windows 7
Windows 8
Which technology to use?
.NET / WinForms
Heavy-duty data appsNo UX customizationCan reuse client logic
.NET / XAML
Heavy-duty data appsCompelling UXCan reuse client logic and assets
C++
Maximum performanceHighly interactive UXCan reuse client logic across devices
Productivity
UX customizationPortability
Productivity
UX customizationPortability
Productivity
UX customizationPortability
HTML5
Lower developer productivityStandard based UXFully interoperable across devices
Productivity
UX customizationPortability
NATIV
EW
EB
Visual Studio 2012: Native and web in one tool
Web
Native
Desktopapplications
WindowsStore Apps
Highly interactive web applications
HTML5, CSS3 web sites
SimplicityNew language featuresStreamlined UISearch across the IDE and tool windowsMulti Monitor Support
Choice between programming for Windows 8 appsWindows 8 Store Applications:
XAML & C#/VBHTML5 & WinJSC++
Visual Studio 2012 and Windows
Windows 8 Technology Paths
.NETWinForm
s
.NET/XAML WPF
.NET/XAML
Silverlight
HTML/JSASP.NET
.NETWinForm
s
.NET/XAML WPF
.NET/XAML
Silverlight
HTML/JSASP.NET
HTML/JSWinRT
.NET/XAMLWinRT
C++/XAML/DX
Desktop HTML/BrowserWindows 8
Windows 7
Windows 8
Your existing investment remains sound
Visual Studio 2012 has a ton of great featuresSolution round-trippingMulti-targetingEnhanced, rich WPF editorSearch across the IDE and tool windowsMulti Monitor Support
.NET framework 4.5 brings new featuresBuilt-in support for asynchronous execution makes it easy to build rich, responsive applications
Desktop Applications
Desktop WPF and async
Demo
New designers for all Windows Store apps
Shared architecture with Blend
Language projections over WinRT meansHTML and JavaScriptVisual Basic and XAMLVisual C++ and XAMLVisual C# and XAMLVisual C++/DirectX
Building Windows Store Apps
Simplified Windows Platform for HTMLSingle consistent platformSingle HTML5 DOCTYPE
Web standards, plug-in free
Full-screen and docked apps
Full access to Windows Runtime (WinRT)
Library for building Windows Store apps using JavaScript
Make your apps ‘look and feel’ greatMatches Windows Store Apps style (controls, touch-control, scaling, etc.)
Build your apps fast and with high qualityWhen you’re already familiar with web technologies Modern patterns for reliable appsUse interactive VS design tools
Windows Library for JavaScript (WinJS)
Enables to inspect memory usage in Store Apps
Dianose potential leaks
Take snapshots while profiling
Memory Profiling for JavaScript Apps
WinJS and Windows Store Apps
Demo
Leverage existing investment in VB/C# codeMuch of your existing code can be ported into the new worldAll of your experience is very useful!
Leverage existing investment in XAML codeMost of your experience with Silverlight & WPF is directly applicable
Data binding, Users Controls, etc.New frameworks and components, but many familiar old favorites
<Grid />, <StackPanel/>, <Button />DependencyProperty and related.
VB/C# & XAML—Windows Store Apps
Portable Libraries
One DLL, multiple platformsCode against API subset common to selected targets
Select versionsBack to .NET 4, Silverlight 4, or Windows Phone 7.0
XAML and VB with a C# Portable Library
Demo
Choose your VS project type / templateThe standard project types all support slightly different navigation models…Save time and learn some principles and best practices!!
Think about navigationAll Windows Store Apps support a page-based navigation modelThey can be Activated and Deactivated
Think about layout and orientationResolutionPortrait / LandscapeRotation
XAML Windows Store Apps
XAML C# Windows Store App
Demo
Contracts allow apps to interoperate…With other apps
e.g. sharingWith system services
e.g. Webcam, PlayTo media device
Using Contracts
It’s a declaration about access requirements to any serviceDeclared in XML App manifest fileEditor & configuration support in Visual Studio 2012
Users can make decisions based on declarations
The runtime prevents your app from using capabilities it hasn’t declared
What is a Capability?
Your app needs to work within the Windows 8 application modelIt may be deactivated, and reactivatedSo it may need to preserve its state
It may be activated through a contracte.g. through the Search UI
Activation
Search Integration
Demo
Building Windows AppsYour existing applications are alive and wellNew features like async can make them better
Windows Store App development your wayXAML + VB/C#HTML + JavaScriptC++/DirectX
Windows Store AppsExciting changes with familiar development experience
Visual Studio 2012 provides the tools you needGet started now building great applications to sell on the Windows Store.
MCSDMicrosoft Certified Solutions Developer
www.netcomlearning.com
MCSD: Windows Store Apps
www.netcomlearning.com
Upgrade Path
www.netcomlearning.com
MCSD: Web Applications
www.netcomlearning.com
MCSD Training Schedules
MCSD: Windows Store Apps Using HTML5• August 26th in NYC, DC & Live Online
MCSD: Windows Store Apps Using C#• September 23rd in NYC, DC & Live Online
MCSD: Web Applications• June 15th in Las Vegas & Live Online (All Inclusive Boot Camp)• July 22nd in NYC, DC & Live Online
www.netcomlearning.com
*Free Second Shot Exam expires May 31st, 2013
Q & A
1-888-5-NETCOM (563-8266)