Technical Capability Guidance
Dec 2016
(c)2016 Microsoft Corporation. All rights reserved. This document is provided "as-is." Information and views expressed in this
document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it.
This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and
use this document for your internal, reference purposes. This document is confidential and proprietary to Microsoft. It is disclosed
and can be used only pursuant to a non-disclosure agreement.
Mobile Cross Platform Development
Table of Contents
1 Overview ................................................................................................................................. 1
2 Pre-Sales Readiness .............................................................................................................. 1
2.1 ebook: Microsoft Platform and Tools for Mobile App Development ......................................................... 1
2.2 Xamarin ................................................................................................................................................................................ 2
2.3 Power Apps Overview .................................................................................................................................................... 2
2.4 Visual Studio Mobile Center ........................................................................................................................................ 4
3 Pre-Sales Engagement Guide .............................................................................................. 7
3.1 Common Cross Platform Roles/Skills ....................................................................................................................... 7
4 Environment ........................................................................................................................... 8
4.1 Environment Setup .......................................................................................................................................................... 8
4.1.1 iOS/OSX Development ............................................................................................................................... 8
4.1.2 Android .......................................................................................................................................................... 9
4.2 Build/Deploy/Test ............................................................................................................................................................ 9
5 Appendix ................................................................................................................................ 9
5.1 Visual Studio Enterprise 2017 ..................................................................................................................................... 9
1 Overview
Microsoft defines a cross-platform, end-to-end (E2E) platform for the agile creation of mobile apps that:
• Targets any platform (iOS, Android, or Windows)
• Provides easy consumption of services in the cloud or on-premises
• Spans the requirements for consumer or employee scenarios
• Offers development teams DevOps tools to improve quality and to achieve fast time to market
• Allows for integration with existing enterprise systems.
The guide provides high level information to Project Managers, Architects and Consultants so that they
can prepare to deliver mobile cross-platform engagements. Pre-sales and Sales roles will also find the
materials and references useful to opportunity scoping and customer solution alignment discussions.
The guide is divided into three main sections:
1. Pre-Sales Readiness. Defines tools, products and links that at a 100-200 level.
2. Pre-Sales Engagement. Defines common mix of roles and skills that a cross platform engagement
will require.
3. Environment. Summarizes key element that can be set up to deliver cross platform engagements.
2 Pre-Sales Readiness
This section outlines resources that can support delivery of mobile cross-platform engagements.
2.1 ebook: Microsoft Platform and Tools for Mobile App Development
This is a no-cost, 67-page ebook that can be shared with clients:
https://blogs.msdn.microsoft.com/microsoft_press/2016/06/22/free-ebook-microsoft-platform-and-
tools-for-mobile-app-development/
This book outlines the E2E platform from Microsoft that forms the critical capabilities for organizations
selecting technologies and tools for a Mobile Application Development Platform (MADP) and Rapid
Mobile Application Development (RMAD). It also describes the core decision factors that organizations
should consider, and it outlines the technical capabilities available within Microsoft solutions and
products.
2.2 Xamarin
Xamarin (www.xamarin.com) is a company owned by Microsoft and based in San Francisco. There has
been half-a-million more Xamarin users since the acquisition, a 3x increase over the company’s previous
growth rate.
The toolset allows developers to create use a c# code base to write native Android, iOS, OSX and
Windows apps with native user interfaces and share code across multiple platforms.
Xamarin University. Required learning content for development team to have up to date product
knowledge: http://xamarin.com/university
Xamarin Test Cloud. Every customer facing application should look at including Xamarin Test Cloud to
help make sure application functionality for each release. Note: Now supports the Appium framework.
With the addition of Appium to our list of supported frameworks (including C#-based UITest and Ruby-
based Calabash), mobile developers will now be able to create automated tests in Java. Video:
https://www.youtube.com/embed/H4hf5fPBr4o?autoplay=0
The Xamarin Show. The Xamarin Show is all about native cross-platform mobile development for iOS,
Android, macOS, and Windows with Xamarin. Join the discussion building mobiles apps, integrating
Software Development Kits (SDKs), extending mobile apps, the latest Xamarin news, awesome apps
developers are building, and so much more. Visit Channel 9: https://aka.ms/TheXamarinShow
Cross Platform Development with Xamarin. Video: https://channel9.msdn.com/events/Microsoft-
Developer-Tour/Microsoft-Developer-Day-New-Zealand/DevOps-and-Cross-Platform-Development
Xamarin for Absolute Beginners. Video: https://www.youtube.com/embed/SrAD9qNi-8Q?autoplay=0
Xamarin Forms. Introducing VervetaCRM - a Xamarin.Forms demo app. Video:
https://www.youtube.com/embed/19Hs8wzeC7w?autoplay=0
2.3 Power Apps Overview
Microsoft PowerApps helps power users build and deploy business apps more easily. Key elements:
• Connect to the systems you're already using or create the data you need
• Build useful apps without writing code
• Publish apps almost instantly for web and mobile
Readiness
• Ignite Sessions related to PowerApps, Flow and Common Data Service:
• Blog post: https://powerapps.microsoft.com/en-us/blog/powerapps-flow-ignite-2016/
Deeper Dive
• Video recording from the Ignite partner training for PowerApps & Flow:
https://channel9.msdn.com/Series/PowerApps-and-Flow-Training/Hands-On-Lab
PowerApps Links
• Website: https://powerapps.microsoft.com/en-us/
• Blog: https://powerapps.microsoft.com/en-us/blog/
• Documentation: https://powerapps.microsoft.com/en-us/tutorials/getting-started/
• Community: http://aka.ms/powerapps-community
Recent Webinar Recordings
• 3rd November: GA webinar: https://powerapps.microsoft.com/en-us/blog/11-3-webinar-
announcing-powerapps-general-availability/
• 27th October: https://powerapps.microsoft.com/en-us/blog/powerapps-easier/
• 20th October: https://powerapps.microsoft.com/en-us/blog/how-to-create-and-customize-
applications-with-powerapps-with-laura-onu-webinar-oct-20th-10am-pst/
• 6th October: https://powerapps.microsoft.com/en-us/blog/leveraging-sharepoint-data-with-
powerapps-by-james-oleinik-webinar-oct-6th/
• 29th September: https://powerapps.microsoft.com/en-us/blog/getting-started-with-powerapps-
webinar-sept-29th/
Microsoft Flow
• YouTube Playlist: https://www.youtube.com/playlist?list=PL8nfc9haGeb55I9wL9QnWyHp3ctU2_ThF
• Website: https://flow.microsoft.com/en-us/
• Documentation: https://flow.microsoft.com/en-us/documentation/getting-started/
• Community: http://aka.ms/flow-community
Business Application Platform
• Website: https://businessplatform.microsoft.com/
• Blog: https://powerapps.microsoft.com/en-us/blog/insights-behind-dynamics-365-and-appsource/
Common Data Service
• General availability for Common Data Service: https://powerapps.microsoft.com/en-
us/blog/powerapps-cds-ga/
• New entities in the Common Data Model at GA: https://powerapps.microsoft.com/en-us/blog/ga-
common-data-model/
• YouTube channel for PowerApps: https://www.youtube.com/channel/UCGfWR2ekfRFckLjev6eQYLg
2.4 Visual Studio Mobile Center
Microsoft Visual Studio Mobile Center is mission control for mobile apps. It provides the mobile cloud
and lifecycle services that developers need to deliver high quality apps faster. Mobile Center also makes
it easy to scale apps on demand, and to add key mobile services such as authentication and offline sync.
Developers use Mobile Center to build, test, distribute, monitor, and continuously improve mobile apps.
Mobile Center provides both an end-to-end integrated workflow as well as the ability to mix and match
the services you have today with the services you need. This flexibility allows developers to improve
productivity without the need to retool their existing processes.
Mobile Center works with iOS and Android apps built in Objective-C, Swift, Java, Xamarin, and React
Native.
Mobile Center is the next generation of Xamarin Test Cloud and Hockey App. Production use should
continue in those services and Microsoft will communicate transition plans as Mobile Center gets closer
to general availability.
Common Questions about Visual Studio Mobile Center
Who should use Visual Studio Mobile Center?
• Mobile Center is designed and built for mobile developers targeting iOS, and Android (with
Universal Windows Platform (UWP) support coming soon).
• Mobile Center is in preview, so it not recommended to be used for production apps yet.
• Current customers of Xamarin Test Cloud, HockeyApp, and Code Push should start exploring
with Mobile Center to gain an early understanding of how it will work with their production
apps in the future.
What can you do today with Visual Studio Mobile Center?
• Today, Mobile Center supports continuous integration, automated testing, distribution, crash
reporting, analytics, authentication, tabular data storage, offline sync for the iOS and Android
platforms, using Objective-C, Swift, Java, React Native or C# with Xamarin
What platforms and languages does Visual Studio Mobile Center support?
• Mobile Center is in preview, and we are still adding support for innovative features and to
enhance support existing platforms.
• Currently, we have support on virtually all features for iOS and Android apps written in
Objective-C, Swift, Java, React Native, and Xamarin.
• We will be adding support for UWP apps and the Cordova framework as the services evolves.
When will Visual Studio Mobile Center support Cordova apps?
• We plan to include Cordova support by our GA release in 2017.
Will Visual Studio Mobile Center only work with apps written in Visual Studio / Xamarin for Visual Studio?
• No. Mobile Center will support iOS and Android apps written in Objective-C, Swift, Java, and
React Native, as well as applications written using the Visual Studio IDE / Xamarin for Visual
Studio.
How do I get started with Visual Studio Mobile Center?
• First request an invitation here: https://www.visualstudio.com/vs/mobile-center/
• You can use a GitHub login, your Microsoft account, or create a standalone login specifically for
Mobile Center to get started.
• If you use an existing GitHub login, you can connect your Git Repo to Mobile Center to create an
automated workflow that includes continuous integration, automated testing, and deployment;
along with basic analytics information and crash reporting.
• We are working on supporting this scenario for Git repos hosted on Visual Studio Team Services
as well.
• If you use your Microsoft Account or a standalone login for Mobile Center, you can still use
automated testing, distribution, analytics and crash reporting.
How do you add Visual Studio Mobile Center to an app?
• To add Mobile Center capabilities to an app, you will need to add the SDK to the project, rebuild
and redeploy.
• You can find the SDKs on CocoaPods, JCenter and Nuget. As these SDKs are open source, you
can also find and review the code on GitHub.
• If you just want to use the build, test, and release capabilities you can simply start using Mobile
Center with your existing code base without integrating the SDK.
What if I'm already a HockeyApp and/or Test Cloud customer?
• There are no changes for you right now. These services will continue to operate for production
usage, and we invite you to explore Mobile Center and provide feedback. As Mobile Center
matures we will communicate the transition plan, which will be virtually seamless for you.
I’ve noticed similar services in Mobile Center and Microsoft Azure App Service. What’s the difference?
• The cloud backend services in Mobile Center are actually Azure App Service. In fact, you will
need an App Services account to use these services in Mobile Center. The difference is that
through Mobile Center, we bring our cloud and mobile workflow services together in one place,
including your App Service services.
Can I bring my existing Azure Mobile Apps into Visual Studio Mobile Center?
• Not at this time.
• During the Visual Studio Mobile Center preview, you can only create connected App Services
through Mobile Center. In the future, we will let you decide if you want to bring your existing
Microsoft Azure Mobile Apps into Mobile Center or not.
When will Visual Studio Mobile Center be generally available?
• We plan to make Mobile Center generally available in the summer of 2017.
• We do not pre-disclose general availability announcements, so stay tuned for more information.
Is Visual Studio Mobile Center an extension of Visual Studio, or does it work with other integrated
development environments (IDEs)?
• Mobile Center is a set of mobile cloud and lifecycle services designed to support your mobile
apps.
• Mobile Center does not rely on a specific IDE, mobile device platform, or programming
language. Instead, Mobile Centers supports your iOS, Android (and in the future UWP apps) with
features such as continuous integration, automated testing, distribution, crash reporting,
monitoring and analytics.
• Mobile Center also integrates Microsoft Azure based cloud services such as storage,
authentication, push notifications, and more, that are scoped to make it easier for mobile
developers to adopt them – again no matter the mobile platform, development language or IDE.
Is there any cost to using Mobile Center during Preview?
• No! Sign up here: [https://mobile.azure.com/login]
What do I get during Mobile Center Preview?
• Mobile Center Preview provides the basic tools for continuous delivery including capabilities
around build and test, beta distribution, crash reporting and analytics. There are some resource
limitations during Preview, to help make that lots of customers can try this out and share their
feedback.
• Details can be found here: https://docs.mobile.azure.com/
Can I still buy Xamarin Test Cloud and/or HockeyApp if I’m using the Mobile Center Preview?
• Absolutely, and this will be the recommended option for customers who want an uptime
guarantee and who need to be able to run at an increased scale than the Mobile Center Preview
provides.
When will you announce prices for Mobile Center?
• We are launching Mobile Center Preview at no cost. Stay tuned for GA pricing information.
Who are your main competitors for Visual Studio Mobile Center?
• Google Firebase and Amazon Web Services (AWS) Mobile Hub have solutions in this space and
there are a lot of companies who have point solutions as well.
Using HockeyApp with Xamarin Apps
• Video: https://channel9.msdn.com/Events/Build/2016/T668-R1
3 Pre-Sales Engagement Guide
3.1 Common Cross Platform Roles/Skills
The following list defines at a high level the common roles and skills required to deliver a cross platform
engagement depending on the engagement duration and complexity.
Project Manager
• Responsible for managing and coordinating the overall project
• Responsible for Resource allocation, risk management, project priorities, and communication to
executive management
• Manages day-to-day activities of project
• Coordinates the activities of the team according to the project schedule
• Work Item Tracking management with Microsoft Visual Studio 2005 Team System (VSTS)
User Experience Lead
• Primary point of contact for the customer team
• Facilitates the scoping and design workshop, and documents the agreed-upon project scope
• Facilitates regular design reviews and status progress meetings
• Validates customer commitments (such as delivering content and approving branding)
• Leads the project design team
• Showcases key features and capabilities of Microsoft technologies
Iteration Designer
• The Interaction Designer is responsible for designing the structure, flow, and behavior of the
application.
• The Interaction Designer works closely with the User Experience Architect in the early stages of the
project, assisting with the documentation of personas and scenarios following the Scoping and
Design workshop.
• The Interaction Designer then progresses the agreed upon scenarios through the design process,
producing interim deliverables including the user interface storyboard and wireframes. The
Interaction Designer works closely with the Visual Designer and the development team to design the
detailed user interactions and application behavior.
Visual Designer
• Responsible for designing the branding and aesthetic aspects of the application.
Lead Developer
• Leads application development, technical discussions, mobile application meetings, and technical
document production.
• Provides the assessment, analysis, findings, and proposal to the customer.
• Supports the customer with presentations, workshops, and meetings.
Developers
• Support development of applications on iOS, Android with the following skills: o VSTS Skills
- Continuous Integration Build - Integration with HockeyApp for deployment - Integration with iOS, Android Stores
o Web Skills - Integration with Microsoft Azure Web and Security Stack
• Note: Xamarin Certified Developers should be engaged for Cross Platform Xamarin Projects
Test Lead
• Defines High Level Test Plan and testing approach
• Reviews and releases
Tester
• Covers Xamarin user interface tests and Xamarin Test Cloud
4 Environment
4.1 Environment Setup
For pre-sales and delivery, please review the following sections.
4.1.1 iOS/OSX Development
The following is a non-exhaustive list:
Physical Hardware
• Mac OS X Computer for local development and simulation testing
• iOS Device different form factors e.g. Phone, Tablet form factors
Development
• Microsoft Xamarin Studio
• Visual Studio 2015
Development (Preview)
• Visual Studio for Mac - Native apps for iOS, watchOS, tvOS and macOS
• See https://developer.xamarin.com/visual-studio-mac/
• Visual Studio 2017 RC full development IDE for Windows development
4.1.2 Android
The following is non-exhaustive list:
Physical Hardware
• Android devices different form factors e.g. Phone, Tablet form factors and Operating system level
Development (Preview)
• Visual Studio for Mac - Native apps for iOS, watchOS, tvOS and macOS
• See https://developer.xamarin.com/visual-studio-mac/
• Visual Studio 2017 RC full development IDE for Windows development
4.2 Build/Deploy/Test
Production Tools. To build and compile deployment packages, the following tools are recommended
until Visual Studio Mobile Center is released:
• VSTS Build with Android: https://blog.xamarin.com/continuous-integration-for-android-with-visual-
studio-team-services/
• VSTS Build with iOS: https://blog.xamarin.com/continuous-integration-for-ios-apps-with-visual-stud
io-team-services/
• Xamarin CI Build: https://developer.xamarin.com/guides/cross-platform/ci/configuring_tfs/
• HockeyApp Integration: https://support.hockeyapp.net/kb/third-party-bug-trackers-services-and-webhook
s/how-to-use-hockeyapp-with-visual-studio-team-services-vsts-or-team-foundation-server-tfs
• Install Xamarin Test Cloud: https://marketplace.visualstudio.com/items?itemName=Xamarin.vso-xt
c-results&workflowId=marketplace&wt.mc_id=o~msft~marketplace~install) extension
Preview
• Visual Studio Mobile Centre: https://www.visualstudio.com/vs/mobile-center/
5 Appendix
Visual Studio 2017 with Xamarin makes it faster and easier than ever for developers to build, connect,
and tune mobile apps for Android, iOS, and Windows.
Developers can also choose to develop mobile apps with Apache Cordova or Visual C++ cross platform
library development in Visual Studio.
5.1 Visual Studio Enterprise 2017
With Visual Studio Enterprise 2017, mobile developers get access to more complex debugging and
profiling tools and testing features for mobile cross-platform applications. These features facilitate rapid
design experimentation and iteration, without needing to compile, build, and deploy each time changes
are made. Developers can also improve mobile app quality by more easily creating UI test scripts simply
by running the app and performing actions. These test scripts can then be used in the device emulator
or as part of an automated build>test>deploy workflow with Xamarin Test Cloud. For Android
developers, embedded assemblies add an additional layer of protection to Android apps by utilizing
assembly bundling for compiled code.
These resources provide insights on the application performance and behavior:
Xamarin Inspector. Xamarin Workbooks & Inspector bring an interactive C# console with tools to users.
The Inspector integrates with the app debugging workflow of your IDE, serving as a debugging or
diagnostics aid when inspecting your running app. Read More:
https://developer.xamarin.com/guides/cross-platform/inspector/
Xamarin Profiler. An application’s success depends on the end user experience. As a developer, you
might have implemented some awesome features in your app, but if the app is sluggish or full of
crashes, the user will likely get rid of it. Read more: https://developer.xamarin.com/guides/cross-
platform/profiler/
iOS Simulator. Test and debug iOS apps entirely within Visual Studio Enterprise on Windows. Read
more: https://developer.xamarin.com/guides/cross-platform/windows/ios-simulator/
Xamarin Test Cloud Discount. Read more: https://store.xamarin.com/