DEV Community

loading...

Looking for Contributors on CONNECTIVE HTML

loreanvictor profile image Eugene Ghanizadeh ・1 min read

CONNECTIVE HTML is a simple and thin library for creating HTML user interfaces without reliance on (and hence without overhead of) techniques such as Virtual DOM / Change Detection / etc. The idea is that with advent of reactive programming libraries such as RxJS, not only there is no longer any need these techniques, but also relying on them limits our interfaces in terms of performance and capabilities.

The main body of the work on CONNECTIVE HTML is already done and it is already usable for enthusiasts. However there still remains some work to make it widely usable and production-ready. If you are interested, checkout the project's page and contribute, as any help is much appreciated.

Discussion (2)

pic
Editor guide
Collapse
seanmclem profile image
Seanmclem

Looks cool!

const MyComp = ({ name }, renderer) => <div>Hellow {name}!</div>
I don't understand what is happening here ^
It looks like you're passing in the renderer, but not explicitly using it. Why/how?

Collapse
loreanvictor profile image
Eugene Ghanizadeh Author • Edited

<div>Hellow {name}!</div> is transpiled (by some JSX transpiler such as Typescript or Babel) to renderer.create('div', ...). In a library like React, the equivalent would be importing global name React (import React from 'react';), however in CONNECTIVE HTML the decision was made to keep this factory object locally scoped to enable/encourage using context-specific renderers (such as one that scopes styles for current scope/component).