SwiftUI 开发系列学习架构问题

533 阅读3分钟

万事开头难

一个新东西的前期学习阶段,最痛苦的是从不知道到知道. 在写这些文章的目的 自己学习和记录归纳的同时,也是帮助他人减轻学习的难度。随便交流心得体会

目录

  1. 开发工具和利器
  2. 开始的学习的资料和内容
  3. 是否要跟着苹果走
  4. 项目的开始及入手
  5. 项目的架构和实践
  6. 合理利用第三方的,保持敬畏的心
  7. 迭代和精益求精
  8. 分支系列
  9. 其他(后期更新。。。)

每一个内容都很大,自己的知识和理解也有一定的局限,文字的表达可能也是有一定的局限但愿自己的绵薄之力可以让国内的iOS开发者在迷茫中多一丝希望,在OC flutter RN 等一系列技术架构 多一个选择项目。

开发工具和利器

namepath
语言Swift
UI架构SwiftUI
异步操作Task / Async
响应式异步编程Combine
项目架构参考wwdc demo
第三方集成SwiftPackage
UI iconsSF Symbols

虽然不是实现app 的唯一路径,但是这个是SwiftUI 实现一个项目 相对简洁直接的项目实现方案

平台问题

SwiftUI 支持全平台开发

Introducing SwiftUI 对于 iOS macOS tvOS watchOS 轻适配 就可跑起来项目,但是如果想UI交互 变化较大,建议分层管理,数据逻辑和UI交互进行分离。

提高效率,减少项目人员,核心的内容可以快速迭代,提高沟通成本(所有技术总结和teamleader 的口头禅)

大概架构如下

image.png

基本每个技术架构对于平台的支持 都是如此,只不过 这个是苹果版本。 记得之前写OC 也是同样版本,不过SwiftUI和Xcode 搭配的更流畅和简单

其他工具

UI预览SwiftUI preview 每次新建UI文件 自带功能
数据抓取Charles
Demo 新功能学习WWDC视频一般都是在2020 后的
IDEXcode
设计Figma

开始编写

不可能都学会了再编写,这个不是高中念书的时候,都学会了再考试。

  • 1 有基本的页面架构

  • 2 对于自己讲要写的项目 有60%以上的认识

  • 3 开始的代码写的烂 不代表以后不能修改

  • 4 给自己一个后悔药,用Git 管理代码 哪怕是本地库

  • 5 性能时时刻刻看着Xcode 的CPU和内存的消耗

  • 6 开发最不会的 UI icons 利用苹果自带的 SF Symbols 4 SF Symbols

其他的我还没想到,反复被一个没想懂的控件折磨也是常有的事情,人和人最小的差距是智商,最大的差距是认知。

第一节 结语

第一个写的博客关于SwiftUI,都是很泛泛的内容,没有太多关于代码的复制,这个可能和我个人对一个新事物认识的角度有关系,从外表和工具入手,内核的东西我自己往往都是最后才开始,人菜需要视觉的上的成就感。

大部分开始学的时候都是从苹果文档上学来 developer.apple.com/ 每一年的wwdc,都有新东西出来。写这个也是因为国内的关于swiftUI的不是收费就是重复,我在网上发现,日文的开发内容比国内的丰富,就萌生了自己也写写的想法。 其他的文章 尽量配合视频来输出。