All Projects → sciter-sdk → Go Sciter

sciter-sdk / Go Sciter

Golang bindings of Sciter: the Embeddable HTML/CSS/script engine for modern UI development

Programming Languages

go
31211 projects - #10 most used programming language
C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Go Sciter

Vdm
GUI for command-line video downloader (youtube-dl annie)
Stars: ✭ 1,910 (-16.23%)
Mutual labels:  gui
Glow
mpv Config File Generator for Windows
Stars: ✭ 167 (-92.68%)
Mutual labels:  gui
Ugui Mvvm
Unity3D uGUI mvvm databinding via the standard IXChanged interfaces used in wpf (INotifyPropertyChanged, INotifyCollectionChanged, etc)
Stars: ✭ 169 (-92.59%)
Mutual labels:  gui
Panandzoom
Pan and zoom control for Avalonia.
Stars: ✭ 159 (-93.03%)
Mutual labels:  gui
Porymap
Map editor for pokeemerald, pokefirered, and pokeruby
Stars: ✭ 164 (-92.81%)
Mutual labels:  gui
Qui
【此项目作者为刘典武,不是我自己的原创项目,望周知。也请大家不要骚扰刘典武。】一个用Qt开发的用来生成QSS文件的小程序,附简单Demo,主程序本身也可以看作一个很好的Demo。
Stars: ✭ 168 (-92.63%)
Mutual labels:  gui
Vuegg
🐣 vue GUI generator
Stars: ✭ 2,056 (-9.82%)
Mutual labels:  gui
Flameshot
Powerful yet simple to use screenshot software 🖥️ 📸
Stars: ✭ 15,429 (+576.71%)
Mutual labels:  gui
Plutonium
An easy-to-use UI framework for Nintendo Switch homebrew
Stars: ✭ 166 (-92.72%)
Mutual labels:  gui
Libui.cr
Crystal-lang bindings for libui
Stars: ✭ 169 (-92.59%)
Mutual labels:  gui
Flowframes
Flowframes Windows GUI for video interpolation using DAIN (NCNN) or RIFE (CUDA/NCNN)
Stars: ✭ 157 (-93.11%)
Mutual labels:  gui
Dial
A Rotary Dial menu for input numbers
Stars: ✭ 162 (-92.89%)
Mutual labels:  gui
Gooi
LÖVE GUI Library
Stars: ✭ 168 (-92.63%)
Mutual labels:  gui
Chameleonmini Rebootedgui
Windows based GUI for Chameleon Mini, the contactless smartcard emulator (NFC/RFID)
Stars: ✭ 159 (-93.03%)
Mutual labels:  gui
Amplesdk
Ample SDK - JavaScript UI Framework
Stars: ✭ 169 (-92.59%)
Mutual labels:  gui
Oni
Oni: Modern Modal Editing - powered by Neovim
Stars: ✭ 11,466 (+402.89%)
Mutual labels:  gui
Autopilot Rs
A simple, cross-platform GUI automation module for Rust.
Stars: ✭ 168 (-92.63%)
Mutual labels:  gui
Awesome Python Applications
💿 Free software that works great, and also happens to be open-source Python.
Stars: ✭ 13,275 (+482.24%)
Mutual labels:  gui
Cloudexplorer
Cloud Explorer
Stars: ✭ 170 (-92.54%)
Mutual labels:  gui
Legui
Java OpenGL GUI library. Created for using with latest LWJGL (LWJGL 3).
Stars: ✭ 167 (-92.68%)
Mutual labels:  gui

Go bindings for Sciter

Build status Build Status License Join the forums at https://sciter.com/forums

Check this page for other language bindings (Delphi / D / Go / .NET / Python / Rust).


Attention

The ownership of project is transferred to this new organization. Thus the import path for golang should now be github.com/sciter-sdk/go-sciter, but the package name is still sciter.

Introduction

This package provides a Golang bindings of Sciter using cgo. Using go sciter you must have the platform specified sciter dynamic library downloaded from sciter-sdk, the library itself is rather small (under 5MB, less than 2MB when upxed) .

Most Sciter API are supported, including:

  • Html string/file loading
  • DOM manipulation/callback/event handling
  • DOM state/attribute handling
  • Custom resource loading
  • Sciter Behavior
  • Sciter Options
  • Sciter Value support
  • NativeFunctor (used in sciter scripting)

And the API are organized in more or less a gopher friendly way.

Things that are not supported:

  • Sciter Node API
  • TIScript Engine API

Getting Started

At the moment only Go 1.10 or higher is supported (issue #136).

  1. Download the sciter-sdk

  2. Extract the sciter runtime library from sciter-sdk to system PATH

    The runtime libraries lives in bin bin.lnx bin.osx with suffix like dll so or dylib

    • Windows: simply copying bin\64\sciter.dll to c:\windows\system32 is just enough
    • Linux:
      • cd sciter-sdk/bin.lnx/x64
      • export LIBRARY_PATH=$PWD
      • echo $PWD >> libsciter.conf
      • sudo cp libsciter.conf /etc/ld.so.conf.d/
      • sudo ldconfig
      • ldconfig -p | grep sciter should print libsciter-gtk.so location
    • OSX:
      • cd sciter-sdk/bin.osx/
      • export DYLD_LIBRARY_PATH=$PWD
  3. Set up GCC envrionmnet for CGO

    mingw64-gcc (5.2.0 and 7.2.0 are tested) is recommended for Windows users.

    Under Linux gcc(4.8 or above) and gtk+-3.0 are needed.

  4. go get -x github.com/sciter-sdk/go-sciter

  5. Run the example and enjoy :)

Sciter Desktop UI Examples

Sciter Version Support

Currently supports Sciter version 4.0.0.0 and higher.

About Sciter

Sciter is an Embeddable HTML/CSS/script engine for modern UI development, Web designers, and developers, can reuse their experience and expertise in creating modern looking desktop applications.

In my opinion, Sciter , though not open sourced, is an great desktop UI development envrionment using the full stack of web technologies, which is rather small (under 5MB) especially compared to CEF,Node Webkit and Atom Electron. :)

Finally, according to Andrew Fedoniouk the author and the Sciter END USER LICENSE AGREEMENT , the binary form of the Sciter dynamic libraries are totally free to use for commercial or non-commercial applications.

The Tailored Sciter C Headers

This binding ueses a tailored version of the sciter C Headers, which lives in directory: include. The included c headers are a modified version of the sciter-sdk standard headers.

It seems Sciter is developed using C++, and the included headers in the Sciter SDK are a mixture of C and C++, which is not quite suitable for an easy golang binding.

I'm not much fond of C++ since I started to use Golang, so I made this modification and hope Andrew Fedoniouk the author would provide pure C header files for Sciter. :)

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