{"adoption": {"forks": 2004, "observed_at": "2026-08-28T04:10:38.768220+00:00", "stars": 9908}, "canonical_url": "https://ross.abutalabs.com/products/jsbridge", "card": {"archived": false, "artifact_type": "library", "description": "android java and javascript bridge, inspired by wechat webview jsbridge", "domain": ["mobile-development", "web-development", "android-tools"], "enriched": true, "function": ["sdk", "developer-tools"], "health_score": 36, "homepage": null, "language": "Java", "license": null, "license_family": "other", "maturity": "stable", "member_repos": ["happydog-intj/JsBridge"], "name": "happydog-intj/JsBridge", "platform": ["jvm"], "pushed_at": "2025-06-13T06:15:49+00:00", "repo": "happydog-intj/JsBridge", "stars": 9908, "tags": ["webview", "javascript-bridge", "hybrid-apps", "java-javascript-interop", "android"], "topics": [], "urls": [], "use_cases": ["call native Android code from JavaScript in a WebView", "call JavaScript functions from Java in a hybrid app", "build a two-way communication bridge between webview and native", "send messages between WebView and Android without a handler name", "implement hybrid app messaging like WeChat's jsbridge"], "what_it_is": "An Android library providing a bidirectional bridge between Java and JavaScript in WebViews, inspired by WeChat's jsBridge. It lets developers register handlers on either side so Java and JavaScript can call each other with callbacks.", "when_to_avoid": ["you're not on Android or not using WebView", "you need a maintained library with an explicit license for commercial use", "you prefer modern alternatives like Android WebView's native JS interfaces or Compose-based hybrid approaches"], "when_to_choose": ["you're building an Android hybrid app with a WebView that needs native-JS communication", "you want a lightweight, proven WebView JS bridge modeled on WeChat's approach", "you need bidirectional handler registration with callbacks between Java and JavaScript"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jsbridge", "repo": "happydog-intj/JsBridge", "role": "main", "score": 44}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.768220+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.560762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6265da21f51f06e81c8dd31c4552b6ddce4df5f2bdeb5d0a9a4c7a49665be5ef", "fetched_at": "2026-08-28T04:10:38.768220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/happydog-intj/JsBridge"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.768220+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.560762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6265da21f51f06e81c8dd31c4552b6ddce4df5f2bdeb5d0a9a4c7a49665be5ef", "fetched_at": "2026-08-28T04:10:38.768220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/happydog-intj/JsBridge"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.560762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6265da21f51f06e81c8dd31c4552b6ddce4df5f2bdeb5d0a9a4c7a49665be5ef", "fetched_at": "2026-08-28T04:10:38.768220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/happydog-intj/JsBridge"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.768220+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.768220+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.768220+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.560762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6265da21f51f06e81c8dd31c4552b6ddce4df5f2bdeb5d0a9a4c7a49665be5ef", "fetched_at": "2026-08-28T04:10:38.768220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/happydog-intj/JsBridge"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.768220+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.768220+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.560762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6265da21f51f06e81c8dd31c4552b6ddce4df5f2bdeb5d0a9a4c7a49665be5ef", "fetched_at": "2026-08-28T04:10:38.768220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/happydog-intj/JsBridge"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.768220+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.768220+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.768220+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.560762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6265da21f51f06e81c8dd31c4552b6ddce4df5f2bdeb5d0a9a4c7a49665be5ef", "fetched_at": "2026-08-28T04:10:38.768220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/happydog-intj/JsBridge"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.768220+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:38.768220+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.560762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6265da21f51f06e81c8dd31c4552b6ddce4df5f2bdeb5d0a9a4c7a49665be5ef", "fetched_at": "2026-08-28T04:10:38.768220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/happydog-intj/JsBridge"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.560762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6265da21f51f06e81c8dd31c4552b6ddce4df5f2bdeb5d0a9a4c7a49665be5ef", "fetched_at": "2026-08-28T04:10:38.768220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/happydog-intj/JsBridge"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.560762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6265da21f51f06e81c8dd31c4552b6ddce4df5f2bdeb5d0a9a4c7a49665be5ef", "fetched_at": "2026-08-28T04:10:38.768220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/happydog-intj/JsBridge"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:20:19.560762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6265da21f51f06e81c8dd31c4552b6ddce4df5f2bdeb5d0a9a4c7a49665be5ef", "fetched_at": "2026-08-28T04:10:38.768220+00:00", "kind": "readme", "missing": false, "url": "https://github.com/happydog-intj/JsBridge"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 26, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4206, "days_push": 446, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 44, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}