{"id":24129533,"url":"https://github.com/luandro/react-native-patchql","last_synced_at":"2025-10-18T17:18:28.219Z","repository":{"id":38959795,"uuid":"186065911","full_name":"luandro/react-native-patchql","owner":"luandro","description":null,"archived":false,"fork":false,"pushed_at":"2023-01-03T21:44:15.000Z","size":3132,"stargazers_count":1,"open_issues_count":18,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-01T05:18:32.898Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luandro.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":"2019-05-10T23:23:47.000Z","updated_at":"2019-05-11T05:20:05.000Z","dependencies_parsed_at":"2022-09-18T22:54:05.443Z","dependency_job_id":null,"html_url":"https://github.com/luandro/react-native-patchql","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/luandro/react-native-patchql","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Freact-native-patchql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Freact-native-patchql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Freact-native-patchql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Freact-native-patchql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luandro","download_url":"https://codeload.github.com/luandro/react-native-patchql/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Freact-native-patchql/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261014092,"owners_count":23097174,"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":"2025-01-11T19:33:36.970Z","updated_at":"2025-10-18T17:18:28.117Z","avatar_url":"https://github.com/luandro.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# react-native-rust-demo\nA cross platform demonstration of the execution of Rust code in React Native.\n\nThe application passes a string to the RN Native interface which then uses [ring](https://github.com/briansmith/ring) to create a sha256 hash of the input.\n\nThe hash is then displayed on the front-end of the app.\n\n## Dependencies\n\nThis app depends on an installation of Android Studio for Android and Xcode for iOS.\n\nAdditionally the Android deployment requires the SDK for Android API 21 and the Android NDK to be installed using the Android Studio SDK manager.\n\n### macOS Caveats\n\n* Do NOT use brew/apt to install the Android SDK/NDK. Download the official version from the website.\n* You may need to accept the Xcode license agreement in order to build: `sudo xcodebuild -license`\n\n## Building\n\nBoth Android and iOS require that the NPM dependencies for React Native be installed locally and the `react-native-cli` globally.\n\n```shell\n$ npm install\n$ npm -g install react-native-cli\n```\n\n### Rust\n\nYou must install the necessary rust targets in order to cross-compile for different architectures.\n\n```shell\n# iOS\n$ rustup target add i386-apple-ios\n$ rustup target add armv7-apple-ios\n$ rustup target add armv7s-apple-ios\n$ rustup target add aarch64-apple-ios\n$ rustup target add x86_64-apple-ios\n\n# Android\n$ rustup target add i686-linux-android\n$ rustup target add arm-linux-androideabi\n$ rustup target add armv7-linux-androideabi\n$ rustup target add aarch64-linux-android\n$ rustup target add x86_64-linux-android\n```\n\n### Android\n\n```shell\n(./)     $ ./create-ndk-standalone.sh\n(./)     $ cd rust\n(./rust) $ make install-android\n(./rust) $ cd ..\n(./)     $ react-native run-android\n```\n\n### IOS\n\n```shell\n(./)     $ cd rust\n(./rust) $ make ios\n(./rust) $ cd ..\n\n...?\n\n(./)     $ react-native run-ios\n```\n\nTODO the `make ios` command results in the built iOS library being written to `./rust/target/universal/release/libmobile_app.a`. This needs to be used to create an iOS interface for RN.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluandro%2Freact-native-patchql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluandro%2Freact-native-patchql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluandro%2Freact-native-patchql/lists"}