Marionette
Organize your app in terms of small Views. Marionette makes it easy to compose rich layouts out of small components. We've added tons of features from templateHelpers, to a declarative UI hash, that will keep you from ever wanting to go back. Share complex UI interactions across views. Behaviors are like mixins, without all of the pain associated with property collision. Decoupled communication between your application components with a powerful messaging system. Write classes with the same API as your views. Marionette Objects support features like extend, events, initialize, and more. Marionette community is home to the most welcoming and vibrant discussions in the Backbone ecosystem. Stop spending more time thinking about your framework than your app. Marionette will never get in the way of you and your code.
Learn more
React
React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable and easier to debug. Build encapsulated components that manage their own state, then compose them to make complex UIs. Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep state out of the DOM. We don’t make assumptions about the rest of your technology stack, so you can develop new features in React without rewriting existing code. React components implement a render() method that takes input data and returns what to display. This example uses an XML-like syntax called JSX. Input data that is passed into the component can be accessed by render() via this.props.
Learn more
Dexie
Dexie.js is a minimalistic and bulletproof IndexedDB wrapper library designed to simplify client-side storage. At only ~29k minified and gzipped, it offers a concise API that addresses the complexities of native IndexedDB, such as ambivalent error handling, poor queries, lack of reactivity, and code complexity. Dexie.js provides a well-thought-through API design, robust error handling, extendability, change tracking awareness, and extended KeyRange support, including case-insensitive search, set matches, and OR operations. It embraces the IndexedDB specification and all its features, allowing developers to use existing IndexedDB data without the need for data migration. Dexie.js supports composable real-time queries, enabling components to mirror the database in real-time across various front-end frameworks like React, Svelte, Vue, and Angular. With Dexie Cloud, developers can build consistent, authenticated, and access-controlled local-first apps with just a few lines of extra code.
Learn more
Emotion
Emotion is a performant, flexible CSS-in-JS library designed for writing CSS styles using JavaScript, supporting both string-based and object-based styles while delivering a strong developer experience, complete with source maps, labels, and testing utilities. It offers two powerful usage patterns; a framework-agnostic approach which requires no special configuration yet supports vendor-prefixing, nested selectors, media queries, and class composition through the CSS and CX functions; and a React-optimized variant providing advanced features like the CSS prop for direct styling (similar to the style prop but with support for nested selectors, media queries, and theming capabilities), zero-configuration server-side rendering, native theming, and compatibility with ESLint tooling. Emotion also supports styled-component-like APIs, enabling tag-based or component-based styled elements with dynamic prop-driven styling.
Learn more