{"id":20829676,"url":"https://github.com/androidovshchik/krnjbc","last_synced_at":"2025-10-09T15:11:34.240Z","repository":{"id":163353462,"uuid":"575979479","full_name":"androidovshchik/KRNJBC","owner":"androidovshchik","description":null,"archived":false,"fork":false,"pushed_at":"2022-12-08T18:22:29.000Z","size":747,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-16T09:18:07.600Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","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/androidovshchik.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":"2022-12-08T18:22:17.000Z","updated_at":"2022-12-08T18:22:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"19676ab5-7557-4df5-8678-f57a10c09c80","html_url":"https://github.com/androidovshchik/KRNJBC","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/androidovshchik/KRNJBC","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/androidovshchik%2FKRNJBC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/androidovshchik%2FKRNJBC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/androidovshchik%2FKRNJBC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/androidovshchik%2FKRNJBC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/androidovshchik","download_url":"https://codeload.github.com/androidovshchik/KRNJBC/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/androidovshchik%2FKRNJBC/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001644,"owners_count":26083146,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-11-17T23:21:34.047Z","updated_at":"2025-10-09T15:11:34.221Z","avatar_url":"https://github.com/androidovshchik.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eKotlin React-Native Mpp \u003c/h1\u003e\n\n[![jCenter](https://img.shields.io/badge/Apache-2.0-green.svg\n)](https://github.com/Foso/KotlinReactNativeMpp/blob/master/LICENSE)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)\n[![All Contributors](https://img.shields.io/badge/all_contributors-1-range.svg?style=flat-square)](#contributors)\n  \u003ca href=\"https://twitter.com/intent/tweet?text=Hey, check out KotlinReactNativeMpp https://github.com/Foso/KotlinReactNativeMpp via @jklingenberg_ #Android \n\"\u003e\u003cimg src=\"https://img.shields.io/twitter/url/https/github.com/angular-medellin/meetup.svg?style=social\" alt=\"Tweet\"\u003e\u003c/a\u003e\n\n\u003e A React-Native App written with Kotlin JS\n\n\u003cp align=\"left\"\u003e\n    \u003cimg src =\"https://github.com/Foso/KotlinReactNativeMpp/blob/master/docs/Screenshot.png\" height=500 /\u003e\n \n\u003c/p\u003e\n\n## Introduction 🙋‍♂️\nThis is an example project to show how you can use KotlinJS to write React-Native Apps.\nYou can click on an floating action button and a counter will update\n\n# 🏠 Architecture\n\n## 🛠️ Built With\n### Kotlin\n[![jCenter](https://img.shields.io/badge/Kotlin-1.3.61-green.svg\n)]()\n\n### Tools\n[![jCenter](https://img.shields.io/badge/ReactNative-0.52.0-green.svg\n)]()\n* [Yarn](https://yarnpkg.com/lang/en/)\n* [Haul](https://github.com/callstack/haul)\n\n### Project Structure\n* \u003ckbd\u003eandroid\u003c/kbd\u003e - Base android project directory\n* \u003ckbd\u003eios\u003c/kbd\u003e - Base ios project directory\n* \u003ckbd\u003eshared\u003c/kbd\u003e - This module is using the Kotlin Multiplatform Plugin, but is only configured to compile to Javascript/React.\nThe main entry of the module is inside the \u003ckbd\u003eindex.kt\u003c/kbd\u003e.  In the \u003ckbd\u003eimports\u003c/kbd\u003e-folder are all relevant wrapper for the React modules.\n In the \u003ckbd\u003eui\u003c/kbd\u003e-folder are all (you might guessed it), ui relevant files\n\n# Development\n1. Install  [Yarn](https://yarnpkg.com/lang/en/). \n2. Run `yarn install` to install all the javascript dependencies.\n3. Run `./gradlew -t :shared:assemble` - compiles the Kotlin javascript module located in `./shared`, and watches it for changes. Leave this terminal open. Remove the `-t` argument if you don't want gradle to watch for changes and auto-rebuild.\n4. Run `yarn haul start --platform android`. You should now see the message \"You can now run the app on your * device\"\n5. Run the Android app in an Android emulator. Open the app menu,  press Command + M on OSX or Ctrl + M on Linux and Windows. Inside \"Dev Settings\" disable \"JS Delta\". Leave the dev settings.\n6. Changes in the \"shared\" folder should now trigger the app to update the content. Altenative you can manually trigger a reload in the app menu.\n\n## ✍️ Feedback\n\nFeel free to send feedback on [Twitter](https://twitter.com/jklingenberg_) or [file an issue](https://github.com/foso/KotlinReactNativeMpp/issues/new). Feature requests are always welcome.\n\n\n## 📜 License\n\nThis project is licensed under the Apache License, Version 2.0 - see the [LICENSE.md](https://github.com/Foso/KotlinReactNativeMpp/blob/master/LICENSE) file for details\n\n### Find this project useful ? :heart:\n* Support it by clicking the :star: button on the upper right of this page. :v:\n\nLicense\n-------\n\n    Copyright 2019 Jens Klingenberg\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n\n## Acknowledgments\nProjects that helped me understand how to setup the project:\n* [ScottPierce/kotlin-react-native\n](https://github.com/ScottPierce/kotlin-react-native)\n* [ptmt/kotlin-react-native-example\n](https://github.com/ptmt/kotlin-react-native-example)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidovshchik%2Fkrnjbc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandroidovshchik%2Fkrnjbc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidovshchik%2Fkrnjbc/lists"}