Matcha is in early development! There are many rough edges and APIs may still change. Please file issues for any bugs you find.
Matcha is a package for building iOS and Android applications and frameworks in Go. Matcha provides a UI component library similar to ReactNative and exposes bindings to Objective-C and Java code through reflection. The library also provides Go APIs for common app tasks.
settings-example insta-example todo-example
Matcha requires the following components to be installed. Unfortunately only macOS is supported at this time.
- Go 1.8
- Xcode 8.3
- Android Studio 2.3
- NDK
- Protobuf 3.3 - ObjC and Java
To start, fetch the project and install the matcha command.
go get gomatcha.io/matcha/...
We build the Go standard library for iOS and Android with the following command.
This may take awhile. The output is installed at $GOPATH/pkg/matcha. If your
path doesn't contain $GOPATH/bin, you may need to replace these calls with
$GOPATH/bin/matcha.
matcha init
Now build the example project. The output is installed at $GOPATH/src/gomatcha.io/matcha/ios/MatchaBridge/MatchaBridge/MatchaBridge.a and $GOPATH/src/gomatcha.io/matcha/android/matchabridge.aar.
matcha build gomatcha.io/matcha/examples
We can now open the sample iOS project.
open $GOPATH/src/gomatcha.io/matcha/examples/ios-app/SampleApp.xcworkspace
Set the Development Team in Xcode under General > Signing and select SampleApp in
the target dropdown in the upper right. Then run the App!
For Android simply open the sample Android Studio project and hit run!
open -a /Applications/Android\ Studio.app $GOPATH/src/gomatcha.io/matcha/examples/android-app/SampleApp
You can try out other
examples by replacing
"gomatcha.io/matcha/examples/settings New" in AppDelegate.m and MainActivity.java
with the name of the example.
- Install the project
- Read the Getting Started guide
- Go through some examples
- Learn the basic concepts
- Join the Gophers Slack channel
- Tweet @gomatcha.io on Twitter
- Star us on GitHub
- Email the team