take your team mobile with xamarincdn1.xamarin.com/webimages/assets/xamarin-guide... ·...

15
Take Your Team Mobile with Xamarin

Upload: phamnguyet

Post on 24-Jul-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Take Your Team Mobile with Xamarin

IntroductionTake Your Team Mobile with Xamarin

01

Enterprises no longer question if they should go mobile, but are figuring out how to implement a successful mobile strategy, and in particular how to go from no mobile proficiency in-house to skilled experts.

Rather than staff separate, platform-specific teams, Gartner predicts that enterprises will adopt solutions that enable them to, “deploy existing, skilled staff on mobile projects, as well as by integration. Using C#, for example, allows for easy reuse of .NET libraries and interfaces.”1 There are several advantages to this approach, as outlined in the Buy or Build Your Mobile Team guide. Xamarin is the only solution that enables enterprises to use existing skills, teams, tools, and code to build native apps that deliver the performance and user experience employees and customers expect.

Overview

02

Take Your Team Mobile with Xamarin

This guide includes recommendations for building an effective mobile development team quickly, including an onboarding approach that takes team dynamics, individual skills, and internal processes into account.

To go mobile with Xamarin, you need to:

Analyze existing code and apps (if any)

Analyze your existing team’s skills

Follow the proposed training plans that match your team’s skills and expertise

</>

Take Your Team Mobile with Xamarin

03

For teams with existing C# code

If your team has significant C# code in legacy web or desktop applications, you can use Xamarin’s .NET mobility scanner at

Calls Platform-specific method name

18 bool Type.IsAssignableForm (Type)

14 int Thread.ManagedThreadId { get; }

14 int Thread.ManagedThreadId { get; }

10 Type[] Type.GetGenericArguments ()

6 Type[] Type.GetInterfaces ()

Namespace Suggestions Compatibility

Analyze existing code

http://scan.xamarin.com to evaluate how much code can be reused in a mobile app. This will help you plan for your mobile projects more efficiently.

System

System

System

System.Threading

System.Threading

100%

100%

100%

86%

04

Take Your Team Mobile with Xamarin

For teams with mobile apps in platform- specific languages

Your team may have existing mobile apps written in platform-specific languages, for example, an iOS app written in Objective-C.

In this scenario, the best way forward is to develop the Android version of the app in C# using Xamarin. Once you have the Android version in C#, you also have 80% (or more) of the Xamarin.iOS version created thanks to shared code across device platforms. You can then quickly

It is important to recognize that you can also leverage your prior investments in User Interface design, third party libraries, and even platform-specific code. Our automatic binding generators enable you to continue to use existing custom controls, frameworks, and other compiled code from your previous apps. Additionally, because Xamarin uses the native layout file formats for each platform, you can keep your iOS storyboards, xibs, Android XML layout files, and other native resource files.

replace the Objective-C iOS app with a C#, Xamarin.iOS version. This works the same way for teams with an existing Java app: build the iOS app in C#, then replace the Java app with a Xamarin.Android app. Over time, you can retrain your Objective-C and Java developers on C#, building a development team capable of reusing over 80% code across platforms, eliminating code redundancy and generating fewer bugs.

C#

Xamarin.iOS 80%

Take Your Team Mobile with Xamarin

05

Analyze current team skill set

Before embarking on a training program, you should assess your current team’s skill set to understand individual and group strengths and knowledge gaps. This Mobile Development Skill Assessment survey has sample questions that can help you assess this concern.

When sending your survey, emphasize that the results will be used to create customized training plans and that responses should be as honest as possible.

06

Take Your Team Mobile with Xamarin

We are currently assessing our existing mobile development skills as we develop our mobile strategy. Based on your answers, we will create a strategic training program to ensure you get the education and tools you need.

Rank your proficiency in the following areas (1 = no experience, 5 = experience building multiple production apps)

1. C# and .NET Framework

3. iOS: Objective-C or Swift

4. Android: Java

5. Other Mobile Frameworks

2. Xamarin Platform (Xamarin Studio or Visual Studio integration)

Xamarin.iOS

Xamarin.Android

Xamarin.Forms

If you rank yourself 2 or higher:

6. Have you published any mobile apps?

If yes, please give a brief description of the app (use case, platforms, and languages)

Sample Survey: Mobile Development Skill Assessment

1 3 4 52

Take Your Team Mobile with Xamarin

07

Training plan

Create individual learning plans with Xamarin University

Once you have an understanding of each team member’s skill set, you can create customized learning plans.

