The Power of Reactive Programming in JavaScript

Summary of my bookmarked links and Github repositories from Jul 3rd, 2023


  • The Third Age of JavaScript

    The article discusses the evolving stages of JavaScript, labeling the current era as the Third Age of JavaScript. The First Age (1997-2007) focused on language development, while the Second Age (2009-2019) involved expanding the language and building tools. The Third Age (2020 onwards) aims to eliminate legacy assumptions and collapse layers of tooling. Key changes include the shift from CommonJS to ES Modules, the adoption of non-JavaScript tools like Rust, and collapsing layers in projects like Deno and Rome. The article predicts that by ~2030, JavaScript will transform into a powerful application platform.

  • A Hands-on Introduction to Fine-Grained Reactivity

    Reactive programming has seen a resurgence in JavaScript frontends, and this article provides an introduction to fine-grained reactivity. It highlights the challenges of understanding different types of reactivity and emphasizes the importance of focusing on the "what" rather than the "how." The article explores the concepts of signals, reactions, and derivations, demonstrating how they work using code snippets and examples. It also discusses the reactive lifecycle and the synchronous execution of fine-grained reactive systems. Overall, the article offers a comprehensive overview of the core principles of fine-grained reactivity in JavaScript.

  • 10 Years of Meteor

    Meteor, a web development framework that emerged in 2012, revolutionized the field with its unified architecture combining client, server, and database functionalities. It offered real-time capabilities, simplified data fetching, and a familiar MongoDB API. However, as the JavaScript ecosystem evolved, Meteor faced criticism for its idiosyncratic approach and lack of integration with the npm ecosystem. Despite its impact, Meteor did not achieve widespread dominance and eventually gave way to Apollo, a company focused on GraphQL. Nevertheless, Meteor's simplicity and ease of use continue to be admired, and projects like Vulcan.js aim to carry forward its principles in the modern JavaScript landscape.

Github repositories

  • Grubba27/meteor-ts-tracker

    Meteor Tracker is a powerful JavaScript library for transparent reactive programming. It offers the benefits of Functional Reactive Programming (FRP) without requiring a complete rewrite of your program. With Tracker, you can easily build complex event-driven programs by connecting reactive data sources, like databases, with reactive data consumers, such as HTML templating libraries. The library provides a simple convention for enabling reactivity and is supported by various Tracker-aware libraries, including Blaze and Minimongo. Tracker makes it effortless to create live-updating applications and facilitates the development of new reactive data sources.