Developing cross-platform apps with C# using XamarinMobile Microsoft
Xamarin is quickly gaining a lot of traction within the Microsoft developer community. Using the same language – C# - we can now create apps which run on iOS and Android, next to only Windows Phone previously. Developers which have been developing using the .NET stack now get the ability to extend their reach onto other platforms, while still being able to use tools like Visual Studio.
In this 3 day course, you'll learn about the Xamarin environment. You'll learn about cross-platform development, Xamarin.Android and Xamarin.iOS. All this becomes possible using the knowledge you already have: C#!
Students should have experience developing applications or websites using C#; the course assumes you are familiar with the language. XAML knowledge is a plus but is not required.
Chapter 1: Introduction to cross-platform development with Xamarin
In the first chapter, we are looking at a complete, high-level overview of the Xamarin platform. We will look at the different development environments (Visual Studio and Xamarin Studio) and explore all the different building blocks that make up the Xamarin toolset. An overview of the setup when creating your own environment is also included.
- Hello Xamarin!
- C# everywhere
- How Xamarin works
- Xamarin components
- Visual Studio integration
- Xamarin Studio
- Xamarin Forms and XAML
- Xamarin Test Cloud
- Preparing your environment for Xamarin
Chapter 2: Cross-platform code-sharing approaches and architectural considerations
In chapter 2, we are exploring the different approaches which are possible to create cross-platform applications which share code between Windows Phone, iOS and Android (and even Windows 8.1). This chapter focuses mostly on the architectural considerations.
- Code sharing options
- Cross platform solutions
- Dealing with platform specific items
- Shared Projects
- Portable Class
Chapter 3: Building our first Xamarin.Android application
Starting with Chapter 3, we are going to focus on Xamarin.Android. In this chapter, we are introducing the most important aspects of Android development by means of a large instructor-led demonstration. Along the way, you'll learn about activities, intents and much more.
Chapter 4: UI Development with Xamarin.Android
In Chapter 3, we've seen the basic concepts of Android development. In Chapter 4, we are digging deeper in the UI aspects. We will see how Xamarin.Android makes it possible to create a good-looking UI. You'll learn about the most important views, the layout managers and fragments, a very important aspect when it comes to building Android apps.
- Introduction to UI layout
- Working with the designer tools
- Layout in Android
- Views in Android
- ListViews and Adapters
- Working with Fragments
Chapter 5: Programming Android
Chapter 5 covers more advanced concepts in Android development. This topic contains a collection of topics which are vital to understanding more advanced programming concepts in Android development.
- More on Activities
- Rotation of the device
- Navigation in Android apps
- Working with services
Chapter 6: Deploying your Xamarin.Android apps
In this final topic covering Android development, we will look at what it takes to deploy apps to the store. We will look at the different stores and see how we can make our app ready for deployment in Google Play.
- Debugging and logging
- Packaging and deploying to the store
Chapter 7: Building our first Xamarin.IOS application
Chapter 7 is the first one which covers iOS development using Xamarin.iOS. Similarly to what we have done with Android, we will look at the basic concepts in iOS development by means of a large instructor-led demonstration. Along the way, the most important iOS development concepts are explained.
- Getting started in iOS
Chapter 8: Controllers in-depth
iOS development has a couple of very important concepts that you need to grasp. Controllers is one of them. In this chapter, we are digging into the specifics of controllers and will take a look at some of the built-in controllers in iOS.
- Protocols and delegates
- Modal controller
- iPad controller
- UI flow creation in Storyboards
Chapter 9: Views in-depth
Building a good-looking UI in iOS requires the use of views. In Chapter 9, we are exploring the different views we get by default in Xamarin.iOS. We can create our UIs with the designer in Visual Studio, we'll look at using this designer as well.
- Working with the designer
- Text input
Chapter 10: Table and collection views
Using Table views is a very important aspect in almost every iOS application. This chapter digs deep into the use of table views and how they get their data.
- Headers and footers
- Cell appearance
- Editing data
- Collection Views
Chapter 11: Programming Xamarin.iOS
Chapter 11 includes a number of more advanced topics in iOS development.
- Using images
- Using graphics
- Permissions and plists
- Working with local files on the device
- Creating apps in code entirely
Chapter 12: Deploying your Xamarin.iOS applications
Once your app is ready, it needs to be deployed in the App Store. Making sure it passes certification requires following a number of steps. In this chapter, we will look at the different steps we need to follow.
- Deploying to the store
Chapter 13: Introduction to Xamarin.Forms
Recently, Xamarin added Xamarin.Forms to the Xamarin product family. Using Forms, we can easily create apps using a single code-base, including the UI, targeting iOS, Android and Windows Phone, while still creating a native app. In this chapter, we will explore Xamarin.Forms.
- Introduction to Xamarin Forms
- Project structure
- Views and layouts
- Platform features
- Working with the DependencyService
Chapter 14: XAML and databinding in Xamarin.Forms
Xamarin.Forms lends itself to being used with XAML and even supports data binding. This final chapter will look at how we can use these.
- What is XAML?
- Building an app with XAML
- XAML Syntax
- XAML Markup Extensions
- Data binding
09:00 - 16:15
Introduction to cross-platform development with Xamarin
Cross-platform code-sharing approaches and architectural considerations
Building our first Xamarin.Android application
UI Development with Xamarin.Android
Programming AndroidDeploying your Xamarin.Android apps
Building our first Xamarin.IOS application
Table and collection views
Deploying your Xamarin.iOS applications
Introduction to Xamarin.Forms
XAML and databinding in Xamarin.Forms