If you look at almost any web application, it is powered by JavaScript or one of its very popular frameworks like Angular, React, and Vue; but JavaScript continues to be a complex language with a steep learning curve and some areas that even seasoned developers struggle with. This is a practical course with a purpose to provide clarity in areas of the language that are the hardest to understand.
Course 1: JavaScript
The course will begin with the most common areas like hoisting, scopes, binding, and prototypal inheritance. The course will then move on to selected features that are actually used in the day-to-day development of complex apps. You will also cover asynchronous programming with tasks like modernizing callback-based applications. Lastly, the course will focus on process management, web workers, and PM2.
Course 2: Node.js
Next, you will learn to create scalable and rich RESTful applications based on the latest Node.js platform. You will learn to customize your RESTful development process using the latest NPM and understand the key principles to convert an HTTP application into RESTful-enabled applications. You will then create and test Node.js modules with automated tests, use MongoDB to store data, and get to grips with using self-descriptive URLs.
Course 3: Angular
The course will also cover the new Angular engine, Ivy, the code name for Angular's next-generation compilation and rendering pipeline. You will understand how to make the best use of these new features practically in your front-end applications and work around deprecations, breaking changes, and code refactoring for your current Angular applications.
Course 4: React
This course will cover all the React.js basics such as its API, which will help you create elements and components; the virtual DOM and the JSX syntax extension; using state; working with browser events; and component lifecycle methods. You will build an application from scratch throughout the course and use the knowledge you've gained in a practical way. You will also learn to update various elements of a site or application seamlessly without delay, without disrupting the rest of the display or requiring the user to refresh.