MobX Quick Start Guide
上QQ阅读APP看书,第一时间看更新

Preface

Reactive programming has captured the imagination of programmers for decades. Once the gang of four standardized the observer design pattern, the term has become part of the standard vocabulary of every programmer:

Observer : Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
– Design Patterns, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 1995

Nonetheless, there is a wide variety of technologies, libraries, and frameworks implementing the observer pattern. Yet, MobX is unique in the way it applies this pattern to state-management. It has a very friendly syntax, a small core API that makes it easy to learn as a beginner, and it can be applied in any JavaScript project. Moreover, the library has proven scalable, not just at Mendix where the project was first applied, but also in famous projects, such as Microsoft Outlook, Battlefield 1 by DICE, Jenkins, Coinbase, and many, many more.

This book will not just guide you through the basics; it will also immerse you in the philosophy of MobX: Anything that can be derived from the application state, should be derived. Automatically.

MobX is not the first of its kind, but it is standing on the shoulders of giants and has pushed the boundaries of what is possible with the transparent reactive programming paradigm. For example, it is, as far as the authors know, the first major library that combines reactivity with synchronous transactions and the first to explicitly distinguish the concept of derived-values and automatic side effects (reactions).

Unlike many learning materials, this book guides you through the inner workings of MobX and its many extension points. This book will hopefully leave a lasting impression that an essentially simple (and very readable!) paradigm can be used to accomplish tasks that are very challenging, not just in terms of domain complexity, but also in terms of performance.