Summary: allow website creators to accurately and reliably specify a layout that adjusts to different screen sizes with set constraints on how things should adjust. Further allow website makers to create interactive objects and layouts rather than just serving pages with static layouts. The following are the high-level details and issues.
- Wrap the DOM with "transparent" objects which contain the added functionality. These objects must dynamically update the DOM but the DOM has many different, non-uniform, output format object models (SVG, Canvas, Elements, etc.). Therefore separation of data and view (aka model/view) is important. This creates a mapping problem.
- Maintain transparent abstraction, no need to add yet ANOTHER JS (YAJS) framework, transpiler, library, etc. IOW, any API should be direct implementations of existing calls so no need to learn anything new. I also want to avoid a file bundle-r because, again, that is another piece of technology tacked onto the "what you need to use" stack.
- No shims and polyfills, focus on the core ideas and what is already widely supported. It seems no one was keeping in mind that every decision creates technical clutter, another "something" for people to learn, manage, debug, interface with, etc.
- Declarative syntax so a web site is properly searchable and index-able for the web.
- Local storage synced to a database in order to prevent data loss and allow asynchronous update/upload/retrieval during interaction
Next.