What is dom99 ?
<!-- The input and the paragraph as well as the js variable always have the same value -->
Optimized for page-load
By default dom99 is optimized for first page load, that means the size is small.
HTML for mark-up, JS for logic
Get up an running fast. dom99 does not attempt to invent for the nth time how to write
if statements and
for loops inside HTML. Put logic in JS, and mark-up that you already know in HTML. HTML being used when sufficient we respect the minimal responsability principle.
Separation of concerns
Designers and Developers can work on the same files. Elements in the mark-up linked to the DOM use
data-* instead of the overused
id. The benefits to this approach is that the developers can safely add data-attributes to stylized components without breaking the styles, and the designers can safely add
ids without breaking anything.
Easy to learn
Work with the Web platform
dom99 is a web framework and is an extension to web standards HTML, CSS and JS, and does not intent to be a replacement.
Zero-second compile time
dom99 can be used in a zero-second compile time development set-up with ES-modules.
No Virtual DOM
No virtual dom is used for maximum possible performance.
dom99 is unopinionated. Bigger frameworks can be built on top of it. That means you can chose your own architecture, state management system, CSS system etc
Locally found in documentation/documentation.html
<!--Define the template for an userevery user has a picture, a short biography, and a contact button-->SHORT BIOContact<!--The list variable name is "users" and the template used is "user-element"native html elements can also be used to display a list-->
<div data-list="*users-user-element"> <img data-variable="*picture" alt="user-picture" src="usera.jpg"> <p data-variable="*bio">Loves biking and skating</p> <button>Contact</button> <img data-variable="*picture" alt="user-picture" src="userb.jpg"> <p data-variable="*bio">Drinks tons of café.</p> <button>Contact</button> </div>
npm run build-all to run all scripts in package.json in one go
open tests/specification/SpecRunner.html to run unit tests