VibeCoding工程流程学习二:iOS项目架构

前言

构建一个可以复用的iOS项目结构,要求方便测试方便扩展,组件化,主要构建思想为clean architecure, swiftject 进行解耦,通过spm 拆分组件。详细项目地址为Demo

🛠 技术架构

Technology Purpose
Swift 5 Language
SwiftUI UI Framework (iOS 15+)
Swift Package Manager Modular dependency management
RxSwift 6.x / RxCocoa Reactive programming (Domain, Data, Networking)
Combine Reactive UI bindings (Presentation layer only)
Swinject 2.x Dependency Injection container
WKWebView Web content embedding + JS bridge
URLSession HTTP networking (via RxSwift wrappers)

📁 项目结构

ruby 复制代码
MyEcommerce/
├── MyEcommerce/                          # App entry point
│   ├── MyEcommerceApp.swift              # @main --- DI registration + navigation
│   ├── Routing/
│   │   └── AppWebRouteFactory.swift      # Composition root for WebContainer routing
│   └── Assets.xcassets/                  # App icons, colors, resources
│
├── Packages/                              # ★ All business logic as SPM packages
│   ├── Abstraction/                      # Pure protocol layer
│   ├── Domain/                           # Use case implementations
│   ├── Data/                             # Repository + service implementations
│   ├── Presentation/                     # SwiftUI feature packages
│   │   ├── LoginFeature/                 # LoginView + LoginViewModel
│   │   ├── ProductsFeature/             # ProductList + ItemDetail
│   │   ├── BasketFeature/               # BasketView + BasketViewModel
│   │   └── WebContainerFeature/         # WKWebView embedding + JS bridge
│   └── Utilities/                        # Cross-cutting utilities
│       ├── Networking/API/              # HTTP client, mock provider, environment
│       ├── Utils/                       # RxSwift → Combine bridge
│       └── Analytics/                   # Event tracking wrapper
│
├── MyEcommerceTests/                     # Unit test scaffold
├── MyEcommerceUITests/                   # UI test scaffold
│
├── CLAUDE.md                             # AI coding assistant instructions
├── docs/
│   ├── architecture.md                   # Architecture documentation (Chinese)
│   └── plans/                            # Implementation plans
│
└── .claude/                              # Claude Code configuration
相关推荐
JavaGuide1 天前
推荐 3 个 Vibe Coding 中文开源教程,从入门到实战
ai编程·vibecoding
用户23006739704851 天前
从 Vibe Coding 到 SDD,我的AI 辅助编程工程化实践
vibecoding
ClouGence1 天前
Vibe Coding 之后,UI 测试如何跟上开发速度?
测试·vibecoding
duanze1 天前
从零开始Android商业项目Vibe coding完全指南(八)
app·vibecoding
天桥吴彦祖2 天前
判断iOS如何监听手机屏幕是否锁屏
ios
火锅小王子2 天前
从 0 到 1:我用 AI Coding 撸了一套带「智能客服」的全栈电商系统
agent·vibecoding
何智超2 天前
AI 微前端性能优化之旅(上):复盘
前端·vibecoding
搞Ai的小月月3 天前
给 AI 装个"设计大脑":UI-UX-Pro-Max-Skill 实测与接入笔记
vibecoding
敲代码的鱼3 天前
PDF 预览与签名批注写回 支持安卓 iOS 鸿蒙 UTS插件
android·前端·ios