English | 简体中文
可能你无法想象,这本SwiftUI编程书籍是一名产品经理写的。
四年前,由于机缘巧合,我开始接触和了解iOS编程。由于当时公司缺少iOS开发工程师,在我的自告奋勇下,技术总监同意了在产品本职工作之余,协助完成公司iOS版本应用的一些基本功能的请求。
虽然那时的我,除了大学时期学习过C#、C++编程语言之外,毕业后从事的工作中也没有使用过任何一种编程语言。但我的心里很是乐观,向技术总监讨要了一本编程书籍,便开始了蒙头摸索之路。
当时使用的是Swift+UIKit的编程方式,各种协议和样式约束让我头疼不已,每次实现一个小功能或者小页面,都几乎需要花费我一整晚的时间。后面慢慢熟悉其语法特征后,我也能实现一些基本的功能,也能和其他研发同事就某些技术问题深入讨论,这算是意想不到的收获。
说实话,从安装官方的开发工具写下第一行HelloWorld,到在模拟器中运行测试第一个待发版的App,我是即懵懂而又兴奋。项目在模拟器跑起来的那一刻,我感觉自己突破了产品经理的极限,成为了一名“懂技术”的产品经理。
之后由于对iOS编程的浓厚兴趣,我开始接触Swift+SwiftUI的编程方式。
SwiftUI是苹果公司在2019年度WWDC全球开发者大会上发布的全新框架,在国内还较少有企业用于自家商用产品开发,而且在国内能找到的相关开发书籍特别少,因此我在学习过程中花费了很长一段时间,也为此掉了不少头发。
为了后续的方便学习和回顾,我开始在掘金技术社区发表专栏文章,用来记录SwiftUI的学习过程。在经历了大半年,在平台上更新了5个专栏约150篇文章后,有幸和掘金技术社区签约成为了签约作者。后来有幸收到了中国水利水电出版社编辑的邀请,便萌生了写作出版的想法。
这便是这本书的由来。
在准备写这本书之前,我都在想如何才能让这本书生动而有趣。
虽然这本书的目标读者更多的是iOS开发工程师,或是计算机专业毕业的学生,亦或者是想要学习iOS编程的其他从业者。但我希望这本书能够适用于所有人,而不仅仅是程序员。
人人都应该学会编程,人人都可以通过编程学会如何独立思考,如何分析问题和解决问题。
我不希望这是一本枯燥的书籍,也不希望你跟着书本的内容学到了最后,还是没有办法独立开发一款理想中的App。
当初还在学习之初的我,找了很多国内外的免费或者付费的书籍和教程,跟着项目案例一行一行敲代码,到最后也只是实现了案例里的内容,却无法开发出一个完整的App。
这对于一个想要通过努力实现理想和抱负的人是一种很大的打击。
不是因为自己不够努力,也不是自己不够聪明,而是这些书籍、教材只能教你这么多,这是一件很可悲的事情。
我理想中的书籍,是当我们一步步根据书本学习,最后能开发出一款可以上架AppStore的App。当我们编程遇到问题了,可以很快在书本对应的段落找到解决方案。当我们学习完最后一章或者学到中途,我们就可以开发出自己想要的App,而不仅仅是完成书本中的案例.......当然,书本中知识点应该要是最新的。
因此本书会包含基础知识,当然也会包含一些实战案例,我们会实现一个个很小很小的精美页面,并通过对编程中复杂概念的解析,讲述如何使用SwiftUI这一响应式UI框架搭建心中的理想国。
SwiftUI是苹果公司推出的跨平台开源UI框架,同时支持iOS、MacOS、WatchOS、TvOS等多平台应用开发,使用这一框架可以使用很少的代码实现复杂的交互和功能,极大程度上提高了开发效率。
本书共29章,由浅到深系统性地讲解了SwiftUI的背景、Swift语言的语法基础、SwiftUI基础组件、交互操作、数据存储、网络请求、硬件设备、付费模式、应用上架等内容,并在每个章节中结合生动有趣的案例进行讲解,提高书籍的趣味性。
通过对本书的学习,读者将会对SwiftUI框架及多平台开发有全面的认识,并使用SwiftUI进行独立开发。本书适合正在学习Swift+SwiftUI以及对SwiftUI感兴趣的开发人员阅读和参考。
由于是第一次出版书籍,编写能力略显稚嫩,书中难免会有一些错误或者不清晰的地方,在请读者们见谅的同时,也欢迎给予指正和反馈。书籍中的所有案例都可以从GitHub(https://github.com/RicardoWesleyli/SwiftUI.git)中下载,如果你有任何宝贵的想法和建议,也可以直接发送邮件至16620164429@163.com,期待与你的相遇。
感谢一直支持着我的江佩琦小姐,你的李智威先生已经写完了这本书啦~
感谢水利水电出版社的编辑王新宇老师,在我写作的过程中给予的鼓励和帮助,让我能顺利完成全部书稿。
最后感谢我的父母、琦琦的父母,还有我那准备步入职场的妹妹,以及在我人生道路上指引我的张勇老师、叶泳成老师、许治老师,感谢你们对我的支持和帮助,为我照亮未来的路。
谨以此书献给我最亲爱的家人,以及众多热爱iOS的朋友们!
欢迎贡献!如果你发现了任何问题或有任何改进意见,可以通过提交 Issue 或 Pull Request 的方式来帮助完善本课程。
© 2024 [RicardoWesley]
该项目采用 MIT License 许可证进行授权。