简介
iOS开发一直用Object-C,熟悉了其实还好,需求基本能满足,开发语言不会成为阻碍;
Swift一开始的时候看过,不过现实中,还是以Object-C为主。不使用,开发语言就不会熟悉;
并且早期的Swift确实有些问题,比如安装包过大等等。
现在项目中要求用Swift,那么就有必要好好学习一下。
阶段1:基础知识学习
1. 语言指南
-
Swift语言指南,对于学习Swift开发语言是很有帮助的。
英文版
中文版翻译SwiftGG
这个中文版翻译还是挺好的,可以当做语言的查找工具来用。 -
Playground对于学习指南是个不错的工具。一些例子可以实际跑一下。并且现在的Playground支持Markdown语法,可以用注释写文章,虽然不是很完善,有很多体验不好的地方,但是也能带来一定便利。
2. 第三方库
iOS开发离不开第三方库,一些优秀的第三方库值得好好学习。
3. 常见问题
一些开发中常见的问题,不管用什么开发语言,都会遇到。一些常见的案例,Object-C可以怎么做?Swift可以怎么做?对比着来看,会有帮助。
4. 包管理工具
swift有自己的包管理工具,那么还要用CocoaPods吗?
阶段2:Demo程序
重构有两种做法。一种是按照模块逐步改写。这样做比较稳,也是常用的做法。
另外一种是重写,实际用的比较少,不过作为学习来说,本人比较推崇。
-
客户端最烦的一点就是没有后台数据。有现成的程序,虽然API都完备,但是用真实的API,往往要满足各种条件,比较麻烦。
-
将后台数据写死在代码中,这种做法不是很好。经常发生忘记修复,导致线上问题。
-
有专门的Mock第三方库,这个很不错,实际工程中可以用。不过总是感觉差了点意思。
把mock数据写在Demo后台:
-
采用key-value的形式:
key为手机号和接口path两个字段;一个代表用户,一个代表API
value为Jason字符串,不区分具体业务; -
提供前端页面进行Jason字符串的读写操作。Jason内容由前端开发,测试等具体的接口使用人员自定义;
-
环境切换信息放入http的头部,具体的切换动作在demo后台实现
阶段3:重写
-
经过Demo程序的锻炼,对于swift的使用应该有了一定的感触,并且一定会有对Demo程序不满意的地方,想重新来一次。Demo程序的实践,会给实际的重写工作带来很多有意思的内容。
-
经过Demo程序的锻炼,对于具体业务也比较熟悉了。把业务的API数据都是自己编的,想不熟悉都难。
-
正式重写就应该接上正式的API,当然两套共存,在内部做个开关也是好的。Demo程序对于应付苹果审核是很有帮助的。
-
Demo程序中一些好的代码甚至可以直接拿来用。
-
重写做加法,并且要做好测试。先内部试用。当重写版本赶上正式版本的时候,就可以考虑逐步替换了。
-
重写可以轻装上阵。一些历史的反复就不要引入了,只要用最新的,抛弃历史包袱。版本可以高一点,比如现在,直接从最新的iOS15开始支持,一两年之后,就适合实际了。可以直接采用语言的最新特性,不需要考虑历史版本的兼容。
网友评论