Git Product home page Git Product logo

qamel's Introduction

Qamel

GoDoc Docker Donate Donate

Qamel is a simple QML binding for Go, heavily inspired by therecipe/qt. This package only binds Qt's classes that used for creating a simple QML app, i.e. QApplication, QQuickView and QQMLApplicationEngine. It's still work-in progress, however it should be stable enough to use in production (as in I'm already using it in prod without problem, your situations may vary).

Features

  • Published under MIT License, which means you can use this binding for whatever you want.
  • Since it only binds the small set of Qt's class, the build time is quite fast.
  • It's available as Docker image, which means you can create QML app without installing Qt in your PC. Go is still needed though.
  • The binding itself is really simple and small. I also think I did a good job on commenting my code, so people should be able to fork it easily.
  • It supports live reload which is really useful while working on GUI.

Limitation

  • I've only tested this in Linux and Windows, so I'm not sure about Mac OS. It should works though, since the code itself is really simple.
  • When declaring custom QML object, this binding only supports basic data type, i.e. int, int32, int64, float32, float64, bool and string. For other data type like struct, array or map, you have to use string type and pass it as JSON value.
  • Thanks to Go and Qt, in theory, the app built using this binding can be cross compiled from and to Windows, Linux and MacOS. However, since I only have Linux and Windows PC, I only able to test cross compiling between Linux and Windows.

Development Status

I've created this binding for my job, so it's actively maintained. However, since I created it for the sake of the job, if the issues are not critical and doesn't affect my job or workflow, it might take a long time before I work on it. Therefore, all PRs and contributors will always be welcomed.

Resources

All documentation for this binding is available in wiki and GoDoc. There are some important sections in wiki that I recommend you to check before you start developing your QML app :

You might also want to check Qt's official documentation about QML :

For demo, you can check out Qamel-HN, a HackerNews reader built with QML and Go.

Licenses

Qamel is distributed under MIT license, which means you can use and modify it however you want. However, if you make an enhancement for it, if possible, please send a pull request. If you like this project, please consider donating to me either via PayPal or Ko-Fi.

qamel's People

Contributors

fcying avatar neclepsio avatar radhifadlillah avatar

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.