take your team mobile with xamarincdn1.xamarin.com/webimages/assets/xamarin-guide... ·...
TRANSCRIPT
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.