David White davwhitemicrosoft com About David White 25
David White davwhite@microsoft. com
About David White • 25+ years doing distributed enterprise development • Spent a decade in startups around consumer electronics, telematics, and Io. T • Going on roughly 10 years with Microsoft • Detroiter (born and bred) who now works with Ford Motor company
Mobile apps are part of a broader modernization Extend to any device Take advantage of cloud scale and economics Business agility
What you need Create mobile experiences… …connected to the business… …with mobileera agility New applications or new end points to existing applications for Android, i. OS, and Windows Enterprise-ready platform that integrates modern mobile experiences with existing business assets Achieve speed with faster development cycles and continuous measure and learn
According to Gartner, by 2016, 70% of the mobile workforce will have a smartphone, and 90% of enterprises will have two or more platforms to support.
Android diversification
i. OS diversification
Application complexity Thousands of i. OS and Android APIs Public web APIs Backend integrations Third-party libraries Memory, CPU, and network constraints
Mobile backend as a Service All the service building blocks your developers need. Supports all major mobile developer platforms. Streamlined integration into your developers tools. Scale as needed, pay for what you use.
Continuous Integration & Delivery (CI, CD) Automate and orchestrate your build, test, and release processes. Smooth deployment and beta testing of mobile apps. Close the loop between development and operations. Developer Operations
Continuous monitoring & learning Get insights about availability and crashes of apps and services. Analyze results in beta testing and platforms/devices coverage. Learn from production usage and connect to direct marketing actions.
Mobile Applications Why Azure?
What you need Create mobile experiences… …connected to the business… …with mobileera agility New applications or new end points to existing applications for Android, i. OS, and Windows Enterprise-ready platform that integrates modern mobile experiences with existing business assets Achieve speed with faster development cycles and continuous measure and learn
Cross-platform mobile strategy choices
Sweet spot for the successful mobile enterprise End user experience Great apps delivered to the user’s choice of device + - + Development agility to move at mobile speed Better TCO, productivity, and developer experience
Siloed approach Objective-C, Swift XCode Building native apps multiple times means Client development is completely different for each device type Only the Services (server-side) can be reused, with certain differences when consuming them TCO grows exponentially Java Eclipse C#, JS, C++ Visual Studio
The siloed approach Multiple teams and multiple code bases are expensive and slow End user experience + Great apps delivered to the user’s choice of device Development agility hampered by multiple code bases and fragment toolsets - + Better TCO, productivity, and developer experience
Write-once-runanywhere approach Hybrid apps. Presentation written in HTML/CSS and behavior written in Java. Script/Type. Script Highest code reuse ratio at UI expense Performance depends on the container Apache Cordova/Ionic CSS • HTML • Type. Script • Java. Script • Ionic • …
The write-once-run-anywhere approach HTML Hybrid scenarios like Apache Cordova End user experience + Performance tradeoff Great option for teams with HTML 5 web skills. Tooling maturity - + Better TCO, productivity, and developer experience
Xamarin approach i. OS C# UI Android C# UI Windows C# UI Fully native apps written entirely in C# Build apps with beautiful UX and native performance for Android, i. OS & Windows Be productive with templates, Intellisense, debugger, designer integration, emulators, deployment Code share with PCLs Shared app logic Create specific UI or share UI with Xamarin. Forms Use C# APIs with 100% of platform APIs exposed Connect to Azure for backend enterprise systems Platform specific framework
Sharing code across Android, i. OS, and Windows accelerates development
Visual Studio and Xamarin unique approach The best of all worlds End user experience + - C# + Native performance and UI Mature development tools Share and reuse code Better TCO, productivity, and developer experience
Xamarin is native in all 3 ways The best of all worlds Native user interface Apps are built with standard, native user interface controls for easy and familiar interactions. High-fidelity API access Apps have access to the full spectrum of functionality exposed by the underlying platform and device. Native performance Apps leverage platform-specific hardware acceleration, and are compiled as native binaries, not interpreted at runtime.
What you need Create mobile experiences… …connected to the business… …with mobileera agility New applications or new end points to existing applications for Android, i. OS, and Windows Enterprise-ready platform that integrates modern mobile experiences with existing business assets Achieve speed with faster development cycles and continuous measure and learn
Microsoft Application Platform Build the next generation of intelligent apps with an open, comprehensive solution for any developer and any platform
Iaa. S vs. Paa. S Focus on the application, not the infrastructure ü ü ü ü
Benefits of Microsoft Azure Paa. S Forrester Total Economic Impact results Interviewed organizations reported on the financial and business benefits of shifting application development and deployment from Azure Iaa. S to Azure Paa. S 466% Return on Investment $5. 91 M Net Present Value 80% IT Time Saved Based on five-year, risk-adjusted figures for a composite organization constructed from aggregated interviews with eight Microsoft Azure Iaa. S customers. Source: “The Total Economic Impact Of Microsoft Azure Paa. S, ” a commissioned study conducted by Forrester Consulting, June 2016 50% Faster Service Deployment Time to Market
Azure Application Platform Build on a Developer Platform (Paa. S) App Service Fabric Functions Cloud Services Other Paa. S Web, mobile, API, and logic apps Cloud native, microservices based apps Serverless, event driven functions Custom monolithic 3 -tier stateless apps Cloud Foundry, Open. Shift, Apprenda, Jetlastic, etc. Serverless compute Existing frameworks Third-party frameworks Build on the OS (Iaa. S) Web and mobile Microservices Virtual Machines and Containers Storage Networking
Azure App Service
Mobile apps Mobile Backend as a Service Sync offline Connect to data Authenticate Push notifications
Azure functions Process events with serverless code Event based + Accelerate development Serverless Call from mobile apps
What you need Create mobile experiences… …connected to the business… …with mobileera agility New applications or new end points to existing applications for Android, i. OS, and Windows Enterprise-ready platform that integrates modern mobile experiences with existing business assets Achieve speed with faster development cycles and continuous measure and learn
Xamarin Test Cloud 2, 000+ real devices Automate your app testing and run them on over 2, 000 different real devices. Test everything users do, as well as any performance problems with step-by-step memory and performance tracking Script C# or Ruby Xamarin Test Recorder for Visual Studio
Visual Studio Team Services and Hockey. App
Integration and delivery Code repository Build + deploy Automated testing User beta testing Xamarin Test Cloud Hockey. App Backlog Visual Xamarin Studio Hockey. App
Why Azure? § With Azure, customers can connect Apps with data sources and apps that reside on -premises. § Google and Heroku do not offer onpremises connectivity. § Dev. Ops – TFS and VS/VSO integration, flexible deployment options, site slots § AD Integration § Portability – Ability to code once and deploy the app on Azure either in the cloud on on-prem via Azure Pack § Migration Tool – Easy process for migrating existing IIS apps to the cloud § Microsoft is the only company that is in the leader quadrant for both Gartner’s Iaa. S and Paa. S magic quadrants. § With Microsoft, customers can choose the best deployment option (Iaa. S, Paa. S, Saa. S) for different applications. § AWS has nascent Paa. S offerings, while Google has nascent Iaa. S product. § Heroku does not offer Iaa. S (they run on AWS). § Microsoft has enterprise grade support offering, consistent financially-backed SLAs for all services, and a mature enterprise presence. § Microsoft has more public cloud data centers around the world than any other company. § With AWS and Heroku, customers do not get one point of support for all layers of the application stack.
Mobile Applications Solution reference architecture
© 2016 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.
- Slides: 41