golymer - Web components with golang (gopherjs)

  •        22

With golymer you can create your own HTML custom elements, just by registering a go struct. The content of the shadowDOM has automatic data bindings to the struct fields. Read an blog post. The struct name, in CamelCase, is converted to the kebab-case. Because html custom elements must have at least one dash in the name, the struct name must also have at least one "hump" in the camel case name. (MyElem -> my-elem). So, for example, an struct named Foo will not be defined and the Define function will return an error.

https://github.com/microo8/golymer

Tags
Implementation
License
Platform

   




Related Projects

custom-elements - A polyfill for HTML Custom Elements v1

  •    Javascript

A polyfill for the custom elements v1 spec. API which might trigger custom element reactions in the DOM and HTML specifications are marked with the CEReactions extended attribute.

vecty - Vecty: a frontend toolkit for GopherJS

  •    Go

Vecty is a React-like library for GopherJS so that you can do frontend development in Go instead of writing JavaScript/HTML/CSS.Vecty is currently considered to be an experimental work-in-progress.

Maple

  •    Javascript

Maple is a seamless module that allows you to organise your React project in terms of webcomponents — with HTML Imports, Shadow DOM, and Custom Elements — allowing you to implement any Flux architecture you choose, and then compile with Mapleify for production.💎 Install all dependencies and start server using npm start.

gopherjs - A compiler from Go to JavaScript for running Go code in a browser

  •    Go

GopherJS compiles Go code (golang.org) to pure JavaScript code. Its main purpose is to give you the opportunity to write front-end code in Go which will still run in all browsers.Give GopherJS a try on the GopherJS Playground.

ui5-webcomponents - UI5 Web Components - the enterprise-flavored sugar on top of native APIs! Build SAP Fiori user interfaces with the technology of your choice

  •    Javascript

The UI5 Web Components are the new offering of UI5 to provide a set of reusable UI elements to you which can be used for your static web sites or for web application using any web framework of your choice with a minimalistic footprint. They allow you to create a consistent user experience aligned to the SAP Fiori Design Guidelines and incorporate the Fiori 3 design. Web Components are a set of features which allow to enhance the HTML vocabulary with custom HTML elements when the standard HTML elements are not sufficient (for example, a Button with an icon or a DatePicker). The custom HTML elements allow to share those features and qualities in a standard way. The complexity of HTML, CSS and components behavior is encapsulated behind a custom HTML element. The interaction with the custom HTML elements is done using the standard DOM API.


goplayspace - Advanced Go Playground frontend written in Go, with syntax highlighting, turtle graphics mode, and more

  •    Go

Go Play Space is an experimental alternative Go Playground frontend that is built in Go itself (using GopherJS), a Go→JavaScript transpiler, and Vecty, a React-like frontend library for GopherJS). Go Play Space supports the Turtle graphics mode to help visualize algorithms and make learning experience more fun.

webcomponentsjs - A suite of polyfills supporting the HTML Web Components specs

  •    HTML

Note. For polyfills that work with the older Custom Elements and Shadow DOM v0 specs, see the v0 branch. Note. For polyfills that include HTML Imports, see the v1 branch.

document-register-element - A stand-alone working lightweight version of the W3C Custom Elements specification

  •    Javascript

A stand-alone lightweight version of Custom Elements V1 based on top, and compatible with, the battle-tested Custom Elements V0, already used in production with projects such Google AMP HTML ⚡ and others. If you specify noBuiltIn property as true, the V1 API will be polyfilled where needed, but no extra checks and patches will be applied to make custom elements built-in working, since no browser is currently shipping this part of the specification.

slim.js - Fast & Robust Front-End Micro-framework based on modern standards

  •    Javascript

Slim.js is a lightning fast library for development of native Web Components and Custom Elements based on modern standards. No black magic involved, no useless dependencies. It uses ES6+DOM native API to boosts up HTML elements with superpowers.

chrome - GopherJS Bindings for Chrome

  •    Javascript

With the help of the Gopherjs transpiler, you can now write Go code which will be converted into javascript and run in the browser. This library contains the necessary bindings to interact with the Chrome Javascript API in an easy and intuitive way so that you can write Chrome Extensions and Chrome OS apps in Go. The lovely people at Google's Chrome team have written a great post on how to get started building chrome extensions. Within the examples folder you will find a Go version of the JS sample extension they cover in their post.

home-assistant-polymer - :lollipop: Polymer frontend for Home Assistant

  •    HTML

Home Assistant is open-source and Apache 2 licensed. Feel free to browse the repository, learn and reuse parts in your own projects.

NyaoVim - Web-enhanced Extensible Neovim Frontend

  •    TypeScript

This is a Neovim frontend built on Electron. The Neovim editor is composed as a Web Component and users can extend the UI with reusable Web Components, HTML, CSS and JavaScript. Use Vim as a component from a shell or in an IDE.

paper-date-picker - Material design date picker component for polymer

  •    HTML

Provides a responsive date picker based on the material design spec. This component aims to be a clone of the date picker introduced in Android Lollipop. See the component page for full documentation.

ReactiveElements - Allows to use React.js component as HTML element (web component)

  •    Javascript

Original children of a custom element is injected to component as this.props.children. In this case this.props.children is equal to "Hello world".

webcomponents - Web Components specifications

  •    HTML

Web Components specifications

vaadin-core - An evolving set of free, open source web components for building mobile and desktop web applications in modern browsers

  •    HTML

Vaadin core components is the open source part of the Vaadin standards-based Web Components set, which contains high-quality user interface components commonly needed in modern mobile and desktop business web applications. For more information, see the Vaadin components README.

vaadin-grid - vaadin-grid is a free, high quality data grid / data table Web Component

  •    HTML

<vaadin-grid> is a free, high quality data grid / data table Web Component, part of the Vaadin components. The Vaadin components are distributed as Bower and npm packages. Please note that the version range is the same, as the API has not changed. You should not mix Bower and npm versions in the same application, though.

wired-elements - Collection of elements that appear hand drawn. Great for wireframes.

  •    Javascript

Wired Elements is a series of basic UI Elements that have a hand drawn look. These can be used for wireframes, mockups, or just the fun hand-drawn look. The elements are drawn with enough randomness that no two renderings will be exactly the same - just like two separate hand drawn shapes.