Key Features
- Design and build fully modular, modern JavaScript applications using modular design concepts
- Improve code portability, maintainability, and integrity while creating highly scalable and responsive web applications
- Implement your own loosely coupled code blocks that can power highly maintainable and powerful applications in a flexible and highly responsive modular architecture
Book Description
Programming in the modular manner is always encouraged for bigger systems—it is easier to achieve scalability with modular programming. Even JavaScript developers are now interested in building programs in a modular pattern. Modules help people who aren't yet familiar with code to find what they are looking for and also makes it easier for programmers to keep things that are related close together.
Designing and implementing applications in a modular manner is highly encouraged and desirable in both simple and enterprise level applications.
This book covers some real-life examples of modules and how we can translate that into our world of programming and application design. After getting an overview of JavaScript object-oriented programming (OOP) concepts and their practical usage, you should be able to write your own object definitions using the module pattern. You will then learn to design and augment modules and will explore the concepts of cloning, inheritance, sub-modules, and code extensibility. You will also learn about SandBoxing, application design, and architecture based on modular design concepts. Become familiar with AMD and CommonJS utilities.
By the end of the book, you will be able to build spectacular modular applications in JavaScript.
What You Will Learn
- Understand the important concepts of OOP in JavaScript, such as scope, objects, inheritance, event delegation, and more
- Find out how the module design pattern is used in OOP in JavaScript
- Design and augment modules using both tight augmentation and loose augmentation
- Extend the capabilities of modules by creating sub-modules using techniques such as cloning and inheritance
- Move from isolated module pieces to a cohesive, well integrated application modules that can interact and work together without being tightly coupled
- See how SandBoxing is used to create a medium for all the modules to talk to each other as well as to the core
- Use the concepts of modular application design to handle dependencies and load modules asynchronously
- Become familiar with AMD and CommonJS utilities and discover what the future of JavaScript holds for modular programming and architecture
About the Author
Sasan Seydnejad has more than a decade of experience in web UI and frontend application development using JavaScript, CSS, and HTM in .NET and ASP.NET environments. He specializes in modular SPA design and implementation, responsive mobile-friendly user interfaces, AJAX, client architecture, and UX design, using HTML5, CSS3, and their related technologies. He implements framework-less and framework-based applications using Node.js, MongoDB, Express.js, and AngularJS. He is the holder of the U.S. patent for a user interface for a multi-dimensional data store—US Patent 6907428.
Table of Contents
- What Are Modules and Their Advantages?
- Review of Important JavaScript OOP Concepts
- Module Design Pattern
- Designing Simple Modules
- Module Augmentation
- Cloning, Inheritance, and Submodules
- Base, Sandbox, and Core Modules
- Application Implementation – Putting It All Together
- Modular Application Design and Testing
- Enterprise Grade Modular Design, AMD, CommonJS, and ES6 Modules