{"id":13393838,"url":"https://github.com/gomatcha/matcha","last_synced_at":"2025-05-15T12:02:03.422Z","repository":{"id":45729401,"uuid":"98942693","full_name":"gomatcha/matcha","owner":"gomatcha","description":"Build native mobile apps in Go.","archived":false,"fork":false,"pushed_at":"2018-09-13T22:07:28.000Z","size":8025,"stargazers_count":3488,"open_issues_count":21,"forks_count":161,"subscribers_count":85,"default_branch":"master","last_synced_at":"2025-04-14T19:59:16.314Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://gomatcha.io/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gomatcha.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-01T00:46:03.000Z","updated_at":"2025-04-13T10:59:50.000Z","dependencies_parsed_at":"2022-09-14T03:01:36.276Z","dependency_job_id":null,"html_url":"https://github.com/gomatcha/matcha","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gomatcha%2Fmatcha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gomatcha%2Fmatcha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gomatcha%2Fmatcha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gomatcha%2Fmatcha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gomatcha","download_url":"https://codeload.github.com/gomatcha/matcha/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254337612,"owners_count":22054253,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T17:01:01.167Z","updated_at":"2025-05-15T12:01:58.384Z","avatar_url":"https://github.com/gomatcha.png","language":"Go","readme":"# Matcha - iOS and Android apps in Go\n\n[gomatcha.io](https://gomatcha.io)\n\nMatcha is in early development! There are many rough edges and APIs may still\nchange. Please file issues for any bugs you find.\n\n### What is Matcha?\n\nMatcha is a package for building iOS and Android applications and frameworks in\nGo. Matcha provides a UI component library similar to ReactNative and exposes\nbindings to Objective-C and Java code through reflection. The library also\nprovides Go APIs for common app tasks.\n\n### Examples\n\n[![settings-example](docs/settings.gif)](https://github.com/gomatcha/matcha/tree/master/examples/settings)\n[![insta-example](docs/insta.gif)](https://github.com/gomatcha/matcha/tree/master/examples/insta)\n[![todo-example](docs/todo.gif)](https://github.com/gomatcha/matcha/tree/master/examples/todo)\n\n### Installation - macOS\n\nMatcha requires the following components to be installed.\n\n* Go 1.8+\n* Xcode 8.3+\n* Android Studio 2.3+ (with SDK 26, NDK and Android Support)\n\nStart by installing Xcode and Android Studio. Instructions can be found at\nhttps://developer.apple.com/download/ and\nhttps://developer.android.com/studio/install.html.\n\nYou may need to run the following before starting Android Studio to allow it to read\nyour GOPATH (https://stackoverflow.com/a/14285335). This also must be done on\nreboot.\n\n    launchctl setenv GOPATH $GOPATH\n\nOpen Android Studio's SDK Manager and under the SDK Platforms tab, install\nthe Android 8 Platform (API 26). And in the SDK Tools tab, install NDK and the\nAndroid Support Repository.\n\nConfigure the ANDROID_HOME enviromental variable to point to the Android SDK by \nadding the following to your ~/.bash_profile. The Android SDK is \noften located at `~/Library/Android/sdk` depending on your install.\n\n    export ANDROID_HOME=\u003cSDK location\u003e\n\nFetch the project and install the matcha command.\n\n    go get gomatcha.io/matcha/...\n\nNext we build the Go standard library for iOS and Android with the following command.\nThe output is installed at `$GOPATH/pkg/matcha`. If your\npath doesn't contain `$GOPATH/bin`, you may need to replace these calls with\n`$GOPATH/bin/matcha`.\n\n    matcha init\n\nNow 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`.\n\n    matcha build gomatcha.io/matcha/examples\n\nWe can now open the sample iOS project.\n\n    open $GOPATH/src/gomatcha.io/matcha/examples/ios-app/SampleApp.xcworkspace\n    \nSet the Development Team in Xcode under General \u003e Signing and select `SampleApp` in\nthe target dropdown in the upper right. Then run the App!\n\nFor Android, simply open the sample Android Studio project and hit run!\n\n    open -a /Applications/Android\\ Studio.app $GOPATH/src/gomatcha.io/matcha/examples/android-app/SampleApp\n\n### Installation - Linux\n\nMatcha requires the following components to be installed. iOS builds are not\nsupported on Linux.\n\n* Go 1.8+\n* Android Studio 2.3+ (with SDK 26, NDK and Android Support Library)\n\nStart by installing Android Studio. Instructions can be found at\nhttps://developer.android.com/studio/install.html. \n\nOpen Android Studio's SDK Manager and under the SDK Platforms tab, install\nthe Android 8 Platform (API 26). And in the SDK Tools tab, install NDK and the\nAndroid Support Repository.\n\nConfigure the ANDROID_HOME enviromental variable to point to the Android SDK by \nadding the following to your ~/.bash_profile. The Android SDK is often located \nat ~/Android/Sdk depending on your install.\n\n    export ANDROID_HOME=\u003cSDK location\u003e\n\nAdditionally add the following to your ~/.bash_profile to modify your PATH to\ninclude the Java compiler if it does not already. javac can often be found at \n`/usr/local/android-studio/jre/bin`.\n\n    export PATH=${PATH}:\u003cJava Compiler location\u003e\n\nFetch the project and install the matcha command.\n\n    go get gomatcha.io/matcha/...\n\nNext we build the Go standard library for Android with the following command.\nThe output is installed at `$GOPATH/pkg/matcha`. If your\npath doesn't contain `$GOPATH/bin`, you may need to replace these calls with\n`$GOPATH/bin/matcha`.\n\n    matcha init\n\nNow build the example project. The output is installed at `$GOPATH/src/gomatcha.io/matcha/android/matchabridge.aar`.\n\n    matcha build gomatcha.io/matcha/examples\n\nNow open the sample Android Studio project and hit run!\n\n    \u003cAndroid Studio location\u003e/bin/studio.sh $GOPATH/src/gomatcha.io/matcha/examples/android-app/SampleApp\n\n### Installation - Windows\n\nMatcha requires the following components to be installed. iOS builds are not\nsupported on Windows.\n\n* Go 1.8+\n* Android Studio 2.3+ (with SDK 26, NDK and Android Support Library)\n\nStart by installing Android Studio. Instructions can be found at\nhttps://developer.android.com/studio/install.html. \n\nOpen Android Studio's SDK Manager and under the SDK Platforms tab, install\nthe Android 8 Platform (API 26). And in the SDK Tools tab, install NDK and the\nAndroid Support Repository.\n\nConfigure the ANDROID_HOME enviromental variable to point to the Android SDK.\nThe Android SDK is often located at `%USERPROFILE%\\AppData\\Local\\Android\\Sdk` \ndepending on your install. \n\n    setx ANDROID_HOME \u003cSDK location\u003e\n\nModify your PATH to include the Java compiler if it does not already. javac can\noften be found at C:\\Program Files\\Android\\Android Studio\\jre\\bin.\n\n    setx PATH %PATH%;\u003cJava Compiler location\u003e\n\nFetch the project and install the matcha command.\n\n    go get gomatcha.io/matcha/...\n\nNext we build the Go standard library for Android with the following command.\nThe output is installed at `$GOPATH/pkg/matcha`. If your path doesn't contain\n`$GOPATH/bin`, you may need to replace these calls with `$GOPATH/bin/matcha`.\n\n    matcha init\n\nNow build the example project. The output is installed at `$GOPATH/src/gomatcha.io/matcha/android/matchabridge.aar`.\n\n    matcha build gomatcha.io/matcha/examples\n\nNow open the sample Android Studio project and hit run!\n\n\n\u003ch3\u003eTry it out!\u003c/h3\u003e\n\u003cul\u003e\n    \u003cli\u003e\u003ca href=\"https://gomatcha.io/guide/installation/\"\u003eInstall\u003c/a\u003e the project\u003c/li\u003e\n    \u003cli\u003eRead the \u003ca href=\"https://gomatcha.io/guide/getting-started/\"\u003eGetting Started\u003c/a\u003e guide\u003c/li\u003e\n    \u003cli\u003eGo through some \u003ca href=\"https://github.com/gomatcha/matcha/tree/master/examples\"\u003eexamples\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003eLearn the \u003ca href=\"https://gomatcha.io/guide/concepts/\"\u003ebasic concepts\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContact us\u003c/h3\u003e\n\u003cul\u003e\n    \u003cli\u003eJoin the Gophers \u003ca href=\"https://gophers.slack.com/messages/matcha\"\u003eSlack\u003c/a\u003e channel\u003c/li\u003e\n    \u003cli\u003eTweet \u003ca href=\"http://twitter.com/gomatchaio\"\u003e@gomatcha.io\u003c/a\u003e on Twitter\u003c/li\u003e\n    \u003cli\u003eStar us on \u003ca href=\"https://github.com/gomatcha/matcha\"\u003eGitHub\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"mailto:kevin@gomatcha.io\"\u003eEmail\u003c/a\u003e the team\u003c/li\u003e\n\u003c/ul\u003e\n","funding_links":[],"categories":["Go","Uncategorized"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgomatcha%2Fmatcha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgomatcha%2Fmatcha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgomatcha%2Fmatcha/lists"}