Giter Club home page Giter Club logo

go-ultralight's Introduction

Go Report Card GoDoc Build Status codecov

Go-Ultralight

Please read the installation instructions below

Go-Ultralight provides unofficial bindings for the Ultralight UI library, endeavouring to match the original API as closely as possible. This project borrows heavily from the wonderful work of Raff found here.

What is Ultralight?

Ultralight (https://ultralig.ht) is a HTML UI library, written in C++, that provides a performant and lightweight alternative to Electron, with JavaScript support.

Licensing

While this wrapper is open-source, the Ultralight project is not. Use of the binaries downloaded either manually or using the tool must be in accordance with their licensing terms. Usage is free for non-commercial applications, with the full pricing hierarchy available on the website linked below:

https://ultralig.ht/#pricing

Installation

Prerequisites

You must have a working CGo installation and have the GOPATH set.

All Methods

  1. Run:

    go get -d github.com/maneac/go-ultralight/...

    to download the project and the installation and setup utility. Then, install the optional utility:

    go install github.com/maneac/go-ultralight/go-ultralight

Automated

  1. Navigate to your project's directory and execute:

    go-ultralight [OPTIONS]

    to automatically download the Ultralight SDK and copy the necessary binaries for running your application. For more information on the available options, please read the utility's help (go-ultralight --help).
  2. That's it! Now you're ready to Go-Ultralight!

Manual

  1. Download the Ultralight SDK for your system from https://ultralig.ht.

  2. Locate your installation of Go-Ultralight (typically in $GOPATH/src/github.com/maneac/go-ultralight or $GOPATH/pkg/mod/github.com/maneac/go-ultralight), and extract the Ultralight SDK into an 'SDK' folder inside. Example structure:

    github.com
      |-maneac
        |-go-ultralight
          |-go-ultralight
          |-examples
          |-SDK
       	    |-bin
                |-AppCore.dll
                |-AppCore.dylib
       	        |-libAppCore.so
                |-...
            |-deps
            |-include
            ...
    
  3. Copy the binary files (*.dylib, *.dll, *.so) for your target system type from the 'SDK/bin' folder into your project directory. Example project directory:

    exampleProject
      |-AppCore.dll
      |-main.go
      |-Ultralight.dll
      |-UltralightCore.dll
      |-WebCore.dll
    

Use

If you are a non-Windows user, run the following to enable detection of the binaries:

export CGO_LDFLAGS_ALLOW=-Wl,-rpath.*

After installation, use the setup utility go-ultralight , or follow step 4 of the manual installation to copy the necessary binary files to your project directory. These files are required to run the compiled program.

Please build your project with go build instead of using go run, as run has been known to cause issues with the Browser example.

For examples, please see the 'examples' directory, which contains Go implementations of the sample projects provided with the Ultralight SDK.

To Do

  • Add support for inspector view
  • Write tests

Last updated: 17/05/2020

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.