Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
RadhiFadlillah committed Jan 6, 2019
1 parent 466e82a commit 98e68ce
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 2 deletions.
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2019 Radhi

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
30 changes: 28 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,46 @@
Qamel
-----

[![GoDoc](https://godoc.org/github.com/RadhiFadlillah/qamel?status.png)](https://godoc.org/github.com/RadhiFadlillah/qamel)
[![Donate](https://img.shields.io/badge/donate-PayPal-green.svg)](https://www.paypal.me/RadhiFadlillah)

Qamel is a simple QML binding for Go, heavily inspired by [`therecipe/qt`](https://github.com/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 to create proprietary app.
- 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.
- 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.

### Limitation

- I've only tested this in Linux, so I can't vouch for other 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.
- When declaring custom QML object, this binding only [supports](https://github.com/RadhiFadlillah/qamel/wiki/QmlObject-Documentation) 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 PC, I only able to test cross compiling from Linux to Windows.

### Development Status

First of all, 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](https://github.com/RadhiFadlillah/qamel/wiki) and [GoDoc](https://godoc.org/github.com/RadhiFadlillah/qamel). There are some important sections in wiki that we recommend you to check before you start developing your QML app :

- [Frequently Asked Questions](https://github.com/RadhiFadlillah/qamel/wiki/Frequently-Asked-Questions-(FAQ))
- [Installation](https://github.com/RadhiFadlillah/qamel/wiki/Installation)
- [Getting Started](https://github.com/RadhiFadlillah/qamel/wiki/Getting-Started)
- [CLI Usage](https://github.com/RadhiFadlillah/qamel/wiki/CLI-Usage)

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

- [Qt QML](http://doc.qt.io/qt-5/qtqml-index.html)
- [QML Reference](http://doc.qt.io/qt-5/qmlreference.html)
- [All QML Types](http://doc.qt.io/qt-5/qmltypes.html)

For demo, you can check out [Qamel-HN](https://github.com/RadhiFadlillah/qamel-hn), a HackerNews reader built with QML and Go.

### Licenses

Qamel is distributed under [MIT license](https://choosealicense.com/licenses/mit/), 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.

0 comments on commit 98e68ce

Please sign in to comment.