All Projects → linuxenko → Basic Virtual Dom

linuxenko / Basic Virtual Dom

Licence: mit
Very basic virtual-dom implementation.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Basic Virtual Dom

Ivi
🔥 Javascript (TypeScript) library for building web user interfaces
Stars: ✭ 445 (+3323.08%)
Mutual labels:  virtual-dom
Dot Dom
.dom is a tiny (512 byte) template engine that uses virtual DOM and some of react principles
Stars: ✭ 757 (+5723.08%)
Mutual labels:  virtual-dom
Puddles
Tiny vdom app framework. Pure Redux. No boilerplate.
Stars: ✭ 24 (+84.62%)
Mutual labels:  virtual-dom
Cable ready
CableReady completes the ActionCable story and expands the utility of web sockets in your Rails app
Stars: ✭ 489 (+3661.54%)
Mutual labels:  virtual-dom
Domvm
DOM ViewModel - A thin, fast, dependency-free vdom view layer
Stars: ✭ 581 (+4369.23%)
Mutual labels:  virtual-dom
Htm
Hyperscript Tagged Markup: JSX alternative using standard tagged templates, with compiler support.
Stars: ✭ 7,299 (+56046.15%)
Mutual labels:  virtual-dom
Mikado
Mikado is the webs fastest template library for building user interfaces.
Stars: ✭ 323 (+2384.62%)
Mutual labels:  virtual-dom
Muve
Muve is a micro library for building interactive javascript applications.
Stars: ✭ 11 (-15.38%)
Mutual labels:  virtual-dom
Nanomorph
🚅 - Hyper fast diffing algorithm for real DOM nodes
Stars: ✭ 621 (+4676.92%)
Mutual labels:  virtual-dom
Dyo
Dyo is a JavaScript library for building user interfaces.
Stars: ✭ 924 (+7007.69%)
Mutual labels:  virtual-dom
Korolev
Single Page Applications running on the server side.
Stars: ✭ 510 (+3823.08%)
Mutual labels:  virtual-dom
Vhtml
Render JSX/Hyperscript to HTML strings, without VDOM 🌈
Stars: ✭ 556 (+4176.92%)
Mutual labels:  virtual-dom
Dna
Progressive Web Components.
Stars: ✭ 22 (+69.23%)
Mutual labels:  virtual-dom
Remark React
plugin to transform to React
Stars: ✭ 484 (+3623.08%)
Mutual labels:  virtual-dom
Preact Compat
🙌 React compatibility layer for Preact.
Stars: ✭ 927 (+7030.77%)
Mutual labels:  virtual-dom
Vidom
Library to build UI based on virtual DOM
Stars: ✭ 408 (+3038.46%)
Mutual labels:  virtual-dom
Diffhtml
diffHTML is a web framework that helps you build applications and other interactive content
Stars: ✭ 788 (+5961.54%)
Mutual labels:  virtual-dom
Vuejs Credit Score Calculation
A vehicle credit calculation application using VueJS.👍
Stars: ✭ 12 (-7.69%)
Mutual labels:  virtual-dom
Corerender
Moved to https://github.com/alexdrone/Render
Stars: ✭ 25 (+92.31%)
Mutual labels:  virtual-dom
Backbone.vdomview
VirtualDOM-aware Backbone View
Stars: ✭ 23 (+76.92%)
Mutual labels:  virtual-dom

Very basic virtual-dom implementation

Build Status Coverage Status dependencies alpha npm version

Features

Support of following patch types:

  • PATCH_CREATE
  • PATCH_REMOVE
  • PATCH_REORDER
  • PATCH_PROPS
  • Small amount of diffing iterations
  • Referal based patches without identifiers
  • No iterations over the virtual or dom tree when applying patches

Seems like it has not so bad memory usage and rendering performance

Example

Example

Simple day countdown example

/** @jsx h */

import {h, patch, diff} from '../../';

var initialDom = (
  <div>
    <div><h3>Counter</h3></div>
  </div>
);

document.getElementById('application')
  .appendChild(initialDom.render());

setInterval(function() {
  var cd = countDown();
  var countDownDom = (
    <div>
      <div><h3>Day Countdown</h3></div>
      <div className="clock">
        <strong>{cd.h}</strong> :&nbsp;
        <strong>{cd.m}</strong> :&nbsp;
        <strong>{cd.s}</strong>
      </div>
    </div>
  );

  var diffs = diff(initialDom, countDownDom);
  patch(initialDom, diffs);

}, 1000);

TODO

  • test browser support

License

MIT (c) Svetlana Linuxenko

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].