Vasille Web
is a front-end framework, which is developed to provide bulletproof frontends.
- Installation
- How to use Vasille
- How SAFE is Vasille
- How INTUITIVE is Vasille
- How POWERFUL is Vasille
- Road Map
npm install vasille-web --save
Create an app from a template
$ npm create vasille
The safe of your application is ensured by
100%
coverage of code by unit tests. Each function, each branch is working as designed.- OOP, DRY, KISS and SOLID principles are applied.
strong typing
makes your javascript/typescript code safe as C++ code. All entities ofvasille
core library are strongly typed, including:- data fields & properties.
- computed properties (function parameters and result).
- methods.
- events (defined handlers & event emit).
- DOM events & DOM operation (attributing, styling, etc.).
- slots of components.
- references to children.
- No asynchronous code, when the line of code is executed, the DOM and reactive things are already synced.
There is the "Hello World":
import { compose, mount } from "vasille-dx";
const App = compose(() => {
<p>Hello world</p>;
});
mount(document.body, App, {});
All of these are supported:
- Components.
- Reactive values (observables).
- Inline computed values.
- Multiline computed values.
- HTML & SVG tags.
- Component custom slots.
- 2-way data binding in components.
- Logic block (if, else).
- Loops (array, map, set).
- Update the
Vasille Core
library to version 3.0. -
100%
Test Coverage for core Library v3. - Develop the
Vasille JSX
library. -
100%
Test Coverage for the JSX library. - Develop the
Vasille Babel Plugin
. -
100%
Test Coverage fot babel plugin. - Add CSS support (define styles in components).
- Add router.
- Add SSG (static site generation).
- Add SSR (server side rendering).
- Develop tools extension for debugging.
Added SSG (static site generation) as build option vasille-web build static
.
Initial version of the framework with file based routing and building scripts (vasille-web dev
and vasille-web build spa
).
If you have questions, feel free to contact the maintainer of the project:
Made in Moldova 🇲🇩