Join the instructor-supported, online learning revolution on LearningLine. Learn more »
US / UK-EMEA / Contact / Google+ Ask DevelopMentor a Question800.699.1932

Guerrilla Modern Web Development Training

(FW1161) 5 Day Course, $3795
Upcoming Classes:

What You Will Learn

Course Highlights

Course Details

Dates & Locations

Guerrilla Modern Web Development is an in-depth exploration of everything you need to know to develop rich, cross-platform Web applications. Instead of hiding the Web behind frameworks that try to pretend it doesn't exist, you'll learn to embrace HTTP, HTML, CSS, and JavaScript and truly take advantage of what those technologies have to offer. You'll use ASP.NET MVC to generate the exact markup you need and ASP.NET Web API to implement the services for your client-side JavaScript to consume. HTML5 introduces many new and exciting JavaScript-based APIs and you'll get to learn and experiment with some of the more interesting ones. If you're a .NET developer and sick of getting burned by the ever-changing decisions from certain companies, join us and you'll leave with a better appreciation for what's possible with the Web and the skills to bend it to your will.

What You Will Learn

Course Highlights

Course Details

Dates & Locations

  • What is ASP.NET MVC and how is it different than ASP.NET WebForms?
  • What are controllers, how do they get invoked and how do they accept input?
  • How do I write views using Razor to render HTML dynamically?
  • How can I use jQuery and Ajax with MVC?
  • How can I secure my MVC application?
  • What's WebAPI and how can I use it to build HTTP-based services?
  • What are closures and prototypes and how can I take advantage of them?
  • What's new in HTML5 and CSS3?
  • How do you detect the features of HTML5 that are available in your users' browsers?
  • How do you let my users continue to work while being disconnected from the network?
  • How can I build a mobile version of my web application?
  • How do I manage large-scale JavaScript applications?
  • How do I perform client-side data binding (MVVM) with JavaScript?

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.

Functions and Closures

JavaScript treats functions as first-class objects. What does that even mean? This module talks about the refreshing nature of functions in JavaScript and how closures enable a style of expressiveness that can seem completely alien to developers who have only worked with strictly imperative languages. By the end of this module, you'll be familiar with and confident in using functional programming techniques to take your JavaScript skills to the next level.

Objects and Prototypes

JavaScript is a language that's full of objects and yet, seemingly paradoxically, has no classes. Defining constructor functions, inheriting properties from prototypes, and how to manage the elusive "this" reference are covered in this module. We'll see how to simulate classes using prototypes, but will try to reinforce JavaScript's native object model so that those crutches won't be necessary.

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.

Day 3

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

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.

WebAPI/REST

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.

Web Security

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.

Day 4

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.

Client Storage

Up until HTML5, the only way to store user-specific data has been to use cookies, but that's extremely limited and pales in comparison to the features available in HTML5. This module looks at local storage, the embedded SQL database, and the alternative "IndexedDB", how to detect them and how to use them.

Offline

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.

Messaging

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.

Canvas

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.

Day 5

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.

jQuery Mobile

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.

CSS Preprocessors

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.

Modular JavaScript

Web developers are writing more and more JavaScript in their applications. Unfortunately, that JavaScript usually turns into spaghetti as it accumulates. JavaScript (currently) has no means for formally modularizing your code. That hasn't stopped the developer community from defining patterns for writing large-scale JavaScript applications. The most popular pattern for modularizing client-side JavaScript, the Asynchronous Module Definition or AMD pattern. Many popular libraries (including jQuery) support AMD. Variants of JavaScript (like TypeScript) can also compile to use AMD. This module discusses what AMD is and the most popular script loaded that uses it, RequireJS.

TypeScript

As more and more developers are finding themselves switching from traditional, statically-typed programming languages to the highly dynamic that is JavaScript, they find themselves longing for the tool support that they used to rely on. TypeScript is Microsoft's answer for that desire. This module will discuss the TypeScript language and how it can boost the productivity and correctness of the code while still maintaining the feel that JavaScript programmers love about their language.

What You Will Learn

Course Highlights

Course Details

Dates & Locations

Upcoming Dates & Locations

Boston
October 7 - 11, 2013
Map
London
October 14 - 18, 2013
Map
Ready?
Connect
Signup for our Free Newsletter!
Latest news




Announcing LearningLine: Instructor-led online training from DevelopMentor http://wp.me/p2eT73-cB


Twitter FeedMORE
Unit testing code depending on the http://t.co/NZ9RJsYFSu #WebApi HttpClient http://t.co/F4mSITjr7g #dm (via @mauricedb)
1 day ago (details)
Locks, Actors, And STM In Pictures http://t.co/PGNg40FBv9
4 days ago (details)
Testimonials
  • Andrew Scoppa was very knowledgeable. Demos were excellent. Ryan H.