[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6782":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":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},6782,"MovieSwiftUI","Dimillian\u002FMovieSwiftUI","Dimillian","SwiftUI & Combine app using MovieDB API. With a custom Flux (Redux) implementation.","",null,"Swift",6528,653,132,9,0,1,4,6,69.05,"Apache License 2.0",false,"master",true,[],"2026-06-12 04:00:30","![Xcode build](https:\u002F\u002Fgithub.com\u002FDimillian\u002FMovieSwiftUI\u002Fworkflows\u002FXcode%20build\u002Fbadge.svg?branch=master)\n\n# MovieSwiftUI\n\nMovieSwiftUI is an application that uses the MovieDB API and is built with SwiftUI. \nIt demos some SwiftUI (& Combine) concepts. The goal is to make a real world application using SwiftUI only. It'll be updated with new features as they come to the SwiftUI framework. \n\nI have written a series of articles that document the design and architecture of the app: [Making a Real World Application With SwiftUI](https:\u002F\u002Fmedium.com\u002Fbetter-programming\u002Fcollection-making-a-real-world-application-with-swiftui-4f9bc8c7fb71).\n\n![App Image](images\u002FMovieSwiftUI_promo_new.png?)\n\n## Architecture\n\nMovieSwiftUI data flow is a subset and a custom implementation of the Flux part of [Redux](https:\u002F\u002Fredux.js.org\u002F). \nIt implement the State in an [ObservableObject](https:\u002F\u002Fdeveloper.apple.com\u002Fdocumentation\u002Fcombine\u002Fobservableobject) as a @Published wrapped property, so changes are published whenever a dispatched action produces a new state after being reduced. \nThe state is injected as an environment object in the root view of the application, and is easily accessible anywhere in the application. \nSwiftUI does all aspects of diffing on the render pass when your state changes. No need to be clever when extracting props from your State, they're simple dynamic vars at the view level. No matter your objects' graph size, SwiftUI speed depends on the complexity of your views hierarchy, not the complexity of your object graph.\n\n## SwiftUI\n\nMovieSwiftUI is in pure Swift UI, the goal is to see how far SwiftUI can go in its current implementation without using anything from UIKit (basically no UIView\u002FUIViewController representable).\n\nIt'll evolve with SwiftUI, every time Apple edits existing or adds new features to the framework.\n\n## Platforms\n\nCurrently MovieSwiftUI runs on iPhone, iPad, and macOS. \n\nFollow me on [Twitter](https:\u002F\u002Ftwitter.com\u002Fdimillian) to get the latest update about features, code and SwiftUI tips and tricks! \n","MovieSwiftUI 是一个使用 MovieDB API 构建的电影应用，完全基于 SwiftUI 和 Combine 框架开发。该项目采用自定义的 Flux（Redux）架构实现数据流管理，通过 ObservableObject 和 @Published 属性包装器来发布状态变更，确保了整个应用中状态的一致性和可访问性。它展示了如何仅用 SwiftUI 创建实际应用，并且随着 SwiftUI 框架的发展不断更新功能。适合想要深入了解 SwiftUI 实践、探索现代 iOS 开发模式或寻找高质量代码示例的开发者参考学习。",2,"2026-06-11 03:08:51","top_language"]