zuix.js
is a lightweight library for creating modular and component based web applications by using standard HTML, CSS and JavaScript.
One of the main feature of zuix.js is the ability to "morph" basic HTML content into components, by loading them at runtime and only when needed (lazy-loading).
This makes possible to design web pages that can work even with JavaScript disabled, and where JavaScript is enabled, the same page is brought to life with components that use the very page content as its data source.
What even more interesting, is that is possible to load such components also from external websites, making infinite the possibilities in sharing and reusing components across a network of sites.
Features in brief
- Components loading either from a local or remote servers
- View templates (featuring hot swapping)
- Data binding
- Lazy loading
- Events, Behaviors, Refresh @ Handlers
- Automatic events unbinding
- Resource loader with caching
- Integrated DOM helper
- Animations and transitions handling
- Inline components definition
- Standalone components
zuix-cli
is a tool for the command-line shell for creating new projects, adding pages or components, bundling and compressing into a single HTML file all resources used in a page, either local or remote ones. Project starter templates are using Eleventy as site generator, which works very nicely together with zuix.js.
Features in brief
- Page bundling (components, styles, scripts)
- Assets mirroring (creates a local copy of external resources such as scripts, images and videos)
- Eleventy site generator:
- LESS to CSS style compiler
- Page indexing and search engine Fuse.js
- Code linting and minifying
- Service worker generator for assets pre-caching and other optimizations
- Responsive starter templates optimized for both desktop and mobile
- Progressive Web App (PWA) with 95-100/100/100/100 score in Lighthouse test for mobile devices