gomatcha.io
Matcha is in early development! There are many rough edges and APIs may still change. Please file issues for any bugs you find.
What is Matcha?
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.
Examples
Installation
Matcha requires the following components to be installed. Unfortunately only macOS is supported at this time.
- Go to 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/...
Copy the code
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
Copy the code
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
Copy the code
We can now open the sample iOS project.
open $GOPATH/src/gomatcha.io/matcha/examples/ios-app/SampleApp.xcworkspace
Copy the code
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
Copy the code
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.
Try it out!
- Install the project
- Read the Getting Started guide
- Go through some examples
- Learn the basic concepts
Contact us
- Join the Gophers Slack channel
- Tweet @gomatcha.io on Twitter
- Star us on GitHub
- Email the team