{"repo":"mixpanel/panel","free":true,"listed":false,"github":"https://github.com/mixpanel/panel","clone":"git clone https://github.com/mixpanel/panel.git","description":"Web Components + Virtual DOM: web standards for powerful UIs","language":"JavaScript","stars":273,"topics":["components","virtual-dom","web-components","webcomponents","snabbdom"],"license":null,"category":"ui-components","readme_excerpt":"panel Apps made of composable, manageable Web Components. UIs with supercharged web standards! Motivation and technologies Panel makes Web Components suitable for constructing full web UIs, not just low-level building blocks. It does so by providing an easy-to-use state management and rendering layer built on Virtual DOM (the basis of the core rendering technology of React). Through use of the Snabbdom Virtual DOM library and first-class support for multiple templating formats, Panel offers simple yet powerful APIs for rendering, animation, styling, and DOM lifecycle. Each Panel application is a Web Component, composed of DOM elements and potentially arbitrarily nested child components, each of which can technically be an app in its own right. Parent and child components can share state , in the form of Plain Old JavaScript Objects which are passed to templates for rendering. When update() is called on a component with state changes, the DOM gets updated according to the diff. Templates can be in any format that produces Snabbdom-compatible hyperscript, including raw Hyperscript code or Jade or JSX. The architecture of Panel draws upon aspects of and technologies from Mercury, Polymer, React, Redux, Cycle, and Backbone, with an emphasis on simple pragmatism over functional purity thanks to Henrik Joreteg's \"Feather\" app demo. Panel eschews opaque abstractions and data flow management layers to provide a straightforward state-based rendering cycle. There are no built-in data f","default_branch":null,"files":null,"tree":[],"storefront":"/r/mixpanel","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/mixpanel/panel/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}