习惯 SwiftUI 的思考方式,为下一个十年的 Apple 平台开发奠定基础。

与 UIKit 这样的传统面向对象的 UI 构建方式相比,SwiftUI 有着天壤之别。声明式的构建方式可以天生避免一系列 app 开发中的最常见错误。不过,这需要我们使用不同以往的思考方式,来处理可能面临的新问题和新需求。

本书详细解释了 SwiftUI 编程中最重要的一些概念,让你能够在很快时间内建立起 SwiftUI 的编程思想,以此快速完成向全新编程范式的转换。

本书内容

  • View 更新

    如何高效地构建和更新 SwiftUI 的 View

  • View 布局

    布局算法基础以及内建 View 的布局方式

  • 动画

    隐式动画,显式动画以及自定义动画

  • 自定义布局

    使用锚点和其他布局技术创建自定义布局

  • Preferences 和 Environment

    在 View 树的两个方向上传递数据

  • 习题

    每章附带练习,帮助你实际掌握所学内容,加深理解


关于作者

  • Chris Eidhof

    Chris 是 objc.io 的创始人之一。他之前是一名 Haskell 程序员,最近几年 Chris 专注于 Apple 平台并进行了深入研究。

  • Florian Kugler

    Florian 是 objc.io 的创始人之一。他已经对 OOP 编程范式如数家珍,现在他正在研究单子和函子的终极奥义。

关于译者

  • 王巍

    ObjC 中国的创始人之一,objc.io 书籍翻译工作组织者。使用 onevcat 作为 ID 活跃在中国 iOS 开发界,Swift 使用者。


常见问题

  • 这本书和《SwiftUI 编程思想 (2023)》有什么不同?

    本书是针对 SwiftUI 早期版本的初版图书,2023 版针对新的特性和变化完全进行了重写。由于改动太过巨大,我们决定将新版作为新图书进行发布。

  • 这本书针对的 Swift 版本是?

    本书是针对 Swift 5.7 和 iOS 14 中的 SwiftUI 框架编写的。如果您需要最新的内容,可以考虑购买《SwiftUI 编程思想 (2023)》。

  • 我能在哪里找到书中的示例代码?

    书中的示例代码都放在了 GitHub 的这个仓库中,您可以随时查阅。

  • 阅读本书需要 Swift、SwiftUI 或 UIKit 知识吗?

    我们希望您至少使用 Swift 和 UIKit 进行过开发。本书的主要目标是为您介绍 SwiftUI 的思考方式及工作原理,所以 UIKit 经验或者 SwiftUI 经验会有很大帮助。

  • 这本书是 objc.io 的英文书,为什么会有中文版本?

    我们是 “ObjC 中国” 组织,我们与 objc.io 展开了深度合作,并获得了 objc.io 的授权,在中国拥有这系列图书的独占翻译和销售权。

  • 中文版和英文版有什么不同?会保持同步吗?

    中文版和英文原版内容是一致的。书中偶有难以理解或国内鲜见的语汇,对此我们通过译注的形式进行了进一步的解释,以帮助读者理解。本书将继续更新并和英文版保持同步,但是在中英文版更新之间会有一定时间差。

  • 翻译书籍一般都很烂,这本书的质量可以信任吗?

    “ObjC 中国”致力于最优秀的翻译作品,我们希望能将先进的 Swift 开发技术以更易懂的方式介绍给中文社区的开发者们。本书由国内有深厚英文背景的一线开发者花费大量时间和精力翻译,由 onevcat 逐句进行审核。我们保证,本书一定会是一本由开发者书写,经开发者翻译,最终提供给开发者阅读的优秀图书。

  • 这本书有纸质书吗?

    我们暂时不提供这本图书的纸质版本。

  • 我能在什么设备上阅读本书?

    我们提供排版精美且 DRM free 的 PDF、mobi 和 epub 格式图书,这意味着您可以在任意带有 PDF 阅读器的桌面或移动平台、iBooks 以及 Kindle 等绝大部分常见阅读设备上进行阅读。

  • 付款方式是怎样,我能获得后续更新吗?

    您可以通过信用卡、支付宝或者微信支付进行付款,在购买时请确认您填写了正确的邮箱地址,您将可以通过邮箱地址和账号在本站下载书籍的后续更新。但根据更新策略,在内容剧烈变动时我们可能会推出全新的替代版本,届时您可能将需要重新购买。

  • 为什么付款时的价格和网站表示稍有不同?

    我们的结算服务不能直接收取人民币,因此最终价格是经过订单生成时的汇率换算后的价格,可能会与原价有些许不同。

  • 我成功购买了,但是下载失败或者下载没有开始?

    如果在订单完成后连接中断或者速度很慢的话,请检查或者更换您的网络设置后,使用购买时的邮箱登录进行下载。如果依然存在问题,请联系我们。

  • 除了本书,还有其他推荐的图书吗?

    请您关注本站的书籍页面以获取更多信息。

  • 我还有其他问题。

    欢迎使用邮件联系我们,我们随时准备好为您提供服务。