Modern Web Development Training
What You Will Learn |
Course Highlights |
Course Details |
Dates & Locations |
What You Will Learn |
Course Highlights |
Course Details |
Dates & Locations |
What You Will Learn |
Course Highlights |
Course Details |
Dates & Locations |
Day 1
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.
Day 2
The JavaScript Programming Language
This module introduces the JavaScript programming language. Its history, syntax, built-in data types, and control flows, will be covered. The parts of JavaScript that developers should avoid will also be discussed but still covered so that you'll know what to do when you encounter them. Even though this module doesn't assume any prior JavaScript knowledge, it doesn't treat you like you've never programmed before and even developers who've worked with the language should be able to walk away from this module with a much more solid understanding of JavaScript fundamentals.
Advanced JavaScript
JavaScript is the lingua franca of the Web. Knowing how to effectively use it is vital to understanding, maintaining, and extending the various JavaScript-based code that you're already including in your applications. This talk will cover the esoteric features of JavaScript. These are the features like prototypes, closures, and its odd scoping rules. These all make perfect sense in a dynamic language like JavaScript, but are very different from the static languages most of us develop in.
Day 3
jQuery introduction
jQuery is a popular open source JavaScript library used to enhance AJAX style web pages and improve developer productivity. We will introduce the query and document manipulation capabilities of jQuery.
jQuery plugins/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
Ajax is a style of writing browser-based application to leverage JavaScript and XmlHttpRequest callbacks to the server. This lecture covers MVC's basic support for Ajax as well as using jQuery to develop more sophisticated Ajax applications.
Day 4
Knockout.js
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.
Testing JavaScript
The core jQuery library comes with thousands of tests ensuring it works in all modern browsers. How many tests do you have for the JavaScript in your application? This module highlights the qUnit testing framework used by the jQuery team which you can use for your own code and also demonstrates how to use tools like Selenium and WatiN to do full, end-to-end testing for your web applications.
CSS/LESS/SASS
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 SAAS which provide reuse and a dynamic aspect to an application’s CSS.
Day 5
REST introduction
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.
RESTful services and the browser
Browsers aren’t always as smart as they should be. Sometimes they claim they can accept any resource even though that isn't the case. And even though browsers are build around the HTML specifications it turns out they don’t support all HTTP features, some of which are critical to REST services. Another issue is that browsers can be over aggressive with caching, and even worse, they use different defaults if you don't explicitly tell them what to do.
More HTML5
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.
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.
What You Will Learn |
Course Highlights |
Course Details |
Dates & Locations |
Mark Taparauskas' overall subject knowledge definitely portrayed his ranking as a subject matter expert in this area as well as several others. I especially enjoyed his teaching style with regard to maintaining consistent lecture/lab vs. break times. Having a small break occur on the hour helped maintain focus for the entire class. His candor regarding unfamiliar subject matter and his willingness to research and come up with an ad-hoc module to cover that subject was astounding.