ASP.NET MVC Introduction
This module provides an introduction to the ASP.NET MVC framework. We will provide an overview of the MVC architecture including how a controller processes requests, communicates with the model layer and chooses a view to generate a response. Part of this overview will include looking at URL routing, model binding and the Razor view engine.
ASP.NET MVC Views
Razor is the default view engine in MVC. It is designed to provide a streamlined syntax for creating dynamic views. This module covers Razor's support for reusable templates with partial views and layout templates. We will also look at Html helpers that provide conveniences for rendering common markup such an input fields, hyperlinks, forms and URLs.
ASP.NET MVC Model Binding and Validation
Model binding is an important part of the MVC framework to ease input processing for controllers. We will see how data is mapped from the request to parameters of action methods and how complex objects can also be model bound. We will also examine how MVC provides a complete framework for server-side validation. We'll see how to use validation helpers, ModelState and data annotations to validate user input.
Functions and Closures
Objects and Prototypes
jQuery plugins and jQuery UI
Even if "core" jQuery were all you could use, it would still be worth it. Fortunately, the jQuery community has written hundreds, if not thousands, of plugins (mostly free) that can take your applications to the next level with barely any code to write on your part. This module will cover some of the more popular plugins (color, validation, form, and more) and demonstrate how to write your own (this is often useful even if you don't plan on sharing your plugins with anybody else).
The jQuery UI project is a standard set of widgets and effects, put together by the jQuery team by selecting from and improving upon some of the most popular plugins developed by the community. These feature-rich widgets (autocomplete, datepicker, dialog, tabs, and more) can make your web pages seem as rich as traditional applications. You'll also learn how to use the jQuery UI CSS Framework.
jQuery and AJAX
With modern web development REST services have some big benefit over SOAP services. In this module we will take a look at these benefits as well as how to get started building REST services using the ASP.NET Web API framework. We will explore how REST services use standard HTTP constructs like resources URLs, methods and status codes.
ASP.NET WebAPI is the new framework for building HTTP-based services and these services will need to be secured. This session introduces how security (confidentiality, integrity and authentication) is typically performed for HTTP-based services and how you can implement these approaches in your WebAPI application. Once authentication has been established we'll then turn to authorization and how you can control access to the resources your WebAPI is exposing. In addition there are new and emerging scenarios in the HTTP world around delegated authorization (OAuth2) and the use of web identity providers like Google, Facebook or Live ID (Open ID) and we'll look at how these fit into your application's architecture.
Introduction to HTML5 & CSS3
This module introduces HTML5, providing an overview of what will be covered throughout the rest of the course. Browser support and techniques for detecting the different features in HTML5 are explored. HTML5 includes a handful of new, semantic elements that make your markup much easier to structure and reason about. We'll also look at some of the new CSS properties that you can use to enhance the style of your documents.
As strange as it sounds, HTML5 allows you to take your web applications offline. This module looks at the ways you can do this, specifying the resources the browser will need to download in order to be able to do anything offline and what events and methods you'll need to know about in order to provide a proper, offline experience.
One of the most revolutionary features of HTML5 is the new WebSocket protocol which allows servers to push data to clients enabling almost "real time" notifications. This module looks at the client-side APIs you'll need to be familiar with in order to use them and some different ways of setting up a server in order to handle the client requests. We'll also look at web workers which allow you to perform long-running tasks while keeping the main UI for your application usable and responsive.
The Canvas API makes it possible to do more than just display text and raster-based images in your web pages. You'll learn about the different shapes the Canvas API supports and the methods you need to draw them as well as the newer features for drawing text onto your canvases. The programming model used by canvases is different from the DOM so we'll discuss the new things you'll have to consider while working with it.
Knockout brings data binding and MVVM to the client. It provides the necessary abstraction layer to build the user interface from a data source using a concise syntax. It automatically maps changes from the UI back into the data source and keeps the UI in sync when the data source changes. In addition, Knockout provides a simple and convenient templating library for nested UIs derived from a data source.
By 2014, the number of users who use mobile devices as their primary means of accessing the web is supposed to exceed those who use desktop devices. The jQuery Mobile framework (built on top of jQuery and jQuery UI) makes creating Web applications that are optimized for mobile devices as easy as can be while still providing enough flexibility to customize to exactly what your specific application needs. This module discusses the framework and how to structure your application to best take advantage of it.
Cascading Style Sheets (CSS) is the presentation language of the web. In this module we examine the fundamentals of CSS to deliver modern user interfaces in the browser. In addition we cover LESS and Sass which provide reuse and a dynamic aspect to an application's CSS.