The Complete Xamarin Developer Course: iOS And Android!
4.3 (2,785 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
14,594 students enrolled

The Complete Xamarin Developer Course: iOS And Android!

Build Cross Platform Android and iOS apps with Xamarin Forms, Xamarin Classic, Azure Mobile App Services, Rest and more
4.3 (2,785 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
14,594 students enrolled
Last updated 2/2020
English
English [Auto], Indonesian [Auto], 6 more
  • Italian [Auto]
  • Polish [Auto]
  • Portuguese [Auto]
  • Romanian [Auto]
  • Spanish [Auto]
  • Thai [Auto]
Current price: $69.99 Original price: $99.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 29 hours on-demand video
  • 1 article
  • 2 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Create native Android and iOS apps that share up to 100% code
  • Apply for junior mobile development positions (Android and iOS)
  • Increased career options as a Multiplatform developer
  • Learning Xamarin opens up opportunities to build Windows Desktop, Windows Store, Mac, and even smart watch apps that share the logic of your iOS and Android app
Course content
Expand all 205 lectures 29:07:17
+ Intro to Xamarin
4 lectures 21:01

In this lecture, you will learn what is Xamarin and what it allows you to do

Preview 06:40

In this lecture you will identify the key benefits of using Xamarin for developing mobile apps

Preview 05:26

In this lecture you will learn the differences between Xamarin Classic and Xamarin Forms, and when you should use one over the other

Xamarin Classic vs Xamarin Forms
04:17

In this lecture you will get a glimpse at the apps you will be creating thrughtout the course, to get an idea of what you will be learning to do with Xamarin Forms and Classic

Preview 04:38
+ Requirements and Preparing the Environment
5 lectures 24:08

In this video you will identify the minimum required setup for developing Android and iOS apps with Xamarin, and how you could build iOS apps without a Mac computer

Requirements
07:19

In this lecture you will install Xcode, which installs the latest iOS SDK needed to develop Xamarin apps that target the iOS platform.

Preview 02:57

In this lecture you will continue to prepare your mac setup by installing Visual Studio for mac along with the Xamarin tools we'll use

Installing Xamarin on macOS
03:54

In this lecture you will prepare a Windows computer for Xamarin development by installing Visual Studio 2017 Community along with the Xamarin tools

Preview 05:40

In this lecture you will set up the connection between Visual Studio on Windows and a Mac computer so you can design, debug and deploy iOS apps from Windows

Preview 04:18
+ Hello World with Xamarin.Forms
13 lectures 01:27:26

In this lecture you will learn about the main difference between sharing code with Shared projects and doing so with PCL, as well as the benefits and disadvantages of each

Preview 04:45

In this lecture you will learn about the main difference between sharing code with Shared projects and doing so with PCL, as well as the benefits and disadvantages of each

Shared Project vs .NEt Standard Libraries
06:17

In this lecture you will follow the steps necessary to create a Xamarin.Forms project that uses Shared Projects for sharing code, on Visual Studio 2017

Creating a Project on Windows
05:34

In this lecture you will follow the steps necessary to create a Xamarin.Forms project that uses Shared Projects for sharing code, on Visual Studio for Mac

Creating a Project on Mac
05:38

In this lecture you will familiarize yourself with how the projects are structured and learn how the iOS and Android projects are related to the Shared Project

The Structure of the Projects
07:58

In this lecture you will start to use XAML, the language that we will use to define the interface for our Forms applications, by adding an Entry, a Button and an event handler

Introduction to XAML
09:57

In this lecture you will add the functionality of the appication inside the event handler for a button, using C# code

Coding the functionality of a button
07:49

In this lecture you will test your Xamarin.Forms app with the Android Simulator that uses HAXM technology to accelerate the launch

Testing on an Android Simulator
04:42
Creating a new Android Emulator
05:56
Xamarin Device Manager
05:56

In this lecture you will test your Xamarin.Forms app with the iOS simulator with a mac connected to Visual Studio 2017 on Windows, using the Xamarin Mac Agent

Testing on an iOS simulator
05:45
Remote iOS Simulator to Windows
03:10
Debugging your Xamarin Apps
13:59
+ XAML & Navigation - The travel record app
12 lectures 01:26:28
What is the .NET Standard
08:48

In this lecture you will create the login page for a new app using XAML, and learn a better way of creaating event handlers

Creating the Login Page
08:54

In this lecture you will improve the user experience of the entries by adding placeholders, changing keyboard types and setting password entries

Defining better Entry elements
04:16

In this lecture you will learn how to use the Xamarin Forms previewer to visualize XAML changes in real time, and how to add background and text color to a button

The Xamarin Forms Previewer
04:31

In this lecture you will learn how to use the margin to improve the user inteface through XAML code

Setting Margin in XAML
05:50

In this lecture you will learn about booleans, if else statements and how to know if a string is null or empty, to set a basic login in functionality

Preview 09:51

In this lecture you will learn how to implement navigation between pages in Xamarin Forms using the Navigation Page

Navigation Page
12:42

In this lecture you will learn how to create a page that uses tabs to navigate between pages by using a TabbedPage and adding multiple pages

Tabbed Page
08:33

In this lecture you will add a button to the title bar in the form of a ToolbarItem, and implement a navigation from the TabbedPage to a new Page

Toolbar Item
06:16

In this lecture you will use XAML resources to reuse XAML code that defines a theme color to be applied throughout the entire application

XAML Resources
08:00

In this lecture you will define styles that are applied to controls in the interface, and reuse the definition of the styles for a more efficient XAML definition

Implicit XAML Styles
05:30

In this lecture you will define styles that you can applu to controls in the interface when needed, and reuse the definition for a more efficient XAML code

Preview 03:17
+ C# Fundamentals
13 lectures 01:41:46

In this section you will create a console application, learn how it works, and test it with a quick hello world project

Creating a Console App
05:06

In this lecture you will learn to define methods, call them, and make them return values, as well ashow they receive arguments

Methods
07:46

In this lectureyou will learn about variables, how they are defined and used, how you can define implicit type variables, and how scope has an effect on them

Variables and Scope
08:05

Use what you have learned so far to create new methods that each perform different functionalities, use class level variables and call your methods inside this Console project

Methods and Variables Challenge
05:52

In this lecture you will learn about classes and namespaces, and how you can reference those classes from other namespaces by implementing using directives

Classes and Namespaces
12:55

In this lecture you will learn how to create objects, or instances of a class, and how constructors can be overloaded to change their functionality

Objects - Instances of a Class
12:00

In this lecture we will use properties as a way of securing private data, but still allowing that private data to be accessible up to the point that we define

Properties
06:48

In this lecture you will learn how to overload methods, so you canhave multiple methods that have the same name, but use different signatures

Preview 04:59

In this lecture you will learn about the core of object oriented programming, which is inheritance, you will learn to create child classes and use the base keyboard to call base-class methods

Inheritance
09:03

In this lecture you will learn how to override methods, so you can implement new functionality to existing methods, from child classes

Method Overriding
06:53

In this lecture you will start using interfaces, you will define a new interface and learn the difference between defining and implementing a member

Interfaces
05:20

In this lecture you will implement the interface that you defined earlier in a new class, and you will learn about the benefits of using interfaces when defining variables

Implementing an Interface
07:09

In this lecture you will learn the basics of asynchronous programming using the async and await operators for defining and waiting for a task to end

Asynchronous Programming
09:50
+ SQLite - Local Databases
11 lectures 01:12:19

In this lecture you will get the PCL, the Android, and the iOS projects ready for them to use SQLite by adding references to a NuGet package 

Preview 04:44

In this lecture you will get the App class ready to start getting the SQLite database path from the iOs and Android projects by creating a new constructor

New App Constructor
04:12

In this lecture you will add platform specific code so each project passes a different database path for the SQLite database

Database Paths
06:39

In this lecture you will create a class that will add as the model for one of the tables that will be used within the SQLite Database, which will have to include a primary key

The Model of a Database Table
03:45

In this lecture you will use SQLite atributes to define the primary key of a C# class, as well as the maximum lenght of a string class and the autoincrement inside the primary key

SQLite Atributes
02:53

In this lecture you will learn to insert objects into a SQLite database, as well as how to establish a connection to the database and create tables 

Inserting into the Database
11:31

In this lecture you will establish a connection to a SQLite database and read one of it's tables, as well as use breakpoints to explore the value of the variable that will hold the list and use the ToList Linw method

Read from the Database
09:15

In this lecture you will learn to use using statements and use features of the IDisposable interface to be able to create more elegant and secure SQLite connections

The IDisposable interface and Using statements
04:28

In this lecture you will learn about Data Binding and how it can help you use XAML in a more efficient way when communicating with C# objects

Data Binding
04:35

In this lecture you will use a ListView and DataBinding to display in a list the elements that had been previously read from the SQLite database

ListView
07:44
Updating and Deleting from Table
12:33
+ Maps and Location
5 lectures 01:01:13

In this lecture you will prepare the iOS project to start displaying maps and to be able to get the user's location

Preview 07:53

In this lecture you will prepare the Android project to start displaying maps and to get the user's location by getting a Google Maps API key and setting permissions

Getting Android Project ready for Maps
10:03

In this lecture you will learn to define native map controls for both Android and iOS while sharing XAML code that works on both platforms

Displaying Maps from XAML
05:40

In this lecture you will learn how to display the user's location on a Xamarin Forms map for both Android and iOS projects

Displaying the User's Location
19:40

In this lecture you will learn to set the center of the map to a point as well as to respond to location changes

Handling Location Changes
17:57
+ REST - Consuming Foursquare Services
9 lectures 01:22:37

In this lecture you will explore the Foursquare API, identify one endpoint that will be usefull inside the application, and get an account ready to start making REST requests to that API

Exploring the Foursquare API
12:50

In this lecture you will get a URL ready to start making requests to the Foursquare API, while you learn about String formatting and constants

Creating URL for REST Request
08:23

In this lecture you will add references to the projects that are needed for the applications to be able to perform http requests and to deserialize json into C# objects

Preview 03:30

In this lecture you will learn how to make http requests using the url we have created before, and start to evaluate the JSON response from the service

Making HTTP Get Requests
11:18

In this lecture you will use a tool that will allow you to understand what it takes to convert a JSON file into a C# folder

Venue model from JSON
06:40

In this lecture you will learn how to convert, or deserialize, a JSON string, into a C# object and start using the retrieven information from the Foursquare service

Deserializing Json strings into C# objects
06:21

In this lecture you will create your own custom cell and use it to display the Venue information into a ListView, using ViewCells instead of the TextCell you used before

Custom Cells
10:26

In this lecture you will update the model so it has more properties, you will also learn to use exceptions for handling errors

Updating the Post Model
12:12

In this lecture you will learn to add location pins into the map, by using the information that was requested from the Foursquare API

Displaying pins on a map
10:57
+ Working with Images
4 lectures 29:58

In this lecture you will learn how to display images on both Android and iOS that are shared and referenced directly from a Portable Class Library project

Displaying shared images
09:58

In this lecture you will create images for the icons that will appear inside the Android app, with the correct resolutions for different screens

Android Images
07:11

In this lecture you will create the images for the icons that will be displayed on the iOS app, with the correct resolutions to support all iPhones

iOS Images
07:02

In this lecture you will learn how to display the images that are in platform-specific projects, by using them directly from the PCL project

Displaying Platform Specific Images
05:47
+ Linq
4 lectures 27:31

In this lecture you will define the elements that are going to be displayed on the profile page, as well as get the ammount of posts in a SQLite table with the help of Linq

Profile Page
07:05

In this lecture you will learn how to get unique values from a list by executing pure Linq queries and using the Distrinct operations on a list

Preview 07:03

In this lectiure you will learn how to filter from a list by using a where operation on a list with the help of Linq

Linq Where - Filtering a list
04:39

In this lecture you will learn to list dictionaries (both the value and the key) in a ListView, as well as another syntax for the Linq operations

ListViews and Dictionaries
08:44
Requirements
  • A Windows computer preferably with 8.1 or higher required for first part of the course (Xamarin Forms) or you can use Windows 7 or higher for the Xamarin classic part of the course.
  • A Mac computer with OS X El Capitan (10.11) or higher if you want to use a Mac for Xamarin development.
  • If you want to test iOS apps you need a Mac, however you can code and design them from Windows.
Description

So you've learnt some programming, but are struggling to get an interview, let alone a job.

Or you are stuck in a low paying programming job, and want to move up to a better, more senior position.

Maybe you have never programmed before, and are looking for a way to get into programming for the first time.

But, just how do you get employers to notice you?  How do you make your resume stand out of the crowd of programmers looking for work?

By learning to create cross platform applications targeting both iOS and Android from the one codebase, using Xamarin.

What is Xamarin?

Xamarin is a Microsoft owned company, that allows developers, using a C#-shared codebase, to write native Android, iOS (and even Windows and MacOS) apps with native user interfaces and share code.

This means you can create an application once, and deploy it to both Android and iOS, both which run natively on the platform.  One codebase, two platforms.

Learning to create apps with Xamarin makes you more valuable to your employer or clients as a result.

What does Xamarin mean to you?

You can create native Android and iOS apps that share up to 100% code! No more writing separate versions of apps for both platforms.

This is especially useful for indie developers or small teams who may not have had the resources to target both platforms.  Now they can code once, and deploy to both platforms.

Ongoing maintenance costs are reduced because you have one code base!  It also means by learning one language (C#) you can now write apps for both platforms.

The Microsoft Visual Studio software package is available on Windows and Mac, and both are shown in the course.  You can use and deploy Xamarin whether you have a Windows machine or a Mac.

Xamarin creates native apps unlike most other cross platform tools, meaning the code you write and deploy from Xamarin is faster, and more efficient because it can target the inbuilt features of each platform.  

Because Xamarin was recently purchased by Microsoft, you can be sure that it is getting the attention of small and large companies alike, meaning more opportunities are available for developers who have learnt and can use this technology to build apps (and you will learn to do that in this course).

Some of the key Xamarin things you will learn and be able to put to use in your own apps after going through this course include Xamarin Forms, Xamarin Classic, Using Azure Mobile App Services, Consuming REST services, Implementing SQLite databases and using the MVVM pattern (very important to learn and understand).

Why enrolling in this course is the best decision you can make.

Most other Xamarin courses only focus on Xamarin.Forms or Xamarin classic.  BOTH are covered in this course.  Also this course teaches you all about Azure Mobile App services (cloud database integration), which no other course teaches.

Your instructor, Eduardo Rosas, is a certified Xamarin Mobile Developer with 3 years of experience using the platform, and 5 years of experience using C#. He started developing apps for Windows Phone 7 back in 2012, which, just like Windows 8 and Windows 10, use C# and XAML, and uses those two languages for building Xamarin.Forms apps.

This means you are learning from someone who has all the professional training, skills, and experience you need to teach you how to become proficient in Xamarin the right way, as fast as possible.

If you are ready to get that first paid programming job, or to move up to a more senior programming position, then this course is for you!

After completing this course, you will have the necessary skills to be able to use Xamarin and create your own apps that target both iOS and Android.

The sooner you sign up for this course, the sooner you will have the skills and knowledge you need to increase your job or consulting opportunities.    Xamarin skills are in high demand, as are Azure Mobile App services, and you will understand and be able to use both after going through this course.

Your new job or consulting opportunity awaits!  

Why not get started today?

 Click the Signup button to sign up for the course!

Who this course is for:
  • Anybody who wants to learn how to code in Xamarin
  • Some knowledge of programming is desirable, but not essential