JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4
  • Score
    100M100P100Q42100F
  • License Apache-2.0

Javascript (TypeScript) library for building web user interfaces.

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

Build status Npm version Npm downloads License

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.

Kivi JSFiddle

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

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.