Guerrilla Modern Web Development Course
Are you tough enough to go Guerrilla?
These classes are all-day and all-night coding: They run from 9am - 9pm.
Functions and Closures
Objects and Prototypes
This module provides an overview of the AngularJS Model View Controller framework. After this module you will have a basic understanding of the different parts of the AngularJS architecture and how to use them.
Building Custom AngularJS Directives
AngularJS ships with an impressive and very useful set of standard directives. In this module you will learn how to enhance and expand the HTML language by creating your own custom directives. These custom directives will let you add behavior to DOM elements as well as create reusable UI widgets. Using the techniques learned in this module you will be able to turn HTML into your own domain specific language (DSL).
Using AngularJS Routing to create SPAs
Traditional web applications perform full page loads when the user navigates from page to page. In this module you will learn how to use the routing features of AngularJS to create an application where this navigation is done only on the client’s machine. This allows us not only to navigate much faster but also to retain state on the client browser between the different parts of our application.
Testing AngularJS Applications
The way AngularJS is architected results in a highly testable application. In this module you will learn the various ways of testing your own application. We will look at both unit testing individual components as well as doing end to end testing of the complete application by automating the browser.
AngularJS and Ajax
There are few applications that don’t need to communicate with the server using AJAX calls. In this module we will take a look at the $http and $resource services provided by AngularJS to perform AJAX requests.
OWIN and Katana
OWIN is a fairly new specification for modelling a HTTP server API for hosting web applications. The intent is to decouple the host from the application with the goal of providing a simpler programming model with potentially better performance than traditional web servers. While OWIN is a specification, Katana is Microsoft’s implementation of an OWIN host. In this session we will discuss OWIN, Katana and how to write applications and middleware that take advantage of this new and exciting hosting environment.
ASP.NET Web API
This module provides an introduction to ASP.NET Web API which is the .NET framework for building HTTP-based RESTful services. We will cover the motivation for HTTP oriented services as an alternative to SOAP-based services. We’ll examine the major tenets including the importance of URIs, HTTP methods and status codes, content negotiation and hypermedia all using ASP.NET Web API.
Securing ASP.NET Web API
ASP.NET Web API is the 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. We’ll also look at the modern approaches to authentication and authorization using OAuth and how to implement these approaches in your Web API application using Microsoft’s Katana authentication middleware. Once authentication has been established we'll then turn to authorization and how you can control access to the resources your Web API is exposing.
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.
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.
HTML5 includes more new features than any other previous version of HTML. This module tries to wrap things up by covering the “smaller”, but still game-changing features that didn’t fit in the other modules. We will cover features such as the canvas, audio and visual elements, and the geolocation API.
Cascading Style Sheets (CSS) is the presentation language of the web. This module introduces the latest version which is CSS3. We’ll also look at some of the new CSS properties that you can use to enhance the style of your documents.
CSS and LESS
While CSS is quite good at styling HTML, it’s not always very pleasant to work with. This module introduces LESS which provides reuse and a dynamic aspect to an application’s CSS.
In this final module we’ll examine Bootstrap, a popular CSS framework for building modern and responsive user interfaces.
Automating Development Processes
Automating the process of building, testing, and deploying your application is a huge time saver. The development community is abuzz with tooling and frameworks to make this easier. In this module we’ll discuss some of the modern tools for developers such as Grunt, Bower, and TeamCity.