PlatformFrameworkTools Bring your own End user experience Great apps delivered to the user’s...
-
Upload
debra-lester -
Category
Documents
-
view
215 -
download
0
Transcript of PlatformFrameworkTools Bring your own End user experience Great apps delivered to the user’s...
David CarmonaDirector - Visual Studio Product Marketing
Strategies for Developing Cross-Device Applications with Visual Studio 2013
2-586
Today’s session
Platform Framework Tools
Bring your own Bring your own Bring your own
The search of the Holy Grail
End user experienc
eGreat apps delivered to
the user’s choice of device
Development agility to move at mobile speed
Developer Experience
+
+
-
The big decision
WebNative
The big decision
Full access to client features and powerHigh flexibility and customization per deviceDevice-dependent
Device-independentEasier managementConstrained device integration and performance
Web
Native
Web applicationsacross devices
Web applications - strategies
Black Box
Common code base across browsers and
devices
CSS | HTML | JavaScript
1 Do nothing
2 Adapt in the client
3 Adapt in the server
4 Mimic an app
Demo – do nothing
Adapt in the client
Minimum duplicationPros
No customization per deviceInefficient bandwidth
Cons
• Meta Viewport
• CSS Media
• Useful libraries• Bootstrap
<meta name="viewport" content="width=device-width" />
@media only screen and (max-width: 1024px) and (max-height: 768px){ ... }
Demo – adapt in the client
Adapt in the server
Maximum flexibilityPros
Likely to duplicate code
Cons
• MVC Mobile Views• Rename views to .Mobile• Add custom display modes if needed
• Useful libraries• jQuery Mobile• Dojo Mobile• Sencha Touch
DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("iPhone"){ ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf ("iPhone", StringComparison.OrdinalIgnoreCase) >= 0)});
Demo – adapt in the server
Mimic an app
Best experience for devicesPros
Still not a native app…
Cons
• Single Page Application• Consume services from client• Client rendering / data binding• TypeScript is your friend!
• Optionally package as App• Apache Cordova platform• Uniform device APIs as JavaScript
• Additional useful libraries• Knockout• AngularJS• WinJS
new
Demo – mimic an app
Native applicationsacross devices
Using the platform native tools
Xcode ADT Visual Studio
Multiple code bases,tools and skillsEnd user
experience
Developer Experience
+
+
-
✗
Microsoft and Xamarin partnership
Fully native apps written entirely in C#
Visual Studio capabilities fully available
Share app logic code across device platforms
100% APIs exposed
C# unique approachpowered by Microsoft .NET and Xamarin
End user experienc
e
Developer Experience
Maximizing code reuse
ViewsHow to display information
View ModelsWhat information to displayFlow of interaction
ModelsData objectsBusiness logicEtc.
Model
View Model
View Device-specific
Portable codeReferences
Databinds
Demo – Native applications
Summary
.NETC++ JavaScript
PERFORMANCE REACH
Resources .NET sessions @ //BUILD
The Next Generation of .NET for Building Device Applications Habib Heydarian
The Future of C#(“Roslyn”)
Mads Torgersen, Dustin Campbell
Go Mobile with C# and Xamarin
Miguel de Icaza
Strategies for Developing Cross-Device Applications with Visual Studio 2013
David Carmona
The Present and Future of .NET in a World of Devices and Services
Jay Schmelzer
Technology Info Download
JIT “RyuJIT” http://aka.ms/RyuJITinfo http://aka.ms/RyuJIT
SIMD http://aka.ms/SIMDInfo http://aka.ms/SIMD
.NET Compiler Platform (“Roslyn”)
http://aka.ms/NETCompilerPlatform
http://roslyn.codeplex.com
http://aka.ms/NetCompilerPlatformDownload
.NET support on Azure Mobile Services
http://aka.ms/azuremobileservicesnet
http://aka.ms/VS2013Update2
ASP.NET Updates in VS 2014 Update 2
http://aka.ms/VS2013Update2Info
http://aka.ms/VS2013Update2
Universal Windows apps
http://aka.ms/universalprojects
http://aka.ms/VS2013Update2
.NET Native http://aka.ms/dotnetnative
http://aka.ms/dotnetnativedownload
Xamarin http://xamarin.com http://xamarin.com
Your Feedback is Important
Fill out an evaluation of this session and help shape future events.
Scan the QR code to evaluate this session on your mobile device.
You’ll also be entered into a daily prize drawing!
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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.