Overview
In this course students will learn how to use Xamarin as a cross-platform mobile
development tool to build native Android and iOS apps using C# and a .NET code base.
Students will begin by learning how to use Xamarin.Forms to build Android and iOS apps
using a single code base. Students will learn how to use XAML to define the UI layer for all
platforms. By installing the app on both Android and iOS simulators and real test devices,
they will see how the UI renders as native controls on each platform, thereby giving the
app a native look and feel.
Coverage of XAML includes how to use XAML controls to interact with the use, how to use
XAML to manage the UI layout, and how to connect UI events to C# event handlers.
Students will also learn how to custom the UI appearance of an app for a specific platform.
Students will learn how to interact with both local data stored on the device and how to
communicate with, and process data from, RESTful services using Xamarin.Forms.
Xamarin also supports Xamarin Native, which allows developers to write separate native UI
code for each platform. In this course, students will learn how to install and configure
Xamarin.Android, and then examine Android application architectures. They will build
Android applications in C# using Xamarin.Android using the Android designers and controls.
Students will also learn how to install and configure Xamarin.iOS, and then examine native
iOS application architectures. Students will build Xamarin.iOS applications in C# using the
iOS designers and controls.
This course will also examine how to work with touch and location services for both Android
and iOS devices.
Objectives
In this course, students will learn:
- Configuring a Xamarin development system
- Xamarin.Forms vs Xamarin.Native
- Anatomy of a Xamarin application
- XAML for Xamain.Forms apps
- Handling XAML events
- Customizing XAML.Forms controls on the Android and iOS
- Working with data on the local device
- Making calls to, and processing data from, RESTful services
- How to build Xamarin.Android apps
- How to build Xamarin.iOS apps
- Working with Touch
- Working with Location Services
- Using NuGet and the Xamarin Store
Prerequisites
C# programming experience.
Course duration
4 Days
Course outline
Introduction to Cross-Platform Development
- Examining the Android, iOS and Windows UI Experiences
- Options for Cross-Platform Mobile Development
- Problems with Cross-Platform Mobile Development
- Getting to Know Xamarin
- Anatomy of a Xamarin Application
- Understanding Portable Class Libraries
Improving Your C#
- Reviewing C# and the .NET Framework
- Understanding await/async
- Understanding RESTful Services
Configuring your Development Environment
- Installing Visual Studio and Xamarin
- Configuring the Mac for iOS Apps
- Testing Apps Using Emulators
- Testing Apps on Physical Devices:
- Building a "Hello World" Shared Project in Visual Studio
Part I: Introduction to Xamarin.Forms
- Configuring the Visual Studio Project
- Introducing XAML
- Handling Events
- Using XAML to Layout the UI
- Using XAML Controls
- Platform Specific Calls
Part II: Introduction to Xamarin.Forms
- Working with Text
- Working with XAML Resources
- Working with XAML Styles
- Data Binding
- Working with Bitmaps
Customizing Xamarin.Forms Controls on Each Platform
- Custom Renderers
- Implementing and Customizing Views
- Using Dependency Injection
Working with Xamarin.Android for Native UI
- Configuring the Visual Studio Project
- Understanding Android Concepts
- Events, Protocols and Delegates
- Designing a UI for the Android
- Layouts
- Widgets
- Accessing Android APIs
- Calling Existing Java Code
Working with Xamarin.iOS for Native UI
- Configuring the Visual Studio Project
- Understanding iOS Concepts
- iOS Model-View-Contrroller
- Events, Protocols and Delegates
- Designing a UI for iOS
- StoryBoards
- Types of UIViewControllers
- Accessing iOS APIs
- Calling Existing Objective C/Swift Code
Working with Data
- Local Data Options
- Calling RESTful Services
Working with Location Services
- Understanding GeoLocation
- Implementing "Where Am I"
Working with Touch
- Understanding Touch Events
- Using Gesture Recognizers
Extending Your Application with NuGet and the Xamarin Components Stores
- Cloud Service Features (ex: Authentication Support, Azure Mobile Client, etc)
- Libraries (ex: Barcode Scanning, Messaging, Credit Card Scanning, etc)
- User Interface Components (ex: Charts, Carousels, Signature Pads, etc)
|