{"id":28398594,"url":"https://github.com/hapticx/happyx-native","last_synced_at":"2025-07-23T15:06:37.329Z","repository":{"id":212024341,"uuid":"730521812","full_name":"HapticX/happyx-native","owner":"HapticX","description":"Macro-oriented web-framework compiles to native written with ♥","archived":false,"fork":false,"pushed_at":"2024-12-31T13:08:04.000Z","size":548,"stargazers_count":25,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-28T18:43:49.886Z","etag":null,"topics":["app-framework","frontend","happyx","native-apps","nim","web-native","webnative"],"latest_commit_sha":null,"homepage":"https://hapticx.github.io/happyx-native/happyx_native.html","language":"Nim","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/HapticX.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":"2023-12-12T05:29:08.000Z","updated_at":"2025-04-21T16:01:58.000Z","dependencies_parsed_at":"2023-12-29T05:24:00.165Z","dependency_job_id":"cc10cb07-b17b-4d49-b62e-82b6e6aaea2d","html_url":"https://github.com/HapticX/happyx-native","commit_stats":null,"previous_names":["hapticx/happyx-native"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/HapticX/happyx-native","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HapticX%2Fhappyx-native","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HapticX%2Fhappyx-native/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HapticX%2Fhappyx-native/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HapticX%2Fhappyx-native/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HapticX","download_url":"https://codeload.github.com/HapticX/happyx-native/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HapticX%2Fhappyx-native/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266699618,"owners_count":23970529,"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-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["app-framework","frontend","happyx","native-apps","nim","web-native","webnative"],"created_at":"2025-06-01T05:38:48.562Z","updated_at":"2025-07-23T15:06:37.320Z","avatar_url":"https://github.com/HapticX.png","language":"Nim","readme":"\u003cdiv align=\"center\"\u003e\n\n# HappyX Native\n\n### macro-oriented web-framework compiles to native\n\n[![API Reference](https://img.shields.io/badge/Reference-2b2e3b?style=for-the-badge\u0026logo=data:image/svg%2bxml;base64,PHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Im05IDExYy0wLjU1MjI4IDAtMSAwLjQ0NzctMSAxczAuNDQ3NzIgMSAxIDFoNmMwLjU1MjMgMCAxLTAuNDQ3NyAxLTFzLTAuNDQ3Ny0xLTEtMWgtNnptMCAzYy0wLjU1MjI4IDAtMSAwLjQ0NzctMSAxczAuNDQ3NzIgMSAxIDFoNmMwLjU1MjMgMCAxLTAuNDQ3NyAxLTFzLTAuNDQ3Ny0xLTEtMWgtNnptMy40ODItMTJjMC42Nzg4LTAuMDAxMDQgMS4yODEyLTAuMDAxOTYgMS44Mzc2IDAuMjI4NTFzMC45ODE4IDAuNjU3MTEgMS40NjEgMS4xMzc4YzAuOTQ5NiAwLjk1MjUxIDEuOTAwNyAxLjkwMzYgMi44NTMyIDIuODUzMiAwLjQ4MDcgMC40NzkyNSAwLjkwNzQgMC45MDQ1OSAxLjEzNzggMS40NjEgMC4yMzA1IDAuNTU2NDEgMC4yMjk2IDEuMTU4OCAwLjIyODUgMS44Mzc3LTAuMDAzOCAyLjUxNTktMWUtNCA1LjAzMTgtMWUtNCA3LjU0NzggMWUtNCAwLjg4NjUgMWUtNCAxLjY1MDMtMC4wODIxIDIuMjYxOS0wLjA4ODIgMC42NTU1LTAuMjg2OSAxLjI4MzktMC43OTY2IDEuNzkzNi0wLjUwOTYgMC41MDk2LTEuMTM4IDAuNzA4NC0xLjc5MzUgMC43OTY1LTAuNjExNyAwLjA4MjItMS4zNzU1IDAuMDgyMi0yLjI2MiAwLjA4MjFoLTYuMTMxNmMtMC44ODY1IDFlLTQgLTEuNjUwMyAxZS00IC0yLjI2Mi0wLjA4MjEtMC42NTU1MS0wLjA4ODEtMS4yODM5LTAuMjg2OS0xLjc5MzUtMC43OTY1LTAuNTA5NjYtMC41MDk3LTAuNzA4NC0xLjEzODEtMC43OTY1My0xLjc5MzYtMC4wODIyNC0wLjYxMTYtMC4wODIyLTEuMzc1NC0wLjA4MjE1LTIuMjYxOWwxZS01IC0xMC4wNjZjMC0wLjAyMjAyLTFlLTUgLTAuMDQzOTctMWUtNSAtMC4wNjU4My01ZS01IC0wLjg4NjQ5LTllLTUgLTEuNjUwMyAwLjA4MjE1LTIuMjYyIDAuMDg4MTMtMC42NTU1MSAwLjI4Njg3LTEuMjgzOSAwLjc5NjU0LTEuNzkzNSAwLjUwOTY2LTAuNTA5NjcgMS4xMzgtMC43MDg0MSAxLjc5MzUtMC43OTY1NCAwLjYxMTY2LTAuMDgyMjQgMS4zNzU1LTAuMDgyMiAyLjI2Mi0wLjA4MjE1IDEuMTgyNiA3ZS01IDIuMzY1MiAwLjAwMTY4IDMuNTQ3OC0xLjRlLTR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiNmMWZhOGMiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPg0KPC9zdmc+DQo=\u0026label=API\u0026labelColor=3b3e4b)](https://hapticx.github.io/happyx-native/happyx_native.html)\n\n\u003c/div\u003e\n\n\n## Install\n\n```shell\nnimble install happyx-native\n```\n\nor via GitHub:\n```shell\nnimble install https://github.com/HapticX/happyx-native\n```\n\n\n## Features\n\n- Support for Chrome/Yandex/Edge browsers \u0026 Webview\n- Support for Android\n\n\n## Project Initialization\n\nTo init project you should use this command:\n```shell\nhpx-native init --name ProjectName\n```\n\nThis command will automatically initialize your project.\n\nIt also fetches `ANDROID_SDK_ROOT` from environment (need for android compilation).\n\n## Building\n\nTo build your project you should move into project folder\n```shell\ncd ProjectName\n```\n\nand just build it!\n```shell\nhpx-native build\n```\nThis automatically builds your project for your OS as target platform.\n\n### Cross-Compilation\n\nTo compile for other OS use\n```shell\nhpx-native build --target linux\n```\n\nPossible values:\n| OS      | value   | aliases    |\n| :--     | :--:    | :--:       |\n| Windows | windows | win        |\n| Linux   | linux   | unix       |\n| MacOS   | macosx  | mac, macos |\n| Android | android | -          |\n\n### Android compilation\n\nYou should have:\n- Android Studio with SDK and NDK;\n- Gradle \u003e= 7.5;\n- Nim \u003e= 2.0.0;\n\nBy default `hpx-native build --target android` supports all android architectures.\nIf you want to disable some architectures then use:\n```shell\nhpx-native build --target android --no-x86_64\n```\n\nPossible architectures\n| Architecture | Disable Argument   |\n| :--          | :--:               |\n| x86          | `--no-x86`         |\n| x86_64       | `--no-x86_64`      |\n| armeabi-v7a  | `--no-armeabi-v7a` |\n| arm64-v8a    | `--no-arm64-v8a`   |\n\nIf you doesn't want to use gradle building then use\n```shell\nhpx-native build --target android --no-gradle\n```\nThis command will build only `.so` libraries.\n\n### Building Assets\n\nHappyX Native supports \"building\" assets - all resources from app directory (by default `/assets`) and all subdirectories are \"sewn\" into executable file.\n\nThis way you can distribute your application over the network with only one executable file.\n\n\u003e This option can be disabled via `--no-build-assets`\n\n### Webview Notes\n\nWhen building with `-d:webview`, on Windows, you may notice that the window icon is not set\nfor you. This is due to a limitation within Happyx Native, that will be resolved in the\nfuture. Currently, you may manually link in your desired window icon, like how is done in\n\u003chttps://github.com/neroist/webview/tree/main/examples/example_application/windows\u003e.\n\nIn addition, Webview does not currently support window positioning\n(see \u003chttps://github.com/webview/webview/issues/642\u003e), so the `x` and `y` arguments passed to\n`nativeApp` will be ignored.\n\n## Browsers\n\nIf you want choose other browser instead of default - use these flags:\n\n| browser         | flag            |\n| :-----:         | :-------------: |\n| Default browser | uses by default |\n| Chrome          | `-d:chrome`     |\n| Edge            | `-d:edge`       |\n| Yandex          | `-d:yandex`     |\n| Webview         | `-d:webview`    |\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhapticx%2Fhappyx-native","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhapticx%2Fhappyx-native","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhapticx%2Fhappyx-native/lists"}