This course introduces the Windows Phone 8 platform. By the end of this course you should be all set up to start writing apps for the phone. We will cover all the basics at an intro level, from key architectural concepts, to user interface and navigation, to application lifecycle, files and folders, local databases, and integration with the phone's powerful built-in features. This course assumes basic familiarity with the C# and XAML languages.
Yacine has been involved in the development of database-driven, n-tier web applications for over 10 years. Over time he has taken on various roles, including development, project management, offshore platform management and technical consulting. He has helped build a few solutions for Microsoft North Africa.
Windows Phone 8 overview Welcome to introduction to Windows Phone 8. I'm Yacine Khammal from Pluralsight, and this course is meant for. NET developers who are looking to get started with mobile application programming on the Microsoft platform. This first module introduces Windows Phone 8 through a high level overview that will set the stage for the rest of the course, and in the next modules, we'll drill into many of the fundamental aspects of the developer platform. At the end of this course, you should be well equipped to start developing Windows Phone apps that will be offered through the Windows Phone Store. We'll begin with a look at what Windows Phone 8 is both as a new competitor in a crowded mobile space and as a reloaded successor to Windows Phone 7. We'll then briefly discuss the advantages that Windows Phone has to offer to. NET developers in terms of scales and learning curve. Next, we'll move on to an overview of the platform architecture and of the application models against which we'll be building apps. We'll also look at the brand new hardware capabilities that Windows Phone 8 was designed to support and we'll briefly examine the platform security model, which revolves around capability declarations. We'll also introduce the Windows Phone Store as the main sales and outlet for our apps. And we'll about how early Windows Phone owners and developers are allowed to benefit from some of Windows Phone 8's new capabilities.
Getting started Hi, this is Introduction to Windows Phone 8, part 2. In this session, I'll walk you through the process of getting and installing the tools for building and testing Windows Phone applications, and we'll become familiar with these tools, the IDE, and the different components that make up a Windows Phone app project. So, we'll begin by obtaining the tools online, and we'll explore the components that the Windows Phone 8 SDK provides. We'll review the perquisites for installing the SDK and the Windows Phone emulator. We'll see how to set up a developer account and unlock your physical device so as to be able to deploy apps to that device during development. Then, we create a Windows Phone project, and we'll examine the available Visual Studio project templates. We'll go on exploring the IDE, the phone's specific tools and features in Visual Studio; we'll look at the project files, the app manifest, and the emulator virtual images; and then we'll start getting some hands on exposure to controls and layouts by building a simple app and running it in the emulator. And finally, we'll conclude this talk with a brief tour of the Blend IDE.
User experience Welcome back to Introduction to Windows Phone 8. This module looks at the fundamental concepts, tools, and techniques for creating a Windows Phone user experience. So, first we start with a quick review of the key design principles that govern UI's for the phone, which are actually the same principles that govern Windows 8 UIs. Then we take a look at the Windows Phone controls, the building blocks for our UI's, starting with the layout controls that help us structure our phone pages, and we zoom in on phone specific controls and UI elements such as pivot, panorama, and application bar. Next, we'll discuss styles and resources and Windows Phone themes, which makes it easier to keep our app's experience consistent with the phone's own built-in experience. And we'll learn about control templates and see how they can help us customize a control's appearance beyond what we can do with properties and styles.
User experience (part 2) So this is part 2 of our talk on building the user experience for Windows Phone 8. Here we introduce data binding, a powerful concept that lets us connect a UI element to any kind of data object. We also discuss list controls and collection binding and the use of data templates to shape the way a boundless is rendered. We also get acquainted with visual states and animations, and we'll look two core scenarios visual states facilitate enabling multiple appearances in a control and reacting to device orientation change. And we'll look at examples using both Visual Studio and Blend.
Navigation and lifecycle Welcome back to Intro to Windows Phone 8. In this module we'll learn about page navigation and the application lifecycle. So, we start with a review of key navigation concepts on the platform including application pages and frames and the Windows Phone hardware back button, which plays a key role in navigation. We'll also discuss passing parameters between pages using a query string. We'll learn about the navigation history stack or back stack and the central role it plays in the navigation framework and we'll look at an example scenario of altering the back stack using the navigation APIs. Next, we'll move on to discuss the phone's application lifecycle, which governs when and how our app is run, paused, closed or relaunched by the operating system, and we'll learn about the suspended, tombstone, and other states our app may be in and how it transitions from one to the other. One consequence of the app lifecycle is the need to manage our app's data and state across the phone's lifecycle states. So, we'll look at saving and restoring states when our app is deactivated and removed from memory, as well as application state, which represents data used across the application. And we'll conclude this module with a look at the fast resume feature, which enables us to speed up our app startup when the user relaunches the app after running it a first time, and we'll examine how fast resume impacts navigation and how we can adjust it to fit our app's specific needs.
Files and data And welcome back to Introduction to Windows Phone 8. In this module, we'll learn about different permanent storage mechanisms such as settings, files and folders, and the phone's local relational database. We also learn how to access data in the cloud from our app. So, we start with a look at the isolated storage settings API, which lets us persist small pieces of data to the phone's permanent storage in a convenient way. Then we dive in and introduce the new Windows runtime storage API, which lets us work with files and folders in our app in an all asynchronous and intuitive fashion. So, we learn how to access local storage and how to use streams to write to and read from files. The next stop in our data journey will be the phone's relational database. We'll learn how to create a database and define its schema with a code first approach using LINQ to SQL and how to perform CRUD operations using C# LINQ queries. And we'll end the session with a look at accessing Http data in the cloud using both the legacy web client API and Windows 8 much appreciated HttpClient.
Phone integration Welcome back. This is introduction to Windows Phone 8. In this module, we get a feel for some of the key integration features of the platform, that is extensibility points that allow our apps to deplane a grade with the phone's operating system and built-in functionality. First we'll look at live tiles, which are probably one of Windows Phone's most distinguishing features. We'll look at how we manipulate our app's main tile programatically and how we can create additional tiles as deep links into our app. Then we'll discuss a fundamental integration mechanism, launches, and choosers, which are APIs that let us access many of the phone's built-in apps as part of the user scenarios in our app such as sending an email or doing something with a contact. Next we talk about the phone's lock screen, which is another great channel our app can leverage to communicate with the user, similar to tiles. And we'll end this talk with an introduction to background agent, which is the phone's approach to performing work in the background even when our app is not running in the foreground. Welcome back. This is introduction to Windows Phone 8. In this module, we get a feel for some of the key integration features of the platform, that is extensibility points that allow our apps to deplane a grade with the phone's operating system and built-in functionality. First we'll look at live tiles, which are probably one of Windows Phone's most distinguishing features. We'll look at how we manipulate our app's main tile programatically and how we can create additional tiles as deep links into our app. Then we'll discuss a fundamental integration mechanism, launches, and choosers, which are APIs that let us access many of the phone's built-in apps as part of the user scenarios in our app such as sending an email or doing something with a contact. Next we talk about the phone's lock screen, which is another great channel our app can leverage to communicate with the user, similar to tiles. And we'll end this talk with an introduction to background agent, which is the phone's approach to performing work in the background even when our app is not running in the foreground.