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.Mer information & fakta
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#!
About Gill Cleeren
Gill Cleeren is a Microsoft Regional Director, Windows Platform MVP and Pluralsight author. Gill focuses on mobile development for the Windows stack as well as Xamarin. Gill is a frequent speaker at many international conferences such as TechDays, TechEd, NDC, VSLive and many more. He also is the founder of Techorama, the biggest developer conference in Belgium and he runs Visug, the .NET user group in Belgium as well. You can find his website at www.snowball.be.
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
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 Libraries
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.
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 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
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
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
- 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
- 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
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 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
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
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
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
Good practical knowledge of C# is required.