Package Exports
- kivi
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (kivi) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Kivi is a javascript (TypeScript) library for building web user interfaces. It provides Virtual DOM API for DOM manipulations, UI Components, and Scheduler tightly integrated with UI Components.
Kivi API is designed specifically to provide fast bootstrap time (cold start) and fast hot updates, good debugging and profiling experience (preserving stack traces).
This project is open source, but I woudn't recommend to choose it over many other web UI libraries that take more responsibility by making their libraries open source, unless you have some specific reasons. There are no guarantees that it will be properly maintained in the future if I'll lose interest in this project, there is a little chance that I'll work on a problem related to some specific use case that I don't care. So if you are an average web developer, and want to create an awesome web application, just use React library.
Example
import {ComponentDescriptor, injectComponent} from "kivi";
const Main = new ComponentDescriptor()
.update((c, props) => {
c.vSync(c.createVRoot().children(`Hello ${props.name}`));
});
injectComponent(Main, document.body, {name: "World"});Documentation
- Getting Started
- Basics
- Advanced
Examples
Performance
Kivi has one of the fastest Virtual DOM implementations, it was designed from the ground up with high performance in mind.
Benchmarks:
Coding Guidelines
- Explicit over implicit.
- Pragmatic approach for solving problems. No need to create unnecessary abstractions, it is ok to repeat code if it improves readability.
- User experience is more important than developer experience.
- Code that is easier to debug is more important than API.
- Javascript engine optimization priorities: V8, JSC, Chakra, SpiderMonkey.
- Web browser engine optimization priorities: WebKit/Blink, other.