All Projects → guark → Guark

guark / Guark

Licence: mit
Build awesome Golang desktop apps and beautiful interfaces with Vue.js, React.js, Framework 7, and more...

Programming Languages

javascript
184084 projects - #8 most used programming language
go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Guark

Quick Screen Recorder
Lightweight desktop screen recorder for Windows.
Stars: ✭ 80 (-76.05%)
Mutual labels:  desktop, desktop-app, desktop-application
Neel
A Nim library for making Electron-like HTML/JS GUI apps, with full access to Nim capabilities.
Stars: ✭ 144 (-56.89%)
Mutual labels:  desktop-app, gui-application, desktop-application
Thermal
One stop to manage all git repository
Stars: ✭ 321 (-3.89%)
Mutual labels:  desktop, desktop-app, desktop-application
Picview
Fast Picture Viewer with compact UI, that can be hidden. Features image effects, galleries, image info and more. The app can automatically adjusts itself to your screen.
Stars: ✭ 259 (-22.46%)
Mutual labels:  desktop, desktop-app, desktop-application
Chirp
🐦 A cross platform twitter application
Stars: ✭ 129 (-61.38%)
Mutual labels:  desktop, desktop-app, desktop-application
Frameless Titlebar
Customizable Electron Titlebar for frameless windows
Stars: ✭ 167 (-50%)
Mutual labels:  desktop, desktop-app, desktop-application
Raven Reader
📖 All your articles in one place. Beautiful.
Stars: ✭ 2,040 (+510.78%)
Mutual labels:  hacktoberfest, desktop-app, desktop-application
VirtualBLU
A Virtual Assistant for Windows PC with wicked Qt Graphics.
Stars: ✭ 41 (-87.72%)
Mutual labels:  desktop-app, desktop-application
vue-desktop-framework
A framework for making hybrid desktop app powered by electron and vue.
Stars: ✭ 21 (-93.71%)
Mutual labels:  desktop-app, hybrid-apps
ubuntu-first-steps
First steps with Ubuntu
Stars: ✭ 36 (-89.22%)
Mutual labels:  desktop, desktop-application
15 Minute Apps
15 minute (small) desktop apps built with PyQt
Stars: ✭ 3,086 (+823.95%)
Mutual labels:  desktop, desktop-application
gophersnake
Stand-alone Gopher client for modern desktops
Stars: ✭ 14 (-95.81%)
Mutual labels:  desktop-app, desktop-application
fts
🔍 Postgres full-text search (fts)
Stars: ✭ 28 (-91.62%)
Mutual labels:  gui-application, desktop-application
FoldingBrowser
FoldingCoin & CureCoin All-In-One Installer
Stars: ✭ 48 (-85.63%)
Mutual labels:  desktop-app, desktop
Devdocs Desktop
🗂 A full-featured desktop app for DevDocs.io.
Stars: ✭ 3,040 (+810.18%)
Mutual labels:  hacktoberfest, desktop-app
webviewhs
🌐 A Haskell binding to the webview library created by Serge Zaitsev.
Stars: ✭ 109 (-67.37%)
Mutual labels:  desktop-app, desktop
MagicBox
Organize your workspace, keep files optimized, prepare images for publishing
Stars: ✭ 65 (-80.54%)
Mutual labels:  desktop-app, desktop
Fynedesk
A full desktop environment for Linux/Unix using Fyne
Stars: ✭ 286 (-14.37%)
Mutual labels:  hacktoberfest, desktop
Winforms
Windows Forms is a .NET UI framework for building Windows desktop applications.
Stars: ✭ 3,301 (+888.32%)
Mutual labels:  hacktoberfest, desktop
Element Desktop
A glossy Matrix collaboration client for desktop.
Stars: ✭ 290 (-13.17%)
Mutual labels:  hacktoberfest, desktop

Guark

Guark allows you to build beautiful user interfaces using modern web technologies such as Vue.js, React.js..., while your app logic handled and powered by the amazing Go.

InstallationGetting StartedContributingLicense

Guark Vue Template

🖳 About The Project

Guark is an open-source framework to build cross platform desktop GUI applications.

📢 What Guark stands for?

Go + Quark = Guark

🔮 Guark mission

Simplify cross platform desktop apps development.

🎸 How it works

Demo Video: https://youtu.be/_k_tq9sj-do

Guark backend and logic part handled by native Go code, while the user interfaces built with modern web technologies (Vue.js, React.js, etc...), and with Guark javascript API you can communicate between your Go and UI framework, and calling your exported Go functions and plugin(s) methods.

💌 Main Features

  • Desktop applications with GO ♥
  • One codebase for Gnu/Linux, macOS, and Windows.
  • UI Hot Reload.
  • You can use any front end framework.
  • Supports Chrome, and native webview engine or both.
  • Windows MSI bundler builtin.

📜 Installation

1. Install guark CLI tool:

go get -u github.com/guark/guark/cmd/guark

2. Some Requirements:

// fedora
sudo dnf install gtk3-devel webkit2gtk3-devel gcc-c++ pkgconf-pkg-config

// Ubuntu
sudo apt install libgtk-3-dev libwebkit2gtk-4.0-dev build-essential

// Windows
// https://jmeubank.github.io/tdm-gcc/download/

Getting Started

After installing guark CLI tool, the next step is to create a new guark project based on the template that you like:

Create a new project

# cd to empty directory and run:
guark init --template vue --mod github.com/username/appname

Start Dev Server

After creating new project run:

guark run

Export your first GO function to JS API

1. Create a new file in lib/funcs directory:
// lib/funcs/foo_bar.go

import (
    "github.com/guark/guark/app"
)

func FooBar(c app.Context) (interface{}, error) {

   c.App.Log.Debug("Foo bar called")

   return "This is a my return value to javasript", nil
}
2. Then export it to Guark JS API in lib/config.go file:
// Exposed functions to guark Javascript api.
var Funcs = app.Funcs{
    "foo": funcs.FooBar,
}

3. Then you can call your function in javascript:
import g from "guark"

g.call("foo")
    .then(res => console.log(res))
    .catch(err => console.error(err))

See Vue template as an example: https://github.com/guark/vue

Guark Engines:

You can change the engine in guark.yaml file.

  • webview: Uses native system webview.
  • chrome: Uses and requires google chrome.
  • hybrid: Uses chrome if exists in the system, if chrome not available guark will switch to native webview by default.

Build Your App

You can build your app with

guark build

Bundle Windows App

After building your app you can bundle your windows app into msi using WIX.

guark bundle

Wix required!

Install it from: https://wixtoolset.org/

Cross Compiling To Windows From Gnu/Linux:

You can build windows app from your linux based system, using mingw64

1. Install mingw64:

// Fedora
sudo dnf install mingw64-gcc

// Ubuntu
sudo apt install binutils-mingw-w64

2. Configure guark-build.yaml File:

Double check the binary paths in guark-build.yaml.

3. Build The App:

# this command will build and compile linux, and windows app. you can find your compiled apps in `dist/` directory.
guark build --target linux --target windows

You can use any cross compiler for example: guark build --target darwin. just change the options in guark-build.yaml file.

Note

You can also bundle windows app into MSI file from your linux based system via guark bundle, but you need to install wix tools:

# fedora
dnf install msitools

# Ubuntu
sudo apt-get install wixl

Contributing

PRs, issues, and feedback from ninja gophers are very welcomed.

License

Guark is provided under the MIT License.

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