A simple PureScript wrapper for React providing a clean API to the most commonly-used parts of React's functionality.
Thermite is a PureScript library that wraps React to provide a clean, functional API for building user interfaces. It simplifies React usage by exposing commonly needed features through a declarative component model based on actions and states, while allowing direct access to purescript-react for advanced cases.
PureScript developers building interactive web applications who want a functional, composable approach to React component development without the full complexity of React's API.
Developers choose Thermite for its minimal abstraction over React, strong emphasis on composition via optics, and seamless integration with PureScript's type system, making it ideal for building maintainable UIs in a functional style.
A simple PureScript wrapper for React
Enforces clear separation of concerns with actions, states, and pure rendering functions, as shown in the counter example where rendering and action handling are defined separately.
Uses lenses and prisms like focus, split, and foreach to flexibly embed and combine components, enabling modular design as demonstrated in the combining components section.
Supports complex workflows with coroutines that can emit multiple state updates, ideal for AJAX calls or websockets, illustrated in the performAction example with server-side increments.
Allows Spec types to be combined using Semigroup and Monoid instances for easy modular assembly, reducing boilerplate in component design.
Does not expose all React features, requiring fallback to purescript-react for specialized use cases, which adds complexity and potential integration hurdles.
Requires understanding of advanced functional programming concepts like optics and coroutines, which can be a barrier for developers new to PureScript or FP.
Tied to the PureScript ecosystem, which has a smaller community and fewer libraries compared to JavaScript, limiting third-party integration options and support resources.
A declarative, type-safe UI library for PureScript.
Build type-safe web apps with PureScript.
React Bindings for PureScript
Fast & simple framework for building web applications
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.