{"adoption": {"forks": 300, "observed_at": "2026-08-28T04:05:30.511389+00:00", "stars": 1744}, "canonical_url": "https://ross.abutalabs.com/products/harmonyos-tutorial", "card": {"archived": false, "artifact_type": "learning-resource", "description": "HarmonyOS Tutorial. 《跟老卫学HarmonyOS开发》", "domain": ["tutorials", "mobile-development", "education"], "enriched": true, "function": ["documentation"], "health_score": 86, "homepage": null, "language": null, "license": null, "license_family": "other", "maturity": "active", "member_repos": ["waylau/harmonyos-tutorial"], "name": "waylau/harmonyos-tutorial", "platform": ["cross-platform"], "pushed_at": "2026-05-13T03:38:51+00:00", "repo": "waylau/harmonyos-tutorial", "stars": 1744, "tags": ["harmonyos", "harmonyos-next", "cangjie", "huawei", "book-source-code", "chinese"], "topics": ["harmonyos", "tutorial", "huawei", "harmonyosnext", "cangjie"], "urls": [], "use_cases": ["learn harmonyos app development from scratch", "harmonyos tutorial for beginners", "source code examples for harmonyos apps", "learn harmonyos next native app development", "learn cangjie programming for harmonyos", "setup deveco studio and emulator", "understand ability lifecycle in harmonyos"], "what_it_is": "An open-source tutorial book and accompanying source code for learning HarmonyOS application development, from beginner setup with DevEco Studio to advanced topics including HarmonyOS NEXT and the Cangjie language. It is written in Chinese and updated to cover HarmonyOS 6 features.", "when_to_avoid": ["you need official or English-language documentation", "you are developing for Android or iOS instead of HarmonyOS", "you need a maintained library rather than learning material"], "when_to_choose": ["you want a free, structured Chinese-language tutorial for HarmonyOS development", "you need runnable example code accompanying a published HarmonyOS book", "you are targeting HarmonyOS NEXT or HarmonyOS 6"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/harmonyos-tutorial", "repo": "waylau/harmonyos-tutorial", "role": "main", "score": 68}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.511389+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:29:31.491669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "601277357d0a213bc9872ba92d02f883a668c95e1edd020052db60946bffdb72", "fetched_at": "2026-08-28T04:05:30.511389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/waylau/harmonyos-tutorial"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.511389+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:29:31.491669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "601277357d0a213bc9872ba92d02f883a668c95e1edd020052db60946bffdb72", "fetched_at": "2026-08-28T04:05:30.511389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/waylau/harmonyos-tutorial"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:29:31.491669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "601277357d0a213bc9872ba92d02f883a668c95e1edd020052db60946bffdb72", "fetched_at": "2026-08-28T04:05:30.511389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/waylau/harmonyos-tutorial"}], "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:05:30.511389+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.511389+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.511389+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:29:31.491669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "601277357d0a213bc9872ba92d02f883a668c95e1edd020052db60946bffdb72", "fetched_at": "2026-08-28T04:05:30.511389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/waylau/harmonyos-tutorial"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.511389+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.511389+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:29:31.491669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "601277357d0a213bc9872ba92d02f883a668c95e1edd020052db60946bffdb72", "fetched_at": "2026-08-28T04:05:30.511389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/waylau/harmonyos-tutorial"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.511389+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.511389+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.511389+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:29:31.491669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "601277357d0a213bc9872ba92d02f883a668c95e1edd020052db60946bffdb72", "fetched_at": "2026-08-28T04:05:30.511389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/waylau/harmonyos-tutorial"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.511389+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.511389+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:29:31.491669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "601277357d0a213bc9872ba92d02f883a668c95e1edd020052db60946bffdb72", "fetched_at": "2026-08-28T04:05:30.511389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/waylau/harmonyos-tutorial"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:29:31.491669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "601277357d0a213bc9872ba92d02f883a668c95e1edd020052db60946bffdb72", "fetched_at": "2026-08-28T04:05:30.511389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/waylau/harmonyos-tutorial"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:29:31.491669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "601277357d0a213bc9872ba92d02f883a668c95e1edd020052db60946bffdb72", "fetched_at": "2026-08-28T04:05:30.511389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/waylau/harmonyos-tutorial"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:29:31.491669+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "601277357d0a213bc9872ba92d02f883a668c95e1edd020052db60946bffdb72", "fetched_at": "2026-08-28T04:05:30.511389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/waylau/harmonyos-tutorial"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 82, "longevity": 100, "rhythm": 33}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2095, "days_push": 112, "days_rel": 235, "gap_med": 373, "n_releases_24m": 2}, "score": 68, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}