这个项目助你快速又轻松掌握 SwiftUI 开发

一年以前当我准备学习开发 iOS 应用的时候选择了 SwiftUI. SwiftUI 是 Apple 新推出的一套开发规范。基于 MVVM 的理念,相比于 UIKit,UI 之间的交互完全基于数据驱动。选择 SwiftUI 而不是其他跨平台的开发框架,比如 Flutter 和 React Native 等,主要是为了追求用户体验。一转眼之间,我已经上架了两个应用到 App Store 了。

分别是一个用来积累单词的应用 「英语汪」 和一个密码管理软件 「Any Secret」。当然我也只是花了部分时间在 iOS 应用开发上。其中,第二个软件「英语汪」只用了一周的时间就开发完成。这首先得益于 SwiftUI 高效的开发效率,其次得利于我的开源项目 AwesomeSwift.

介绍

是什么?

AwesomeSwift 是一个开源的 SwiftUI 样板工程。该项目是我在阅读了多个开源项目源码之后沉淀而成,用来演示 SwiftUI 的控件和各种功能组件的使用,同时包含了实际开发过程中可能使用到的各种必备的组件,比如 Lottie、RSwift、崩溃统计等等,适合想要学习 Swift 开发的的新手同学。

为什么做这个工程?

我学过很多开发语言或框架,除了手机客户端还包括 Web 和 C# 桌面客户端。在学习的过程中我渐渐发现,在整个大前端领域,对技术掌握程度取决于对 API 和常用组件的掌握程度。我也想过写一些 SwiftUI 的教程,但看教程学习控件的使用比直接看源码效率低太多。于是,我把常用的组件整合到了一起,搭建了这个工程。用来帮助初学者快速掌握 SwiftUI.

项目的结构

我们可以很容易得从大前端领域内的不同平台开发的技术栈之间找到共性。通过类比,我们可以借助一个平台的开发经验快速掌握另一个平台的开发。

首先是构建工具,比如前端的 npm, vite, webpack 等;Android 的 Gradle 等。构建工具负责处理依赖、打包等流程,是一个项目基建的基础。在对比了 SPM、CocoaPods 和 Carthage 之后,我选择 CocoaPods. 不仅是因为 SPM 源码依赖和对 OC 的问题,也是因为很多大厂 iOS 开发就是使用 CocoaPods. 这有助于开发者的进一步发展。

确定了构建工具之后就是常用的组件。SwiftUI 本身提供了一些组件,但这显然是不够用的。比如,SwiftUI 中虽然提供了图片展示控件,但是没有针对网络图片的展示控件。所以,为了能够系统、全面地掌握 SwiftUI,我根据其他平台的开发经验对软件的开发进行拆解,分析需要哪些组件,然后去找到这些组件并将它们以示例的形式添加到了 AwesomeSwift 中。目前包含的组件(部分)如下所示,

你也可以通过阅读项目的 README 来了解更多:README.

这基本能够满足我们日常的开发需求!

最后

如果你是一个有志于开发自己的 iOS 应用的 SwiftUI 初学者,那么你可以试试这个项目。如果你觉得这个项目对你有帮助,别忘记给我们一个 🌟,让该项目帮助到更多的初学者~

地址:github.com/Shouheng88/...

相关推荐
tiantian_cool14 小时前
Claude Code 四大核心技能使用指南
ios
冰淇淋真好吃18 小时前
iOS实现 WKWebView 长截图的优雅方案
ios
njsgcs19 小时前
Swift playground 网页刷新切换随机页面的网页查看器WebKit
swift
前端不太难1 天前
Flutter / RN / iOS,在长期维护下的性能差异本质
flutter·ios
搜狐技术产品小编20232 天前
精通 UITableViewDiffableDataSource——从入门到重构的现代 iOS 列表开发指南
ios·重构
tangweiguo030519872 天前
SwiftUI 状态管理完全指南:从 @State 到 @EnvironmentObject
ios
Digitally2 天前
如何轻松地将文件从 PC 传输到 iPhone
ios·iphone
iosTiov2 天前
当IPA遇见信任:解密ios生态中“签名”的真正力量
ios·团队开发·苹果签名·稳定
游戏开发爱好者82 天前
如何使用 AppUploader 提交上传 iOS 应用
android·ios·小程序·https·uni-app·iphone·webview
和沐阳学逆向2 天前
iOS 18 越狱教程:palera1n + 巨魔安装全流程
ios·巨魔商店·ios越狱·ios18越狱