GithubHelp home page GithubHelp logo

bitrixinfo / diffhtml Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tbranyen/diffhtml

0.0 0.0 0.0 4.94 MB

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

Home Page: https://diffhtml.org

License: MIT License

JavaScript 96.18% HTML 0.45% CSS 2.56% CoffeeScript 0.81%

diffhtml's Introduction

<±/> diffHTML

Build Status Coverage Status

Latest version: 1.0.0-beta.20

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 that you may want to render in a web browser or Node.

The core package 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.
  • React-like Components which can be rendered as Web Components.
  • 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.

  • 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-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-website

    The source for the www.diffhtml.org website.

diffhtml's People

Contributors

tbranyen avatar maadhattah avatar jmas avatar gnarf avatar f avatar kltan avatar odinho avatar gitter-badger avatar uzitech avatar delano-infodatek avatar rzhornyk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.