{"adoption": {"forks": 690, "observed_at": "2026-08-28T04:08:10.671304+00:00", "stars": 3571}, "canonical_url": "https://ross.abutalabs.com/products/jetpackmvvm", "card": {"archived": false, "artifact_type": "framework", "description": ":chicken::basketball:JetpackMvvm 是一个基于 Jetpack 架构组件构建的 Android MVVM 快速开发框架，旨在帮助开发者快速搭建高质量、可维护、可扩展的应用。", "domain": ["mobile-development", "android-tools", "web-development"], "enriched": true, "function": ["state-management", "http-client", "middleware", "developer-tools"], "health_score": 72, "homepage": "https://github.com/hegaojian/JetpackMvvm", "language": "Kotlin", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["hegaojian/JetpackMvvm"], "name": "hegaojian/JetpackMvvm", "platform": ["jvm"], "pushed_at": "2025-12-29T05:30:59+00:00", "repo": "hegaojian/JetpackMvvm", "stars": 3571, "tags": ["mvvm", "jetpack", "viewmodel", "livedata", "kotlin-flow", "coroutines", "viewbinding", "databinding", "base-classes", "rapid-development", "retrofit", "android", "mobile"], "topics": ["mvvm", "jetpack", "viewmodel", "lifecycle", "databinding", "livedata", "kotlin", "mvvm-jetpack", "android", "wanandroid", "wanandroiddemo", "navigation", "flow", "kotlin-flow", "demo", "demo-app", "kotlin-coroutines", "library", "viewbinding"], "urls": [], "use_cases": ["quickly scaffold an Android app with MVVM architecture", "set up base activity and fragment classes for Android projects", "handle loading, empty, error, and success page states uniformly", "wrap network requests with LiveData or Kotlin Flow", "reduce boilerplate with ViewBinding and DataBinding in Android", "integrate coroutines-based async networking in an Android app"], "what_it_is": "JetpackMvvm is an Android MVVM rapid development framework built on Jetpack architecture components (ViewModel, LiveData, Kotlin Flow, Repository). It provides modular base classes like BaseActivity, BaseFragment, and BaseViewModel, plus built-in page state management, view binding support, and a pluggable network layer compatible with Retrofit, RxHttp, and Net.", "when_to_avoid": ["you use Compose-only architecture rather than View/DataBinding-based UIs", "you need a minimal, unopinionated setup without framework-imposed base classes", "your team follows MVI or a custom architecture incompatible with this framework's conventions", "you need cross-platform support beyond Android"], "when_to_choose": ["you are starting a new Android app in Kotlin and want a ready-made MVVM structure", "you want opinionated base classes and page state handling out of the box", "you prefer LiveData/Flow-based request encapsulation with coroutines", "you want a framework with a detailed example app and Chinese documentation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jetpackmvvm", "repo": "hegaojian/JetpackMvvm", "role": "main", "score": 64}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:10.671304+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:34:06.678020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e44a8c71cea6c3bea44d1ea8d0675b96038f5947f54c0f7d6d2e527de363e9b3", "fetched_at": "2026-08-28T04:08:10.671304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}, {"content_hash": "51ea5432706e4634fe2833ccba4100480e8ce23239764043d69dd3b88ab0eb64", "fetched_at": "2026-08-29T09:27:39.107795+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:10.671304+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:34:06.678020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e44a8c71cea6c3bea44d1ea8d0675b96038f5947f54c0f7d6d2e527de363e9b3", "fetched_at": "2026-08-28T04:08:10.671304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}, {"content_hash": "51ea5432706e4634fe2833ccba4100480e8ce23239764043d69dd3b88ab0eb64", "fetched_at": "2026-08-29T09:27:39.107795+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:34:06.678020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e44a8c71cea6c3bea44d1ea8d0675b96038f5947f54c0f7d6d2e527de363e9b3", "fetched_at": "2026-08-28T04:08:10.671304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}, {"content_hash": "51ea5432706e4634fe2833ccba4100480e8ce23239764043d69dd3b88ab0eb64", "fetched_at": "2026-08-29T09:27:39.107795+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}], "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:08:10.671304+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:10.671304+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:10.671304+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:34:06.678020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e44a8c71cea6c3bea44d1ea8d0675b96038f5947f54c0f7d6d2e527de363e9b3", "fetched_at": "2026-08-28T04:08:10.671304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}, {"content_hash": "51ea5432706e4634fe2833ccba4100480e8ce23239764043d69dd3b88ab0eb64", "fetched_at": "2026-08-29T09:27:39.107795+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:10.671304+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:10.671304+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:34:06.678020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e44a8c71cea6c3bea44d1ea8d0675b96038f5947f54c0f7d6d2e527de363e9b3", "fetched_at": "2026-08-28T04:08:10.671304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}, {"content_hash": "51ea5432706e4634fe2833ccba4100480e8ce23239764043d69dd3b88ab0eb64", "fetched_at": "2026-08-29T09:27:39.107795+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:10.671304+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:10.671304+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:10.671304+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:34:06.678020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e44a8c71cea6c3bea44d1ea8d0675b96038f5947f54c0f7d6d2e527de363e9b3", "fetched_at": "2026-08-28T04:08:10.671304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}, {"content_hash": "51ea5432706e4634fe2833ccba4100480e8ce23239764043d69dd3b88ab0eb64", "fetched_at": "2026-08-29T09:27:39.107795+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:10.671304+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:10.671304+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:34:06.678020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e44a8c71cea6c3bea44d1ea8d0675b96038f5947f54c0f7d6d2e527de363e9b3", "fetched_at": "2026-08-28T04:08:10.671304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}, {"content_hash": "51ea5432706e4634fe2833ccba4100480e8ce23239764043d69dd3b88ab0eb64", "fetched_at": "2026-08-29T09:27:39.107795+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:34:06.678020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e44a8c71cea6c3bea44d1ea8d0675b96038f5947f54c0f7d6d2e527de363e9b3", "fetched_at": "2026-08-28T04:08:10.671304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}, {"content_hash": "51ea5432706e4634fe2833ccba4100480e8ce23239764043d69dd3b88ab0eb64", "fetched_at": "2026-08-29T09:27:39.107795+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:34:06.678020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e44a8c71cea6c3bea44d1ea8d0675b96038f5947f54c0f7d6d2e527de363e9b3", "fetched_at": "2026-08-28T04:08:10.671304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}, {"content_hash": "51ea5432706e4634fe2833ccba4100480e8ce23239764043d69dd3b88ab0eb64", "fetched_at": "2026-08-29T09:27:39.107795+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:34:06.678020+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e44a8c71cea6c3bea44d1ea8d0675b96038f5947f54c0f7d6d2e527de363e9b3", "fetched_at": "2026-08-28T04:08:10.671304+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}, {"content_hash": "51ea5432706e4634fe2833ccba4100480e8ce23239764043d69dd3b88ab0eb64", "fetched_at": "2026-08-29T09:27:39.107795+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/hegaojian/JetpackMvvm"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 59, "longevity": 100, "rhythm": 51}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2447, "days_push": 247, "days_rel": 247, "gap_med": 34, "n_releases_24m": 4}, "score": 64, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}