Become a Better JS Developer
You will learn how modern architectural patterns are important from the perspective of a modern web application developer and how to write flexible and resilient code that’s easier—yes, easier—to work with as your code base grows.
- Learn best practices for code organization, modularity, and reuse
- Separate your application into different layers of responsibility
- Truthy vs Falsey
- Object Creation Patterns
- Function Declarations versus Function Expressions
- Functions as Data
- Anonymous Functions
- Strict Mode
- IIFE (Immediately Invoked Function Expressions)
- Principles in modularity
- The module pattern
- Software Architecture best practices
- Avoid collisions
- SOLID principles
- Loose Coupling & Maintainability
- Dependency Injection
- What are design patterns?
- Prototype Pattern
- Revealing Module Pattern
- MVC vs MVVM
- Imperative vs Functional Programming
- Partial Applications
- Higher Order Functions
- Function Composition
- Real world recursion
- Test Driven Development
- Testing using Karma
- Test Frameworks (Jasmine, Mocha, QUnit)
- E2E Testing using Nightwatch
- Continuous Integration with Travis
Who is This Course For?
This course is delivered as a hands-on (hand-coding) workshop and lecture. Participants are required to have their own workstation in which to practice the topics of the course.
System Requirements and Development Environment
Participates should bring a laptop/notebook computer. Mac or PC with any modern web browser installed and working wireless capabilities and a editor installed such as WebStorm.