Key Features
- Covering all the new Object-Oriented features introduced in ES6, this book shows you how to build large-scale web apps
- Build apps that promote scalability, maintainability, and reusability
- Learn popular Object-Oriented programming (OOP) principles and design patterns to build robust apps
- Implement Object-Oriented concepts in a wide range of front-end architectures
Book Description
ECMAScript 6 introduces several new Object-Oriented features that drastically change the way developers structure their projects. Web developers now have some advanced OOP functionality at their disposal to build large-scale applications in JavaScript.
With this book, we'll provide you with a comprehensive overview of OOP principles in JavaScript and how they can be implemented to build sophisticated web applications. Kicking off with a subtle refresher on objects, we'll show you how easy it is to define objects with the new ES6 classes. From there, we'll fly you through some essential OOP principles, forming a base for you to get hands-on with encapsulation.
You'll get to work with the different methods of inheritance and we'll show you how to avoid using inheritance with Duck Typing. From there, we'll move on to some advanced patterns for object creation and you'll get a strong idea of how to use interesting patterns to present data to users and to bind data. We'll use the famous promises to work with asynchronous processes and will give you some tips on how to organize your code effectively.
You'll find out how to create robust code using SOLID principles and finally, we'll show you how to clearly define the goals of your application architecture to get better, smarter, and more effective coding. This book is your one-way ticket to becoming a JavaScript Jedi who can be counted on to deliver flexible and maintainable code.
What you will learn
- Master JavaScript's OOP features, including the one's provided by ES6 specification
- Identify and apply the most common design patterns such as Singleton, Factory, Observer, Model-View-Controller, and Mediator Patterns
- Understand the SOLID principles and their benefits
- Use the acquired OOP knowledge to build robust and maintainable code
- Design applications using a modular architecture based on SOLID principles
About the Author
Andrea Chiarelli has over 20 years of experience as software engineer and technical writer. Throughout his career, he has used various technologies for the projects he was involved in, ranging from C# to JavaScript, ASP.NET to AngularJS, and REST to PhoneGap/Cordova.
He has contributed to many online and offline magazines, such as Computer Programming and ASP Today and has coauthored a few books published by Wrox Press.
Currently, he is a senior software engineer at the Italian office of Apparound Inc., a mobile software company founded in the heart of Silicon Valley, and he is a regular contributor to HTML.it, an Italian online magazine focused on web technologies. You can contact him at https://www.linkedin.com/in/andreachiarelli
Table of Contents
- A Refresher of Objects
- Diving into OOP Principles
- Working with Encapsulation and Information Hiding
- Inheriting and Creating Mixins
- Defining Contracts with Duck Typing
- Advanced Object Creation
- Presenting Data to the User
- Data Binding
- Asynchronous Programming and Promises
- Organizing Code
- SOLID Principles
- Modern Application Architectures