Mobile applications are one of the fastest growing areas of development, and the mobile framework of choice is Xamarin. This course starts at the beginning and takes you through intermediate to advanced topics.
It is critical to create mobile applications with native functionality, while at the same time maximizing reuse across all mobile platforms. Xamarin.Forms allow you to create native iOS and Android apps (as well as apps for other platforms) written in C#, and with nearly 100% reuse across platforms. In this course, Building Your First Mobile Application with Xamarin.Forms and Visual Studio 2017, you'll use free software to learn how to write Xamarin.Forms applications with no prior mobile programming experience. First, you'll explore how to layout the pages of the application. Next, you'll cover how to work efficiently with data and resources. Finally, you'll learn how to utilize behaviors and internationalization of text. When you're finished with this course, you'll have the necessary skills and knowledge in creating native cross-platform mobile apps.
Course Overview Hi, this is Jesse Liberty, and this course is Building Your First Mobile Application with Xamirin. Forms and Visual Studio 2017, although I'll also be demonstrating on Visual Studio for the Mac. I'm a Xamirin MVP, a Microsoft MVP, and a certified Xamirin developer with three decades of programming experience. I've written over two dozen books and as many Pluralsight courses. In this course, you will start at the very beginning of Xamirin. Forms with no prior experience expected, except for a working knowledge of C-Sharp. Xamirin. Forms allows you to create native applications for many platforms, with nearly 100% code reuse. We'll be focused on iOS and Android. During this course, we will examine the XAML markup language, layouts and views, and working with data, as well as databinding and the MVVM pattern. We'll look at how to create lists to display collections of data, and how to customize those lists in all your other views. We'll explore behaviors and styles and using resources, and we'll examine how to persist data both to SQLite and to disk. This will allow us to learn about the off-line model and other advanced topics, such as how to customize the built-in views. By the end of this course, you will have learned enough about Xamirin. Forms to create beautiful, professional, native iOS and Android applications, and to continue on to even more advanced topics in the quickly evolving Xamarin. Forms ecosystem. Thank you for joining me in this exploration of Xamirin. Forms.
Setting Up Hi, this is Jesse Liberty for Pluralsight, and this module is Setting Up. In this module, we're going to take a look at everything you need to do to set up your environment for Xamarin development.
Creating Your First Xamarin.Forms Project Hi! This is Jesse Liberty for Pluralsight, and this is Creating Your First Xamarin. Forms Project. When we create our first Xamarin. Forms project, we're going to start by firing up Visual Studio and picking the appropriate template. We'll then examine what we get right out of the box, before we write any code. Next, we're going to set our application up for MVVM and discuss what that is, and then we'll take a look at pages, and how you work with data, and the logic behind your program. During this module and the rest of the course, we're going to work from best practices; however, there are many different ways to accomplish the same thing and to do so well. We'll make things clear through the use of short demos and explanatory slides, and more exciting, will be building our ongoing project, My Diary. Let's talk about MVVM for a moment. It stands for model-view-viewmodel, where the model is your data, the view is the presentation of your data, often the pages, and the viewmodel is where you put all of your business logic. This pattern, MVVM, is extremely common in the creation of mobile applications. In our first demo, we're going to look at the Visual Studio templates. Then, we'll take a look at setting up for MVVM. We'll examine layouts and views and discuss their differences, and we will begin looking at XAML.
Working with ListView Hi, this is Jesse Liberty from Pluralsight and this module is Working with ListView. In this module, we're going to take a look at the item source that the ListView uses to bind to collections. We'll look at how you might display images and texts in a ListView, and we'll examine how you can create custom templates to control how you display data. Finally we'll look at how you select items and respond to those selections. The ListView is a very powerful control, so let's get started.
Going Further with Advanced Data and Behavior Hi, this is Jesse Liberty from Pluralsight, and this module is going further with advanced data and behaviors. In this module, we're going to take a look at data converters, a way to take data from one form and convert it into another. For example, take an integer and turn it into a double, or to take an integer and turn it into a color. We'll then turn our attention to behaviors. These are a very powerful device in manipulating data, and controls, or views, that allow you to attach behaviors to a view, as we'll see as we go along. One of the most powerful reusable behaviors is the event to command behavior, which allows you to take an event that might be handled in code behind, and turn it into a command that can be handled in your view model. Finally, we'll look at messages, which is how view models send information to views, the message bus that comes with Xamarin Forms is quite powerful, and can be used in a number of ways, but we're going to use it to send a message from the view model to the view to do something that can only be done in the view.
Styling Your Program with Resources Hi, this is Jesse Liberty from Pluralsight and this module is Styling Your Program with Resources. In this module we're going to take a look at styles and how they're created in the resource section of your page or your app. We'll also look at how you can use styles to create consistency in the look and feel of your app. We'll differentiate between explicit and implicit styles and we'll see how style inheritance can make the creation of styles easier and more consistent.
Storing Data Hi, this is Jesse Liberty from Pluralsight, and this module is Storing Data. In this module, we're going to take a look at two ways to persist your data, first with SQLite, and then by storing your data to the disk.
Going Offline Hi, this is Jesse Liberty from Pluralsight and this module is Going Offline. In this module we're going to take a look at using plugins to detect offline status. We'll also take a look at Azure Mobile Services that has support for offline synchronization with SQLite.
Preparing Your Program for Internationalization Hello, this is Jesse Liberty for Pluralsight and this module is internationalization. Internationalization or localization allows your program to be used with many languages. In this module we're going to talk about how you prepare your app for localization.
Customizing Xamarin.Forms Hello this is Jesse Liberty from Pluralsight. And this is customizing Xamarin. Forms. In Xamarin. Forms a control, such as a button, is rendered natively on each platform, such as iOS and Android. However, there are times that you're going to want to tweak that appearance, or otherwise change it. We're going to take a look at how you can move beyond the standard rendering. One key way to do this on Android is with Themes and on iOS is with, what is known as, the Appearance structure. The focus of this module, however will be on Effects. The most powerful way to influence the look and feel of your application. When we look at Xamarin. Forms Controls, they are translated into Native Controls on each platform through the process known as Rendering. There're a number of ways that you can change the appearance of your Control without resorting to special measures. You can, for example, change the color of text, background, adjust the position, width and height and manipulate fonts. You can even add background images. But if you want to go beyond standard customization, a little bit more is required. The platform has over 30 thousand APIs. While Xamarin. Forms has about two thousand. So there's plenty of room for adjustment. Customization comes in three basic approaches. Themes and Appearance, which we'll look at today. Effects, which we will focus on. And Custom Rendering, which is actually the most powerful but which is now somewhat obsolete.
Reviewing What We’ve Covered and Next Steps Hi, this is Jesse Liberty from Pluralsight and this final module is reviewing what we covered and next steps. During this course, we covered how Xamarin. Forms can be used to create world-class native mobile apps using C#. We talked about what Xamarin. Forms is, we talked about how to get the software and set it up and we talked about layouts such as stack layouts and grids and views such as buttons and labels. We focused on data and the MVVM pattern, model-view-viewmodel, and how data can be bound to objects. We also looked at advanced data and we took a look at behaviors and how behaviors can be used to turn events into commands. We examined how you can style your program and how you can store data to disk, to SQLite and to Azure, especially for the offline model. We looked at how to prepare your program for internationalization and we examined how you can tweak the appearance of your program using effects. Let me say it one more time. Xamarin. Forms is a platform for creating native mobile applications in C#. Writing it in C# makes it universally available. You create the UI in XAML and that gives you nearly 100% reuse across platforms. From here, the next place to go is to find featured community blogs which you can find on planetxamarin. com and on my blog at jesseliberty. com. Also, if you want to dive deeper, go to Pluralsight and search for courses on Xamarin. Forms. And finally, there is xamarin. com itself. Click on the developers section. I can't thank you enough for joining me on this journey. For Pluralsight, this is Jesse Liberty.