Xamarin Cross-Platform Mobile Application Development


Course Code: hsts-c36

Course Description

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.

You 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

Course Prerequisites

C# programming experience.

Follow-up Course

SQL Programming and DB Management

Class Info

Highlights

  • 10 sessions each 1.5 hours with hands-on training led by experienced instructors
  • Digital courseware and online course tracking
  • Final course project delivery
  • Certificate of Completion for each course
  • Session-based assignment

Enrollment Fee

$29 per class hour or $390 per course

Location

  • In Person at HacDC's office (1525 Newton St, NW, Ste 212 Washington DC, 20010) located 2 blocks from the Columbia Height metro
  • Private custom training on site or at your location
  • Project based training cn site or at your location

Time

  • In Person: 9AM-3:00PM (1 hour Lunch)
  • Private custom & project based training: your preference

Software Versions

Our classes are taught on the most current version of software whenever possible. To request a specific version, please Contact Us or call us at 240-200-6131

Online Registration Form

Submit below form if you wish to register to our coding classes. The courses are filled on first come, first served basis.



Course Outline

1- 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

2- 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

3- Improving Your C#

  • Reviewing C# and the .NET Framework
  • Understanding await/async
  • Understanding RESTful Services

4- 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

5- Part II: Introduction to Xamarin.Forms

  • Working with Text
  • Working with XAML Resources
  • Working with XAML Styles
  • Data Binding
  • Working with Bitmaps

6- Customizing Xamarin.Forms Controls on Each Platform

  • Custom Renderers
  • Implementing and Customizing Views
  • Using Dependency Injection

7- 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

8- 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

9- Working with Data

  • Local Data Options
  • Calling RESTful Services

10- Working with Touch

  • Understanding Touch Events
  • Using Gesture Recognizers

11- Working with Location Services

  • Understanding GeoLocation
  • Implementing "Where Am I"

12- 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)