{"id":13603910,"url":"https://github.com/wuba/taro-playground","last_synced_at":"2025-05-16T09:03:55.607Z","repository":{"id":37341902,"uuid":"406196271","full_name":"wuba/taro-playground","owner":"wuba","description":"The Taro Playground App is a cross-platform application developed using Taro, to help developers develop and debug Taro applications. ","archived":false,"fork":false,"pushed_at":"2024-11-22T07:52:53.000Z","size":39176,"stargazers_count":276,"open_issues_count":26,"forks_count":56,"subscribers_count":24,"default_branch":"releases/v1.11.0","last_synced_at":"2025-04-09T04:03:33.599Z","etag":null,"topics":["android","app","developer-tools","expo","fastlane","ios","javascript","metro","miniprogram","playground","react","react-native","react-native-app","taro","typescript"],"latest_commit_sha":null,"homepage":"https://wuba.github.io/taro-playground/","language":"TypeScript","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/wuba.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-14T02:23:38.000Z","updated_at":"2025-04-08T05:13:32.000Z","dependencies_parsed_at":"2024-01-03T11:29:49.357Z","dependency_job_id":"a8388f76-4413-41e2-8d83-0880708c763d","html_url":"https://github.com/wuba/taro-playground","commit_stats":{"total_commits":340,"total_committers":17,"mean_commits":20.0,"dds":0.2617647058823529,"last_synced_commit":"936c4d4059538c7427edd74849aeb4c313e2439c"},"previous_names":[],"tags_count":245,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wuba%2Ftaro-playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wuba%2Ftaro-playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wuba%2Ftaro-playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wuba%2Ftaro-playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wuba","download_url":"https://codeload.github.com/wuba/taro-playground/tar.gz/refs/heads/releases/v1.11.0","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501556,"owners_count":22081528,"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":["android","app","developer-tools","expo","fastlane","ios","javascript","metro","miniprogram","playground","react","react-native","react-native-app","taro","typescript"],"created_at":"2024-08-01T19:00:36.346Z","updated_at":"2025-05-16T09:03:55.582Z","avatar_url":"https://github.com/wuba.png","language":"TypeScript","funding_links":[],"categories":["示例项目"],"sub_categories":["Taro 3.2"],"readme":"Taro Playground App\n====\n\nThe Taro Playground App is a cross-platform application developed using Taro, to help developers develop and debug Taro applications. It is initialized using [taro react native template](https://github.com/nervjs/taro-project-templates/tree/v3.1/react-native).\n\n## Preview\n\n| Android | iOS | Web | Mini Program |\n| - | - | - | - |\n| ![](https://pic3.58cdn.com.cn/nowater/fangfe/n_v295dd481b6b2f446592350e3187716d03.png) | ![](https://pic1.58cdn.com.cn/nowater/fangfe/n_v224532e5560314106b6ab32b0a1534a9d.png) | ![](https://pic5.58cdn.com.cn/nowater/frs/n_v2d585527f52e640679cdd37123a418fe3.png) | ![](https://pic3.58cdn.com.cn/nowater/frs/n_v23ec2613515c6458aaa44f01d459cea8b.jpg) |\n| https://github.com/wuba/taro-playground/releases | https://apps.apple.com/cn/app/taro-playground/id1576830673 | https://wuba.github.io/taro-playground/ | https://github.com/wuba/taro-playground |\n\n### iOS testflight link\n\nhttps://testflight.apple.com/join/RDFCp2yy\n\n## Supported versions\n\n0. taro: `@tarojs/cli@^3.2.0`\n1. framework: 'react'\n\n| Playground Version | Taro version | React Native version | branch |\n| - | - | - | - |\n| 1.1.2 | \u003e= 3.2.0, \u003c 3.3.10 | 0.64 | [releases/rn-0.64+taro-3.3.9](https://github.com/wuba/taro-playground/tree/releases/rn-0.64+taro-3.3.9) |\n| 1.2.0 ~ 1.3.9 | \u003e= 3.3.10, \u003c 3.4.2 | 0.66 | [releases/rn-0.66+taro-3.4.2](https://github.com/wuba/taro-playground/tree/releases/rn-0.66+taro-3.4.2) |\n| 1.4.0 ~ 1.4.8 | \u003e= 3.4.2, \u003c 3.5.0 | 0.67 | [releases/rn-0.67+taro-3.4.10](https://github.com/wuba/taro-playground/tree/releases/rn-0.67+taro-3.4.10) |\n| 1.6.0 ~ 1.6.5 | \u003e= 3.5.0, \u003c 3.5.6 | 0.68 | [releases/rn-0.68+taro-3.5.5](https://github.com/wuba/taro-playground/tree/releases/rn-0.68+taro-3.5.5) |\n| 1.7.0 ~ 1.7.4 | \u003e=3.5.6, \u003c 3.6.0 | 0.69 | [releases/rn-0.69+taro-3.5.11](https://github.com/wuba/taro-playground/tree/releases/rn-0.69+taro-3.5.11) |\n| 1.8.0 ~ 1.8.2 | \u003e=3.5.6, \u003c 4.0.0 | 0.70 | [releases/rn-0.70+taro-3.6.18](https://github.com/wuba/taro-playground/tree/releases/rn-0.70+taro-3.6.18) |\n| 1.11.0 ~ | \u003e=4.0.8 | 0.73 | [main](https://github.com/wuba/taro-playground/tree/main) |\n\n## Quick start\n\n### install react native library\n\u003e install peerDependencies of `@tarojs/taro-rn` `@tarojs/components-rn` and `@tarojs/router-rn`, it will also run `post-install`. please modify and run `upgradePeerdeps` script when you change taro version.\n\u003e \n\u003e **run this script after the project is initialized.**\n\n```\nyarn upgradePeerdeps\n```\n\n### pod install\n\u003e run this script when you add new react native library or update react native library version.\n\u003e \n\u003e see [pod-install](https://www.npmjs.com/package/pod-install) for more information.\n\n```\nyarn podInstall\n```\n\n### start ios app\n\n```\nyarn ios\n```\n\n### start android app\n\n```\nyarn android\n```\n\n### start bundler\n\n```\nyarn start\n```\n\n### reset cache and start bundler\n\n```\nyarn start --reset-cache\n```\n\n### more information\n\n0. [development process of taro react native](https://taro-docs.jd.com/taro/docs/react-native)\n1. [github address of the taro project](https://github.com/NervJS/taro)\n2. [related articles of taro playground](https://docs.taro.zone/blog/2021-10-14-Taro-React-Native-update)\n\n## Release\n\n### build ios bundle\n\n```\nyarn build:rn --platform ios\n```\n\n### build Android bundle\n\n```\nyarn build:rn --platform android\n```\n\n### release ios APP\n\nsee [publishing-to-app-store](https://reactnative.cn/docs/publishing-to-app-store) for details.\n\n### release android apk\n\nsee [signed-apk-android](https://reactnative.cn/docs/signed-apk-android) for details.\n\n## Github workflows\n\u003e use github actions to build your apps. this template include basic github action config.\n\nsee [.github/workflows](.github/workflows) for details.\n\n### events\n\nwe assemble debug and release product for both android and ios when you push or pull request on master branch by default. design your own pipeline by modify [.github/workflows](.github/workflows) files.\n\nsee [events-that-trigger-workflows](https://docs.github.com/en/actions/reference/events-that-trigger-workflows) \n### ios\n\n#### configuration\n\nModify the following configuration items for package and publish your app.\n\n\u003e [.github/workflows/assemble_ios_debug.yml](.github/workflows/assemble_ios_debug.yml)\n\u003e [.github/workflows/assemble_ios_release.yml](.github/workflows/assemble_ios_release.yml)\n\n```yml\nenv:\n  APP_ID: com.taro.demo # Application Product Bundle Identifier\n  APP_NAME: Taro Demo # The Display Name of your app\n  VERSION_NUMBER: 1.0.0 # Application version number\n  BUILD_NUMBER: 1.0.0.0 # Application build number, used by release only.\n  TEAM_ID: XXXXXXXXXX # Team ID, is used when upgrading project\n  PROVISIONING_PROFILE_SPECIFIER: Product_profile # Provisioning profile name to use for code signing\n  CODE_SIGN_IDENTITY: iPhone Distribution # Code signing identity type (iPhone Developer, iPhone Distribution)\n  SIGNING_CERTIFICATE_P12_DATA: ${{secrets.RELEASE_SIGNING_CERTIFICATE_P12_DATA}}\n  SIGNING_CERTIFICATE_PASSWORD: ${{secrets.RELEASE_SIGNING_CERTIFICATE_PASSWORD}}\n  PROVISIONING_PROFILE_DATA: ${{secrets.RELEASE_PROVISIONING_PROFILE_DATA}}\n  APP_STORE_CONNECT_USERNAME: ${{secrets.APP_STORE_CONNECT_USERNAME}} # This secret should be set to the Apple ID of your developer account, used by release only.\n  APP_STORE_CONNECT_PASSWORD: ${{secrets.APP_STORE_CONNECT_PASSWORD}} # used by release only.\n```\n\nvalues like ${{secrets.xxxxx}} are manually generated and store in your github encrypted secrets.\n\n##### SIGNING_CERTIFICATE_P12_DATA\n\n```\ncat Certificates.p12 | base64 | pbcopy\n```\n\n##### SIGNING_CERTIFICATE_PASSWORD\n\nencryption password of your Personal Information Exchange (.p12)\n\n##### PROVISIONING_PROFILE_DATA\n\n```\ncat profile.mobileprovision | base64 | pbcopy\n```\n\n##### APP_STORE_CONNECT_PASSWORD\n\nThis secret should be set to an application-specific password for your Apple ID account. Follow [these instructions](https://support.apple.com/en-us/HT204397) to create an application-specific password.\n\n#### read more\n\n1. [deploy an ios app to testflight or the app store using github actions](https://betterprogramming.pub/deploy-an-ios-app-to-testflight-or-the-app-store-using-github-actions-c4d7082b1430)\n2. [encrypted-secrets](https://docs.github.com/en/actions/reference/encrypted-secrets)\n3. [fastlane](https://docs.fastlane.tools/)\n\n### android\n\n#### configuration\n\nModify the following configuration items for package and publish your app.\n\n\u003e [.github/workflows/assemble_android_debug.yml](.github/workflows/assemble_android_debug.yml)\n\u003e [.github/workflows/assemble_android_release.yml](.github/workflows/assemble_android_release.yml)\n\n```yml\nenv:\n  APP_ID: com.taro.demo  # Application Product Bundle Identifier\n  APP_NAME: Taro Demo  # The Display Name of your app\n  VERSION_NAME: 1.0.0 # version name\n  VERSION_CODE: 10 # version code\n  KEYSTORE_FILE: debug.keystore # key store file\n  KEYSTORE_PASSWORD: android # key store password\n  KEYSTORE_KEY_ALIAS: androiddebugkey # key store key alias\n  KEYSTORE_KEY_PASSWORD: android # key store key password\n```\n\nFor the security of your app, please regenerate the .keystore file and store the password in your github encrypted secrets.\n#### read more\n\n1. [app signing](https://developer.android.com/studio/publish/app-signing)\n2. [encrypted-secrets](https://docs.github.com/en/actions/reference/encrypted-secrets)\n\n## Web \u0026 Mini Program support\n\nThis project supports web and mini program, but it has not been fully tested.\n\n### start web server\n\n```shell\nyarn dev:h5\n```\n\n### Github workflows of Web\n\nsee [peaceiris/actions-gh-pages](https://github.com/peaceiris/actions-gh-pages) for more details.\n\n### start wechat mini program\n\n```shell\nyarn dev:weapp\n```\n\n### Github workflows of Wechat Mini Program\n\n#### configuration\n\nWe use [@tarojs/plugin-mini-ci](https://github.com/NervJS/taro/tree/next/packages/taro-plugin-mini-ci) to deploy mini programs. Modify the following configuration items for package and publish your wechat mini program.\n\n\u003e [.github/workflows/assemble_weapp_release.yml](.github/workflows/assemble_weapp_release.yml)\n\n```yml\nenv:\n  WEAPP_ID: ${{ secrets.WEAPP_ID }} # wechat mini program id\n  WEAPP_KEY: ${{ secrets.WEAPP_KEY }} # wechat mini program key\n```\n\nvalues like ${{secrets.xxxxx}} are manually generated and store in your github encrypted secrets.\n\n##### WEAPP_KEY\n\n```\ncat private.$WEAPP_ID.key | base64 | pbcopy\n```\n\n## Attention\n\nThe source code is customized for the Taro playground application and is for reference only. If you want to use it directly, please make the following changes.\n\n0. Use your own signature file.\n1. Customize your app id, app name, app launcher, etc.\n2. Remove the attention block in ios/Podfile.\n\n## For React Native repo debugging\n\n0. Change appName to `taroDemo`, which used in `AppRegistry.registerComponent(appName, () =\u003e App);`.\n1. Generate a QR code with content `taro://${ip}:${port}` or shaking the phone and change bundle Location.\n\n## Contributing\n\nWe sincerely hope that developers can provide valuable comments and suggestions, and developers can provide feedback on suggestions and problems by submitting PR or Issue.\n\nIf you have other questions, you can join the communication group for help.\n\n![](https://pic8.58cdn.com.cn/nowater/fangfe/n_v282625210493c4a3fac202d6cf372458e.png)\n\n## License\n\nTaro Playground source code is available under the Apache License V2.\n\nTaro and its graphic trademarks are owned by Beijing Jingdong Century Trading Co., Ltd. and licensed to the Taro Playground project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwuba%2Ftaro-playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwuba%2Ftaro-playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwuba%2Ftaro-playground/lists"}