Xamarin University’s comprehensive curriculum meets the needs of developers at all levels, offering courses from introductory C# to advanced specializations, platform-specific topics, enterprise security, and more. Xamarin University is taught online (with classroom training coming soon) by

mobile experts and is offered across all timezones. In addition to small, hands-on classes, Xamarin University subscriptions also include “office hours,” allowing students to schedule one-on-one time with instructors. Xamarin University is the only way to earn Xamarin Certified Mobile Developer status, which many enterprises are now requiring to enforce high standards for their development organizations.

Based on each individual’s assessed skill level, team members should be grouped in categories based on their needs.

Sample Training Plans

Basic C#: Gain fundamental language and programming skills, as well as basic app structures and code sharing architectures.

Xamarin.Forms: Learn cross-platform, single UI app development — reusing 90%+ ofcode across platforms.

Platform-specific (iOS/Android/Windows): Tackle advanced platform-specific APIs, concerns, and up-level functionality.

Advanced Techniques: Develop skills related to responsive apps such as efficient network calls, threading, async/await, etc.

C#

Take Your Team Mobile with Xamarin

08

Apps marked with an asterisk are required for Xamarin Mobile Developer Certification.

Introduction to C#

Branching and Looping

Object-Oriented Programming

Adding Behavior in Our Apps

Shifting from Console to Mobile

More About Classes and Methods

Collections in C#

Debugging and Exceptions

Inheritance and Polymorphism

CSC101

CSC102

CSC103

CSC104

CSC105

CSC106

CSC107

CSC108

CSC109

Recommended courses

Basic C#

Take Your Team Mobile with Xamarin

Orientation + Setup *

Introduction to iOS *

Introduction to Android *

Intro to Cross Platform Development *

Intro to Xamarin.Forms *

XAML in Xamarin.Forms

Styles and Resources in Xamarin.Forms

Cross Platform RESTful Web Services

Data in Mobile *

Publishing an Application *

Advanced Cross-Platform development *

Data Binding in Xamarin.Forms

Using ListView in Xamarin.Forms

Memory Management and Performance *

XAM101

XAM110

XAM120

XAM130

XAM140

XAM150

XAM160

XAM220

XAM300

XAM310

XAM311

XAM370

iOS101

AND101

Building Xamarin.Forms Apps

Orientation + Setup *

Introduction to iOS *

Managing multiple screens

Table Views in iOS *

Adding Behavior to Table Views

Cross-Platform RESTful Web Services

Data in Mobile *

Background Tasks in iOS *

Background Transfers in iOS

Publishing an Application *

Maps

Touch

AutoLayout and Constraints

Adaptive UI design

XAM101

XAM150

XAM160

XAM220

iOS101

iOS102

iOS110

iOS115

iOS210

iOS211

iOS230

iOS240

iOS300

iOS301

Building Xamarin.iOS Apps

Take Your Team Mobile with Xamarin

Take Your Team Mobile with Xamarin

11

Orientation + Setup *

Introduction to Android *

Intents and Second Screens in Android

Dealing with Fragmentation

ListViews in Android *

RecyclerView in Android

Cross Platform RESTful Web Services

RecyclerView in Android

Data in Mobile *

Publishing an Application *

Maps

Touch

Adaptive design in Android

XAM101

XAM150

XAM160

XAM220

AND102

AND103

AND110

AND210

AND230

AND240

AND301

AND115

AND101

Building Xamarin.Android Apps

12

Take Your Team Mobile with Xamarin

Intro to Cross-Platform Development *

Advanced Cross-Platform Development *

Memory Management and Performance *

Data Caching and Synchronization

XAM110

XAM300

XAM370

ENT410

Building Xamarin.Android Apps

Quickly developing skilled mobile teams is imperative as enterprises adjust to the rapidly changing mobile landscape. Xamarin expedites your transition to mobile development by offering the tools and education necessary to create your mobile dream team.

Xamarin University adds new classes regularly. Visit xamarin.com/university to see the latest course listing and to enroll your team today.

Take Your Team Mobile with Xamarin

13

Expert help to go mobile even faster

Xamarin Client Services gives your team access to our in-house mobile development experts to answer questions, provide guidance, offer code reviews, and engage in one-on-one sessions. Use the Xamarin team to jump start your mobile projects, especially in time-sensitive or highly complex scenarios. Contact [email protected] to learn more.

Xamarin also has a global network of over 350 Consulting Partners with extensive mobile development expertise who can provide best practices and architecture guidance to accelerate your projects, as well as staff augmentation. To find a Xamarin Consulting Partner near you, please consult the Xamarin Consulting Partner Directory.

Take Your Team Mobile with Xamarin

14