mfld
v0.3.4
Published
## WARNING: This is pre-production software meant for testing only. Full, accurate documentation is coming soon (@1.0.0).
Downloads
12
Readme
Manifold (MFLD)
WARNING: This is pre-production software meant for testing only. Full, accurate documentation is coming soon (@1.0.0).
If you are interested in this library and want more information or notification on 1.0.0 release, please contact me @ [email protected].
The documentation below is just a placeholder / brainstorming.😬
Reactive state, easy ad-hoc modules, and dynamic markup fragment loading from the server. Wicked small and 0% magic.
Manifold is a small, simple, drop-in reactivity library that enables you to propagate value changes to variables and DOM elements.
At xx minified and g-zipped, Manifold is xx smaller than React and xx smaller than Vue.js. An equivalent app in Svelte is about x% bigger.
Manifold does all of this while staying as invisible as possible: reactive updates are progressive enhancements to your core HTML markup; you can better maintain separation of concerns between your markup and reactive logic; and your application remains just as flexible, modular, and refactorable as it would be if you didn't use it at all.
Despite its small size, Manifold also strives to be modular, so that you are including as little bloat as possible. There are three Manifold modules:
- The client-side reactivity module - enable reactive linking between Svelte-inspired stores, variables, and the DOM. SIZE???
- The remote reactivity module - prompt granular changes in response to HTTP requests, like a stripped-down htmx. Omit this module if you are using something like htmx already; include it if you need to respond to non-HTML responses from your server. SIZE???
- The web components module - easily spin up ad-hoc web components that integrate seamlessly with your existing component library. SIZE???
You may be interested in Manifold if:
- Monolithic reactive libraries like React, Vue, or Svelte introduce too much complexity, bloat, or lock-in for your application
- You want to make your MPA more dynamic (maybe you're using Astro?)
- You want your SPA to be more modular (i.e., a single script error doesn't freeze up your whole app)
- You are writing an application that would benefit from reactivity, but don't want to be dependent on build systems, transpilers, and bundlers (are you on the JSDoc bandwagon?)
- You want reactivity that doesn't violate the philosophy of progressive enhancement and falls gently back to plain ol' HTML in the absence of JavaScript
Documentation
For full documentation, check out the GitHub repo.