{"adoption": {"forks": 535, "observed_at": "2026-08-28T04:08:02.907138+00:00", "stars": 3402}, "canonical_url": "https://ross.abutalabs.com/products/tabanimated", "card": {"archived": false, "artifact_type": "library", "description": "A skeleton screen loading framework based on native for iOS. (一个由iOS原生组件映射出骨架屏的框架，包含快速植入，低耦合，兼容复杂视图等特点，提供国内主流骨架屏动画的加载方案，同时支持上拉加载更多、自定制动画。)", "domain": ["mobile-development", "frontend", "web-design"], "enriched": true, "function": ["animation", "ui-components", "middleware"], "health_score": 26, "homepage": null, "language": "Objective-C", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["tigerAndBull/TABAnimated"], "name": "tigerAndBull/TABAnimated", "platform": [], "pushed_at": "2024-09-19T10:23:09+00:00", "repo": "tigerAndBull/TABAnimated", "stars": 3402, "tags": ["skeleton-screen", "loading-animation", "objective-c", "uikit", "placeholder-ui", "dark-mode", "cocoapods", "ios", "mobile", "swift"], "topics": ["objective-c", "ios", "ios-animation", "animation", "loading", "skeleton", "loading-animations", "loading-animation", "uicollectionview", "uitableview", "facebook-animation", "placeholder", "ios-networking", "drop-animation", "animation-component", "animation-group", "pull-requests", "pull-to-refresh", "skeleton-screen"], "urls": [], "use_cases": ["add skeleton loading screens to iOS apps", "show placeholder animations while network data loads", "generate skeleton screens from existing UITableView or UICollectionView cells", "implement shimmer loading animation for weak network conditions", "add pull-up load more skeleton animation to lists", "customize skeleton loading animations in Objective-C iOS projects"], "what_it_is": "TABAnimated is an iOS skeleton screen framework that automatically generates loading placeholder animations from existing native views with low coupling. It supports shimmer, classic, drop, and breathing animations, dark mode, pull-to-load-more, and custom animation serialization.", "when_to_avoid": ["you are developing for Android, web, or cross-platform frameworks rather than native iOS", "you use SwiftUI exclusively and prefer native placeholder APIs", "you need a fully hand-designed custom loading UI rather than view-mapped skeletons", "your project no longer supports iOS 8+ legacy constraints"], "when_to_choose": ["you are building an iOS app in Objective-C or Swift and need skeleton screens with minimal code changes", "you want automatic skeleton generation from existing views instead of hand-crafting placeholders", "you need dark mode support and multiple built-in animation styles", "your lists use UITableView/UICollectionView and need pull-to-load-more skeletons"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tabanimated", "repo": "tigerAndBull/TABAnimated", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.907138+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:38:39.000561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1fe13e706b8955b65a7b2204b1e233d55934dcc35717cde093291530a60d4539", "fetched_at": "2026-08-28T04:08:02.907138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerAndBull/TABAnimated"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.907138+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:38:39.000561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1fe13e706b8955b65a7b2204b1e233d55934dcc35717cde093291530a60d4539", "fetched_at": "2026-08-28T04:08:02.907138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerAndBull/TABAnimated"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:38:39.000561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1fe13e706b8955b65a7b2204b1e233d55934dcc35717cde093291530a60d4539", "fetched_at": "2026-08-28T04:08:02.907138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerAndBull/TABAnimated"}], "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:02.907138+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.907138+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.907138+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:38:39.000561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1fe13e706b8955b65a7b2204b1e233d55934dcc35717cde093291530a60d4539", "fetched_at": "2026-08-28T04:08:02.907138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerAndBull/TABAnimated"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.907138+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.907138+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:38:39.000561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1fe13e706b8955b65a7b2204b1e233d55934dcc35717cde093291530a60d4539", "fetched_at": "2026-08-28T04:08:02.907138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerAndBull/TABAnimated"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.907138+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.907138+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.907138+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:38:39.000561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1fe13e706b8955b65a7b2204b1e233d55934dcc35717cde093291530a60d4539", "fetched_at": "2026-08-28T04:08:02.907138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerAndBull/TABAnimated"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.907138+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:02.907138+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:38:39.000561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1fe13e706b8955b65a7b2204b1e233d55934dcc35717cde093291530a60d4539", "fetched_at": "2026-08-28T04:08:02.907138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerAndBull/TABAnimated"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:38:39.000561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1fe13e706b8955b65a7b2204b1e233d55934dcc35717cde093291530a60d4539", "fetched_at": "2026-08-28T04:08:02.907138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerAndBull/TABAnimated"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:38:39.000561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1fe13e706b8955b65a7b2204b1e233d55934dcc35717cde093291530a60d4539", "fetched_at": "2026-08-28T04:08:02.907138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerAndBull/TABAnimated"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:38:39.000561+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "1fe13e706b8955b65a7b2204b1e233d55934dcc35717cde093291530a60d4539", "fetched_at": "2026-08-28T04:08:02.907138+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tigerAndBull/TABAnimated"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 2909, "days_push": 713, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}