0.1.5 • Published 6 years ago
wavefront v0.1.5
[ (Alpha) use at your own risk ]
WAVEFRONT
Documentation
An Advanced DOM View Layer
What can it do?
- Create components using template literals: Nest elements, markupStrings or arrays of elements and/or markupString.
- Namespace using parenthesis and add components names:
(sidebars)<div Latest-News><ul List><li></li></ul></div>
. - Access created components from returned object:
const { latestNews, list } = returnedObject.sidebars;
. - Batch reads and writes to the DOM: Using promise based
read()
andwrite()
functions based on fastdom. - Perform better (faster and more memory efficiently) than Virtual-DOM based libraries
- Provide DOM helpers for common usage.
Why would I use this when we already have Angular, React and Vue?
- The obscure strucuture of Virtual-DOM implementations encourages frame-by-frame interactions. Which means you are removing elements from the DOM as an alternative to animations which looks kind of crappy in the 21st century.
- Any element can be a component and you can access that component from anywhere once created.
- You can render mulitple parts of the DOM asynchronously whilst minimizing layout thrashing.
- Lifecycles can easily be managed by state managemnt and/or MutationObserver.
- Wavefront's UI pattern separates semantic presentation from logic.
- No vendor plugins, no transpiling, no eco-system. Wavefront specific plugins and middlewear are discouraged.
- Events are delegated (TBA) and do not clutter markupStrings.
- Wavefront is not dependent on the use of: this, bind, classes or JSX. There are no dependencies.
Browser Support
Supported browsers:
- Edge 14, Chrome 61, Safari 10, Firefox 53, Opera
Wavefront does not support Internet Explorer. Although it is possible to make Wavefront support IE11 by using a DOMParser along with babel Wavefront does not want to be complicit in keeping IE11 alive, it's dying so just let it die.
Credits
- Wavefront Author: Julien Etienne
- fastdom Author: Wilson Page
MIT (C) Julien Etienne 2018