Xamarin.Forms is the embodying of Microsoft’s idea of writing code once and running it on a multitude of devices. Using XAML and C#, existing .NET developers can easily build iOS, Android and UWP applications, all sharing a maximum amount of code. While the framework is rather complete, developers will need to go off the beaten track and write controls and native interactions with features of the devices, for which native Xamarin will be used.
Interested in attending? Have a suggestion about running this event near you?
Register your interest now
In this course, students will get an overview of the different ways of building Xamarin applications. The used tooling as well as other interesting tooling will be explained. The main focus of the course is Xamarin.Forms, where we will start from the basics. Students will also get a good understanding of the XAML language, which is the best approach to build Xamarin.Forms apps.
Next, the focus of the course will move to MVVM, the pattern typically used for building XAML-based applications. First, students will understand the concepts of MVVM (including the view model, commanding, behaviours, messaging…). Next, they will see how to build a proven architecture based on MVVM that isn’t using any actual frameworks.
All of this will be supported with both hands-on labs (step-by-step instructions) as well as challenges where students can work alone or in groups of 2 to build Xamarin.Forms applications.
Note that we will cover UWP only briefly but students will get to play with UWP during the labs as well.
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 Visual Studio for Mac) 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
• Visual Studio for Mac
• Xamarin Forms and XAML
• Xamarin Test Cloud/ Visual Studio App Center
• 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 UWP, iOS and Android. This chapter focuses mostly on the architectural considerations.
• Code sharing options
• Architecture of a Cross-platform Xamarin application
• Shared Projects
• Portable Class Libraries (legacy)
• .NET Standard
Chapter 3: Introduction to Xamarin.Forms
Using Forms, we can easily create apps using a single code-base, including the UI, targeting iOS, Android and UWP, while still creating a native app. In this chapter, we will explore the basics of Xamarin.Forms.
• Introduction to Xamarin Forms
• Project structure
• Lists and Cells
• Platform features
• Working with the DependencyService
• Using Xamarin Plugins
• Custom renderers
• App Lifecycle
Chapter 4: XAML and databinding in Xamarin.Forms
Forms lends itself to being used with XAML and even supports data binding. This chapter will look at how we can use these. It will also make sure that everyone is fully up-to-speed with XAML.
• What is XAML?
• Building an app with XAML
• XAML Syntax
• XAML Markup Extensions
• Data binding
• Binding Modes
Chapter 5: Creating Xamarin.Forms applications using MVVM
MVVM is a UI pattern that allows us to build more maintainable and testable applications. It turns out that this pattern also works great in combination with Xamarin and it allows us to reach a level of code reuse which is very high. In this chapter, we are going to learn how to create MVVM-based Xamarin applications.
• Hello MVVM
• View model locators
• Testing MVVM-based applications with unit tests
Chapter 6: Building an enterprise application architecture with Xamarin.Forms
In this chapter, we will basically apply what we have learned in the previous chapter and we will see how a pre-made enterprise application based on the MVVM pattern. Different patterns, typically used in enterprise, data-driven applications will be used here, including DI.
• Application architecture
• Working with data and repositories
• Navigation and wrappers for navigation
• Bootstrapping the application
• Dependency injection (Autofac)
• Unit testing
Chapter 7: Advanced topics of Xamarin.Forms
In this final chapter, we will explore several, more advanced topics of Xamarin.Forms.
• Working with push notifications
• The future of Xamarin.Forms
- C# knowledge is expected, as this course (and Xamarin.Forms) use C#.
Please note that it might be good that students who aren’t familiar with C# spend some time with some Pluralsight courses to at least have the basics before coming to this course.
- XAML knowledge is not required.
- A PC with Visual Studio 2017 with at least Update 15.6 is required per student.
- A Mac is not required as we will use MacInCloud remotely. These logins will be provided.