AngularJS Training

This course is led by Object Partners Consultants that have been building JavaScript applications for a number of years. These instructors have built several Angular applications that are in production in a wide variety of environments across many industries.

Day 1
We’ll go through the fundamentals of Angular in order to give you a solid foundation for building AngularJS applications. We’ll use these fundamentals to get you started on building functional AngularJS applications.

  • Project Setup: We’ll begin our course by setting up the project infrastructure that we’ll use as the basis for the Angular application we’ll be building. We’ll go over dependency managers such as NPM and Bower, and then set up our project’s build using Grunt, a JavaScript task runner.
  • AngularJS Bootcamp: Here we’ll give an introduction to Angular and how it works, as well as an introduction to some AngularJS fundamentals such as dependency injection, modules, controllers, and scope. We’ll also go over basic syntax for binding data to elements in HTML templates.
  • Karma and Unit Testing: In this section, we’ll go over unit testing with Karma, a tool used to run tests against your application code in a web server, and Jasmine, the behavior-driven development (BDD) testing framework for testing JavaScript code. We’ll also learn how to effectively use mocking of services and modules to make our tests repeatable and consistent.
  • Modules, Resources, and Router: We’ll start this section by taking a deeper dive into modules and how we can configure the bootstrap process of an Angular application. We’ll also talk about setting up navigation through our application using the router that is built-in to AngularJS. Finally, we’ll end this section and Day 1 by discussing resources and how we can use them to perform CRUD operations on our data via a RESTful API server.

Day 2
We’ll build on the knowledge that we’ve learned from Day 1 and use them to enhance our AngularJS applications. We’ll also go over concepts and techniques to help us master program flow and modularization of services.

  • UI Router: We’ll start Day 2 by learning about controller inheritance and how it affects data within our application. We’ll then introduce the Angular UI Router, a third-party routing framework that allows for more advanced routing behavior and view control.
  • Promises and Interceptors: In this section, we’ll learn about how we can use promises within AngularJS to handle asynchronous actions within our application. We’ll also dive into how we can use interceptors to modify HTTP requests and responses to suit the needs of our application.
  • Factories and Providers: We’ll end Day 2 by talking about how to create specialized objects in AngularJS to implement services in our application. We’ll go over the various types of these specialized objects that can be created and the situations where they should be used.

Day 3
We’ll spend Day 3 going over how to create reusable AngularJS components such as directives and filters and how to apply them to our AngularJS applications. We’ll also show you how to create functional end-to-end tests for your application.

  • Custom Directives: In this section, we’ll teach you how to create and use your own custom directives which you can use to build reusable components. We’ll go over the various ways you can instruct a directive to manipulate HTML DOM, and how to use scopes to share or restrict data that can be passed between a directive and its parent. We’ll also discuss how to add controllers to a directive, as well as how to add external dependencies.
  • Filters: We’ll instruct you on how to use filters to modify objects and arrays to reduce or modify the data you wish to display. We’ll also show you how to write your own filters.
  • Animation: We’ll show you how to use the built-in animation support in AngularJS to add meaningful animations to your AngularJS application via CSS animations, CSS transitions, or JavaScript-defined animations.
  • Protractor and E2E Testing: We’ll end our training by going over functional end-to-end testing using Protractor, the end-to-end test framework for AngularJS. We’ll go over how to set up tests to automate the actions of an end user to see if our application is performing as expected. We’ll also show you some ways that we can make these tests more reusable and consistent through the use of page objects.

Instructors

Dustin Schau

Dustin has been professionally developing web applications since 2013 (and as an amateur, for several years prior). In that time, he has utilized open source technologies and frameworks such as React, AngularJS, Polymer, NodeJS, and he’s sure he’ll be using the next “cool kid on the block” Javascript technology, whenever that comes out. In his spare time, he enjoys spending time traveling and exploring new cities, as well as (probably) tinkering on some side project.

Travis Martensen

Travis has over a decade of experience in building robust, scalable applications for the web, utilizing many different languages and technologies. Most recently, Travis worked at a startup where he helped design and build a full-stack JavaScript application built on Node.js, Express.js, and MongoDB running on Amazon EC2 on the server side, and Angular.js, LESS, and Semantic UI on the client side.

Kevin Bosak

After 10+ years of server side development, Kevin has spent the past few years focusing on client side development. He’s developed many enterprise web applications using different javascript frameworks, ranging from extJS and Dojo Toolkit to Backbone and Angular. For a fun side project, Kevin recently wrote a web app using Angular and Firebase that allowed him to share real time game stats/updates from his children’s basketball games with his family and friends who were unable to attend.

Scott Bock

Scott is a Senior Software Engineer with over 12 years of experience using Java, and 5 years experience in technical leadership positions. His strengths include troubleshooting and problem solving abilities, excellent repertoire with customers and management, and verbal and written communication. He develops code across the entire technology stack including database, application, and user interface.

Jeff Sheets

Jeff has developed Java, Groovy, Grails, and HTML/Javascript web apps for multiple Fortune 500 companies in industries as varied as Defense, Transportation, Energy, Weather, and Telecom. Jeff has focused on full stack web application development from database to user interfaces. He has worked on Grails projects since the Grails 1.1 days, and has experience with production Groovy code as well as Spock tests and Gradle builds.

Next Training Session

Screenshot 2015-03-24 15.49.03

      TBD
      Object Partners Minneapolis
      1515 Central Ave NE
      Minneapolis, MN 55413