skatejs / kickflip Goto Github PK
View Code? Open in Web Editor NEW[DEPRECATED] - Functional web components based on the W3C web component specifications.
License: MIT License
[DEPRECATED] - Functional web components based on the W3C web component specifications.
License: MIT License
If it is optional, kickflip()
should return a function that accepts a name which will return a constructor.
This should still be supported:
const MyElement = kickflip('my-element', {
render () {}
});
However we should support this:
const defineMyElement = kickflip({
render () {}
});
const MyElement = defineMyElement('alternate-name');
This would allow consumers to use any templating language that compiles down to Incremental DOM while keeping the way we've configured it to run.
This means they can:
import { elementOpen, ... } from 'kickflip/src/vdom';
We currently check some attributes in the factory functions and apply them in different ways depending on what they are. Instead, we should create Incremental DOM attribute handlers for them and handle them at that level. This would enable JSX -> IDOM compilation to take on the same semantics as our VDOM functions.
It'd be nice to not have to maintain our own implementation, so we should spike using Virtual DOM as the defacto diff / patch implementation for this.
However, there are some advantages to our implementation we should consider:
Number 2 and 4 are a must and we can probably work around number 3. Number 1 isn't very important as it's not that much smaller (30k unmin or so).
The biggest priority is ensuring that we can still do element.appendChild(node)
and not lose a reference to node
during the rendering process. Maybe due to the nature of the patching process and doing as little transformations as possible, this is not possible. Need to investigate.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.