Mobile Cross Platform Development · PDF filetools-for-mobile-app-development/ ... The Xamarin...

12
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

Transcript of Mobile Cross Platform Development · PDF filetools-for-mobile-app-development/ ... The Xamarin...

Page 1: Mobile Cross Platform Development · PDF filetools-for-mobile-app-development/ ... The Xamarin Show is all about native cross-platform mobile development for iOS, Android, macOS, and

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

Page 2: Mobile Cross Platform Development · PDF filetools-for-mobile-app-development/ ... The Xamarin Show is all about native cross-platform mobile development for iOS, Android, macOS, and

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

Page 3: Mobile Cross Platform Development · PDF filetools-for-mobile-app-development/ ... The Xamarin Show is all about native cross-platform mobile development for iOS, Android, macOS, and

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.

Page 4: Mobile Cross Platform Development · PDF filetools-for-mobile-app-development/ ... The Xamarin Show is all about native cross-platform mobile development for iOS, Android, macOS, and

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

Page 5: Mobile Cross Platform Development · PDF filetools-for-mobile-app-development/ ... The Xamarin Show is all about native cross-platform mobile development for iOS, Android, macOS, and

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

Page 6: Mobile Cross Platform Development · PDF filetools-for-mobile-app-development/ ... The Xamarin Show is all about native cross-platform mobile development for iOS, Android, macOS, and

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.

Page 7: Mobile Cross Platform Development · PDF filetools-for-mobile-app-development/ ... The Xamarin Show is all about native cross-platform mobile development for iOS, Android, macOS, and

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.

Page 8: Mobile Cross Platform Development · PDF filetools-for-mobile-app-development/ ... The Xamarin Show is all about native cross-platform mobile development for iOS, Android, macOS, and

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

Page 9: Mobile Cross Platform Development · PDF filetools-for-mobile-app-development/ ... The Xamarin Show is all about native cross-platform mobile development for iOS, Android, macOS, and

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.

Page 10: Mobile Cross Platform Development · PDF filetools-for-mobile-app-development/ ... The Xamarin Show is all about native cross-platform mobile development for iOS, Android, macOS, and

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

Page 11: Mobile Cross Platform Development · PDF filetools-for-mobile-app-development/ ... The Xamarin Show is all about native cross-platform mobile development for iOS, Android, macOS, and

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

Page 12: Mobile Cross Platform Development · PDF filetools-for-mobile-app-development/ ... The Xamarin Show is all about native cross-platform mobile development for iOS, Android, macOS, and

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/