Book Image

Mastering JavaScript Object-Oriented Programming

Book Image

Mastering JavaScript Object-Oriented Programming

Overview of this book

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.
Table of Contents (18 chapters)
Mastering JavaScript Object-Oriented Programming
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

Isomorphic applications


One of the latest proposals as part of the possible architectures for JavaScript applications are the so-called isomorphic applications. The basic idea is to exploit the ability to execute JavaScript code both on server side and client side, being able to obtain benefits both in terms of performance and code reuse.

Note

There have been some discussions on whether to use the term Isomorphic to describe the ability to run a JavaScript application on both the client and the server. In particular, the issue was raised in the juxtaposition of the term to the language—Isomorphic JavaScript. Alternatively, the term universal JavaScript was proposed, but at present it does not seem to have had much success. More on the topic, you can find on the following posts: https://medium.com/@ghengeveld/isomorphism-vs-universal-javascript-4b47fb481beb https://medium.com/@mjackson/universal-javascript-4761051b7ae9

In the Single Page Application architecture, the initial request from the...