The Anti Framework
Wavefront is a-n̶o̶t̶h̶e̶r̶ JavaScript framework but without syntactic-sugar or artificial sweeteners.
- No Virtual-DOM: Wavefront queries the DOM
- Componentless: No component hierarchy, vastly improving simplicity
- Minimalistic
- Trusted-Types: For modern XSS protection
- Performant XSS-sanitizer: Standard for all DOM modifications
- No DSL: Markup is defined using Template Literals, there's no JSX or special syntax to learn.
- Decoupled events: A powerful event management system not bound by components
- Separation of concerns: Enforcement of separation between logic and presentation
- String to DOM: Advanced DOM creation using native string manipulation
- No compiler: No magic required
- No dependencies: No libraries or build-tool dependencies
- Lightweight: Less than 30kB minified
- Full-featured UI framework: For SPA, MPA, and hybrids
Wavefront aims to takes an organic and user-friendly approach to UI development, diverging from the complexities of typical web frameworks. We want to emphasis aspects of development that matter the most such as familiarity, ease of maintenance, simplicity, and a creating a smooth learning experience.
What problems is Wavefront soving?
- Reducing Complexities: Wavefront aims to ensure that a developer's efforts invested in developing front-end UIs reflects in the end result.
- Improve Productivity with Faster Development: With no dependency on compilation, development speed is determined solely by your pace.
- Avoiding Over-engineering: Wavefront avoids unnecessary complexities like VDOM, DSL, and special file types.
- Opinionated Directory Structuring: The Wave pattern offers a structured view/controller/event framework for UI projects.
- Providing a Full-Featured UI Engine: Wavefront delivers a comprehensive client-side engine with common requirements.
- Ease of Learning: Wavefront is 100% JavaScript, which can be targeted by TypeScript. It introduces no new syntax, making it easy for developers to pick up.
- Reduction of XSS: Wavefront aims to eliminate XSS vulnerabilities for browsers that currently support Trusted-Types.
- Separation of Concerns: Logic should never be mixed with templates, and Wavefront enforces this best practice to ensure clear separation of concerns.
- Elimination of Tight Coupling: Wavefront aims to avoid coding practices that exacerbate tightly coupled entities, promoting better code maintainability.
- Native Development: Develop using native ES modules and supported ECMAScript for a variety of benefits, ensuring compatibility and efficiency.
Wavefront Development Progress
Wavefront is a work in progress (WIP). The event system is fully operational and the collage engine is capable of rendering anything to the DOM. The concepts of Wavefront have been fully fleshed out and are now in the process of being organized and prepared for collaboration. Wavefront is not yet ready for an alpha or beta release.
What to expect
- Wavefront will be followed up with Bonita , an SDK for native web development. A release for Bonita can be expected mid 2025.
- The XSSKillah library will also be essential for Wavefront's release.
- wavefront.dev will be redesigned for documentation, demos and tutorials.