Developing cross-platform apps with C# using Xamarin
Course
In London
Description
-
Type
Course
-
Location
London
C# is one of the most popular development languages in the world but we write the majority of mobile apps in Java, Swift or Objective-C. While it was originally possible to build .NET apps running on Windows-based devices only, the game has changed. Dramatically.
Using Xamarin, we can now write apps, which run on Android and iOS devices natively using C#. This way, C# allows us to target billions of extra devices using the language we all love. The experiences, which users get from Xamarin-base apps, are fully native: the apps aren't web-based, trimmed-down versions of the apps. Instead, they offer the full functionality of the platform they target.
The impact in terms of re-using code is huge. We can build architecture with this cross-platform functionality in mind and construct it so that a lot (or maybe we should say: most) of our code can be re-used in Windows Phone, iOS and Android apps.
In this 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#!
Please note: Due to the nature of the delegate labs on this course it can only run on Apple Macs. The course cannot be delivered on Windows based machines.
Facilities
Location
Start date
Start date
About this course
Please select from the dates below to make an enquiry or booking.
Pricing
Different pricing structures are available including special offers. These include early bird, late availability, multi-place, corporate volume and self-funding rates. Please arrange a discussion with a training advisor to discover your most cost effective option.
Reviews
Subjects
- Windows
Course programme
Modules
Hide all
C# Review (13 topics)
- Value and Reference Types under the hood
- Classes, Encapsulation and Properties
- SOLID
- Inheritance and Polymorphism
- Interfaces and Decoupling
- Dependency Injection
- Inversion of Control
- Generics
- Delegates
- Anonymous Delegates and Lambdas
- Tasks and async
- Useful Design Patterns
- Labs
Xamarin Introduction (8 topics)
- What is Xamarin
- Bit of History
- Benefits and Disadvantages of using Xamarin
- Mobile Development Challenges
- Where does it fit in?
- How does it work?
- What you need to get started
- Getting started with Xamarin Studio
Getting Started with Xamarin.android (12 topics)
- android Projects
- API Versions
- Resources and Images
- Layouts
- App Architecture
- Creating Activities
- Accessing Views
- Working with Intents
- Launching Activities
- Passing data between activities
- Working with an activities lifecycle
- Labs
Designing your android UI with Layouts (13 topics)
- Creating the UI with the Designer
- Designing Layouts and working with
- Linear
- Relative
- Table
- Grid layouts
- Working with some of the built in views including
- Date and time picker
- Standard Views
- Spinner
- CardView
- ScrollView
- Labs
Lists, Tabs and Fragments in android (10 topics)
- ListViews and ListAdapters
- Custom ListAdapters
- Built in and Custom Row Layouts
- Working with Fragments
- Using fragments declaratively and programmatically
- The FragmentManager
- Fragment Lifecycle
- State Management
- Tabs and the Action Bar
- Labs
Additional android Issues (5 topics)
- Activity Lifecycle
- State Management
- Rotation and managing alternate layouts
- Drawables and resolution
- Labs
Cross Platform Code Sharing (13 topics)
- Why Code Share
- Code sharing Options
- Shared Projects
- Portable Class Libraries
- Ramping up code reuse across platforms
- Cross Platform Data Access
- Abstracting device specificity
- Dependency Injection
- Inversion of Control Containers
- MVVM Pattern
- MVVM Light
- MVVMCross
- Labs
Getting Started With iOS Development in Xamarin (11 topics)
- iOS Development in Xamarin
- Solutions, Projects and Files
- Intro to Storyboards, Scenes and Segues
- MVC and View Controllers
- Linking Scenes to View Controllers
- Working with Multiple View Controllers
- Modal Display
- Navigation Controllers
- Transferring Data between Scenes
- Loading Storyboards from Code
- Labs
Designing an iOS Layout (8 topics)
- Xamarin iOS Designer Intro
- Designing a View
- Using Auto Layout
- Working with Constraints
- Understanding and Exploiting Size Classes
- iOS UI Controls
- Unwind Segues
- Labs
Working with Table Views (11 topics)
- Table Views
- Types of Table View
- Building a Table View
- Static Table Views
- Dynamic Table Views
- Table View Controllers
- Table View Cells
- Headers and Footers
- Editing Cells
- Collection Views
- Labs
Controlling iOS Navigation and Storage (9 topics)
- Manual Storyboards
- Navigation Controllers
- Tab Bar Controllers
- Modal View Controllers
- Split View Controllers
- Settings and plists
- Working with files
- User Defaults Database
- Labs
App Deployment for android and iOS (4 topics)
- Preparing and app for deployment
- Configuration
- Building
- Deploying to the app store
Xamarin.Forms (12 topics)
- What are Xamarin Forms
- Getting started with...
- How it works
- Basic elements
- Pages
- Layouts
- Sizing and Positioning
- Views
- Hooking up to Code
- Alerts
- Navigation
- Labs
Forms, ListViews and Data Binding with Xamarin.Forms (8 topics)
- Data Binding Overview
- Page Binding
- Change Notification
- Field Binding
- Field to Field Binding
- Displaying Lists with the ListView
- Making life easier with Resources and Styles
- Labs
Developing cross-platform apps with C# using Xamarin
