SteelFrameKit is a front-end development kit, which is developed to provide fault tolerant web applications.
npm install steel-frame --save
Create an app from a template
$ npm create steel-frameThe 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 typingmakes your code safe. All entities ofSteelFrameKitcore 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 "steel-frame";
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 tags.
- Component custom slots.
- 2-way data binding in components.
- Logic block (if, else).
- Loops (array, map, set).
- Dependency injection.
-
100%Test Coverage for core Library v3. - Develop the
JSXlibrary. -
100%Test Coverage for the JSX library. - Develop the
Babel Plugin. -
100%Test Coverage fot babel plugin. - Add CSS support (define styles in components).
- Add router.
- Add SSG (static site generation).
- Develop tools extension for debugging (WIP).
- Add SSR (server side rendering).
We respect semantic versioning:
- A major version is increased when we make incompatible API changes.
- A minor version is increased when we add functionality.
- Patch version is increased when we fix bugs.
- WIP
- Add
QueueRenderer,ArrayView,ArrayModelView,SetModelView,MapModelView,IterateandForEachcomponents. const a = []is not implicit array model, use explicitarrayModel. [API change]
- Add support for context and dependencies injection.
- New developement direction:
fault tolerant. - Renamed to
steel-frame. [API change] - Removed
forwardandbackwardfunctions. [API change] - Removed
Debugcomponent. [API change] - Add support for web components compile target
web build components. Web components as custom tags are supported in any version.
- Initial version of the framework with file based routing and building scripts (
web devandweb build spa). - Reactive values naming switched to
$prefix. [API change] 4.1Added SSG (static site generation) as build optionweb build static.4.2Add support for inlined conditions in JSX, binary&&and ternary?:operator.4.3Add new functionsafewhich make functions safe, errors are reported automatically.
- Switch to a babel plugin to compile components code. [API change]
- 100% of the code has been covered with unit tests.
- New developement direction:
keep it simple.
- Introduces components compilation via a typescript plugin. [API change]
- New developement direction:
write less, do more.
- Initial version of a core library.
- Developemnt direction:
performance-first.
If you have questions, feel free to contact the maintainer of the project:
