All Projects → tbranyen → Diffhtml

tbranyen / Diffhtml

Licence: mit
diffHTML is a web framework that helps you build applications and other interactive content

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Diffhtml

Panel
Web Components + Virtual DOM: web standards for powerful UIs
Stars: ✭ 206 (-73.86%)
Mutual labels:  virtual-dom, components, web-components
blockml-component
A component-based virtual DOM system (similar to React) for blockml.
Stars: ✭ 23 (-97.08%)
Mutual labels:  virtual-dom, components, web-components
fast-blazor
Blazor component library for FluentUI. Microsoft's official lightweight wrapper around the FluentUI Web Components for use with .NET 6.0 Blazor applications
Stars: ✭ 928 (+17.77%)
Mutual labels:  components, web-components
zephjs
ZephJS is an easy, understandable, and ultra-light framework for defining and using Web Components.
Stars: ✭ 46 (-94.16%)
Mutual labels:  components, web-components
uce-template
A Vue 3 inspired Custom Elements toolless alternative.
Stars: ✭ 96 (-87.82%)
Mutual labels:  components, web-components
lego
🚀 Web-components made lightweight & Future-Proof.
Stars: ✭ 69 (-91.24%)
Mutual labels:  virtual-dom, web-components
design-system
The Baloise Design System consists of reusable components and a clearly defined visual style, that can be assembled together to build any number of applications.
Stars: ✭ 40 (-94.92%)
Mutual labels:  components, web-components
elements
Lovingly crafted ui components based on web components. Works well with all Frameworks - including Angular, React and Vue.
Stars: ✭ 42 (-94.67%)
Mutual labels:  components, web-components
Live
Live views and components for golang
Stars: ✭ 251 (-68.15%)
Mutual labels:  virtual-dom, components
Weightless
High-quality web components with a small footprint
Stars: ✭ 284 (-63.96%)
Mutual labels:  components, web-components
Switzerland
🇨🇭Switzerland takes a functional approach to Web Components by applying middleware to your components. Supports Redux, attribute mutations, CSS variables, React-esque setState/state, etc… out-of-the-box, along with Shadow DOM for style encapsulation and Custom Elements for interoperability.
Stars: ✭ 261 (-66.88%)
Mutual labels:  virtual-dom, components
Base Components Recipes
A collection of base component recipes for Lightning Web Components on Salesforce Platform
Stars: ✭ 293 (-62.82%)
Mutual labels:  components, web-components
Fast
The adaptive interface system for modern web experiences.
Stars: ✭ 6,532 (+728.93%)
Mutual labels:  components, web-components
nativeweb
🤳 Tiny library for simple web components. [1kB]
Stars: ✭ 93 (-88.2%)
Mutual labels:  components, web-components
CalDOM
An agnostic, reactive & minimalist (3kb) JavaScript UI library with direct access to native DOM.
Stars: ✭ 176 (-77.66%)
Mutual labels:  virtual-dom, web-components
cwco
Powerful and Fast Web Component Library with a Simple API
Stars: ✭ 27 (-96.57%)
Mutual labels:  components, web-components
Val
VirtualDOM abstraction layer - give yourself better integration and full control over the DOM with any virtual DOM library that uses a Hyperscript-like API such as React and Preact.
Stars: ✭ 181 (-77.03%)
Mutual labels:  virtual-dom, components
Etch
Builds components using a simple and explicit API around virtual-dom
Stars: ✭ 545 (-30.84%)
Mutual labels:  virtual-dom, components
anywhere-webcomponents
A UI work in progress based on custom elements (web components) for use in anywhere.
Stars: ✭ 17 (-97.84%)
Mutual labels:  components, web-components
Bem Components
Set of components for sites development
Stars: ✭ 318 (-59.64%)
Mutual labels:  components, web-components

<±/> diffHTML

Build Status Coverage Status

Latest version: 1.0.0-beta.18

At its core, diffHTML is an extremely lightweight and optimized HTML parser and Virtual DOM specifically designed for modern web UIs. These interfaces can be applications, games, data visualizations, or anything else that you may want to render in a web browser or Node.

The core works like a library, where you can import just one function and have a fully reactive VDOM rendering engine. When you opt into more functions and use the companion packages you get a framework for structuring your ideas.

Features

  • Parses real HTML and supports JSX & Tagged Templates.
  • Memory efficient VDOM rendering that utilizes object pooling.
  • Transitions for animations and hooking into DOM changes.
  • Powerful middleware extends diffHTML with additional features.
  • Web and React-compatible stateful components.
  • View and debug your code using the Chrome DevTools extension.
  • A lite build which has a smaller size, meant for optimizing production code.

Packages

The following list of modules are nested in the /packages folder. They form the foundation of the diffHTML ecosystem.

  • diffhtml

    npm install diffhtml
    

    The core public API for creating user interfaces. Contains a standard build which includes everything, and a smaller optimized build that excludes the HTML parser and performance metrics, which is useful for those who want to minimize the filesize.

  • diffhtml-components

    npm install diffhtml-components
    

    Provides constructors and middleware to rendering stateful/stateless components seamlessly with diffHTML. The API will be very familiar to anyone who has used React as the class methods and structure is the same. While the APIs are very similar, if you want true React compatibility, check out the diffhtml-react-compat package.

  • diffhtml-render-to-string

    npm install diffhtml-render-to-string
    

    Use to render your input to string. This is useful for server-side rendering, testing, and HTML/XML transformations.

  • babel-plugin-transform-diffhtml

    npm install babel-plugin-transform-diffhtml
    

    Transforms your input into function calls. This eliminates the need for runtime parsing. This is similar to how React compiles down JSX.

  • diffhtml-middleware-inline-transitions

    npm install diffhtml-middleware-inline-transitions
    

    By default diffHTML provides transition hooks at a global level. This middleware turns them into scoped, performant, event hooks.

  • diffhtml-middleware-linter

    npm install diffhtml-middleware-linter
    

    This module will run various linting rules on your input to ensure you are writing valid/well-formed HTML. This was inspired by and uses rules from the HTMLHint project.

  • diffhtml-middleware-logger

    npm install diffhtml-middleware-logger
    

    Logs out diffHTML state from the start and end of every render transaction.

  • diffhtml-middleware-synthetic-events

    npm install diffhtml-middleware-synthetic-events
    

    Changes the event binding from inline event handlers like onclick = fn to use addEventListener. Events are attached to the body element and coordinated to children through delegation.

  • diffhtml-middleware-verify-state

    npm install diffhtml-middleware-verify-state
    

    Asserts that a render properly updated the old Virtual Tree and the DOM. Will recursively search for inconsistencies, displays warnings unless debugging is enabled, then it throws errors instead.

  • diffhtml-middleware-service-worker

    npm install diffhtml-middleware-service-worker
    

    Helps with the creation of a service worker for PWAs, available as a convenience to make development more friendlier.

  • diffhtml-react-compat

    npm install diffhtml-react-compat
    

    Highly Experimental: This is a compatibility package meant to be a drop-in replacement for the modules: react and react-dom. It wraps the diffHTML Components package as the base for the component constructors. It then layers additional React-specific APIs.

  • diffhtml-static-sync

    npm install diffhtml-static-sync
    

    Highly Experimental: A work-in-progress static HTML server that automatically reloads your markup as you save using Web Sockets.

  • diffhtml-devtools

    Chrome Extension providing DevTools for inspecting and learning more about your running diffHTML code. Currently logs information about transactions, allows toggling active middleware, and displays some memory internals.

  • diffhtml-website

    The source for the www.diffhtml.org website.

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].