[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7239":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":22,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":27,"lastSyncTime":28,"discoverSource":29},7239,"mavericks","airbnb\u002Fmavericks","airbnb","Mavericks: Android on Autopilot","https:\u002F\u002Fairbnb.io\u002Fmavericks\u002F",null,"Kotlin",5934,513,100,57,0,4,39.13,"Apache License 2.0",false,"main",true,[],"2026-06-12 02:01:36","[![Build Status](https:\u002F\u002Fgithub.com\u002Fairbnb\u002Fmavericks\u002Factions\u002Fworkflows\u002Fbuild_test.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fairbnb\u002Fmavericks\u002Factions\u002Fworkflows\u002Fbuild_test.yml)\n[![Maven Central](https:\u002F\u002Fmaven-badges.herokuapp.com\u002Fmaven-central\u002Fcom.airbnb.android\u002Fmavericks\u002Fbadge.svg)](https:\u002F\u002Fmaven-badges.herokuapp.com\u002Fmaven-central\u002Fcom.airbnb.android\u002Fmavericks)\n[![codecov.io](https:\u002F\u002Fcodecov.io\u002Fgithub\u002Fcodecov\u002Fmavericks\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgithub\u002Fcodecov\u002Fmavericks)\n\n# Mavericks (formerly MvRx): Android on Autopilot\n\n## For full documentation, check out our [docs site](https:\u002F\u002Fairbnb.io\u002Fmavericks).\n\nMavericks is the Android framework from Airbnb that we use for nearly all product development at Airbnb.\n\nWhen we began creating Mavericks, our goal was not to create yet another architecture pattern for Airbnb, it was to make building products easier, faster, and more fun. All of our decisions have built on that. We believe that for Mavericks to be successful, it must be effective for building everything from the simplest of screens to the most complex in our app.\n\nThis is what it looks like:\n```kotlin\n\ndata class HelloWorldState(val title: String = \"Hello World\") : MavericksState\n\n\u002F**\n * Refer to the wiki for how to set up your base ViewModel.\n *\u002F\nclass HelloWorldViewModel(initialState: HelloWorldState) : MavericksViewModel\u003CHelloWorldState>(initialState) {\n    fun getMoreExcited() = setState { copy(title = \"$title!\") }\n}\n\nclass HelloWorldFragment : Fragment(R.layout.hello_world_fragment), MavericksView {\n    private val viewModel: HelloWorldViewModel by fragmentViewModel()\n\n    override fun invalidate() = withState(viewModel) { state ->\n        \u002F\u002F Update your views with the latest state here.\n        \u002F\u002F This will get called any time your state changes and the viewLifecycleOwner is STARTED.\n    }\n}\n```\n\n## Installation\n\nGradle is the only supported build configuration, so just add the dependency to your project `build.gradle` file:\n\n```groovy\ndependencies {\n  implementation 'com.airbnb.android:mavericks:x.y.z'\n}\n```\nThe latest version of mavericks is [![Maven Central](https:\u002F\u002Fmaven-badges.herokuapp.com\u002Fmaven-central\u002Fcom.airbnb.android\u002Fmavericks\u002Fbadge.svg)](https:\u002F\u002Fmaven-badges.herokuapp.com\u002Fmaven-central\u002Fcom.airbnb.android\u002Fmavericks)\n\n## For full documentation, check out the [docs site](https:\u002F\u002Fairbnb.io\u002Fmavericks)\n\nLegacy documentation for MvRx 1.x can still be found in the [wiki](https:\u002F\u002Fgithub.com\u002Fairbnb\u002Fmavericks\u002Fwiki)\n","Mavericks 是由 Airbnb 开发的一个 Android 框架，旨在简化产品开发过程，提高开发效率和乐趣。其核心功能包括状态管理和视图模型的自动更新，通过 Kotlin 语言实现简洁且强大的数据绑定机制。技术特点上，Mavericks 采用了一种声明式的方法来处理 UI 状态变化，使得开发者可以专注于业务逻辑而非复杂的生命周期管理。此框架非常适合用于构建从简单到复杂的各种 Android 应用界面，特别是在需要快速迭代并保持代码清晰度的场景下表现尤为出色。",2,"2026-06-11 03:11:21","top_language"]