NodeJS and Express Foundation
We won't dwell on older standards, but rather use newer versions of ECMAScript right away, making use of new language features such as classes, arrow functions and modules right away. We also know better than to NOT test our code, and so will take a look at how TDD fits into the process of writing Node.js services. We'll take a look at both unit testing as well as end-to-end testing, and see how they complement each other in a lot of ways.
As a participant, you will get the chance to build an application from scratch during the 2 days of the course. The course has a highly practical focus, and conveys the knowledge and experience that has been built up from numerous real-world projects involving Node.js by the developers at Edument.
Stephen has worked developing sections of the QNX core OS as well as developing drivers in C for use in mobile devices. Also, he has setup a build and integration server for testing of drivers. At Blackberry he worked as a team lead for several concept and demo projects related to mobile UX. He has also successfully lead a creative team to develop a sign language translation concept project, resulting in an international award.
Stephen has experience developing at different layers of the software stack, from low level drivers designed and developed in C to apps written in C++ and Java. With previous experience in firmware and driver development, rendering engine development, automated testing, and concept development Stephen is comfortable working with both large and small projects.
With a good eye for detail, Stephen has worked closely with both engineering and design teams to implement BlackBerry's rendering engine as well as many projects related to mobile UX.
Stephen has received several provincial and national medals for his work in electronics and robotics, as well as an international developer award for his work on an American Sign Language translation project.
The first day of the course will take a look at what Node.js is, and what it isn't. We'll start by building a really simple web application, and move onto looking at the new ES2015 syntax and compiling using babel-node. This first day also introduces promises and the Express framework.
- Node.js overview
- Creating a simple Node.js project
- npm and package management
- Moving to ECMAScript 2015 using babel-node
- Asynchrony, Node.js callbacks and promises
- A+/Promises and the Bluebird library
- Introduction to Express
- Routing requests in Express
- Server-side templating using handlebars
Now that we know about Node.js, npm, Express and promises, we can dig a bit deeper into all of these areas and start talking about REST in more detail. We'll see how serving presentable content from the server-side might differ from solely returning JSON and feeding that to a single-page application.
This day will take an in-depth look at REST principles, testing, security and error handling and deepen your knowledge about Express.
- REST-driven single-page applications vs. traditional web applications
- REST core principles and architectural overview
- RESTFulness and the Richardson maturity model
- Proxying requests
- Error handling
- Express middleware
- Building and testing services
- E2E testing and mocks
- Securing your application
Other relevant courses