swif中国开发者大会--笔记(部分)

一、《如何打造一个让人愉快的框架》

1、目前swift只支持framework不支持静态库(.a)。

2、如果要让cocoapods支持swift需要把use_framework;cocoa pods是入侵式包管理工具,会更改工程的结构。

3、carthage动态库管理工具,仅支持framework,非入侵式,不更改项目文件,去中心化,直接从git拉取。

4、swift package manager。

5、创建框架的tips:(1)框架对于app的区别主要重点是在api的设计。(2)提供较少的接口来完成任务。(3)命名的重要性。(4)测试驱动开发。(5)减少命名冲突,添加前缀。

6、版本号x(major).y(minor).z(patch):(1)major:公共api改动或者删除。(2)minor:新添加api。(3)patch:bug修复。

7、持续集成,选择合适的CI,比如:TRAVIS CI,CIRCLE CI,COVERALLS,CODECOV.

8、自动化发布流程:FASTLANE。强烈推荐学习AFNETWORKING/FASTLANE.

9、优秀的框架包含的特点:文档、注释、完善的测试保证、代码质量、更新日志、issue响应速度。

10、检测代码质量如何的工具:COCOAPOD QUALITY(给开源项目打分)。

11、可能的问题:(1)兼容性问题(新老版本数据持久化的兼容)(2)重复包含的问题。在框架开发的时候一定要将EMBEDDED_CONTENT_CONTAINS_SWIFT设置为NO;不要手动将依赖的framework拷贝到你的项目中,应该使用cocoapods、carthage这样的工具来管理。(3)swift更新后,用老的swift编译的framework失效。


二、《越过OC与Swift间的鸿沟》

1、swift是一门静态的强类型的语言。

2、swift中尽量不使用继承。应该尽量使用protocol、(Generic)泛型、struct、extension、enum来达到目的。

3、没有swizzle了。

4、不使用继承的理由:(1)组合往往优于继承。(2)类是生成的对象是引用类型的,不便于代码的维护。(3)Mutable、Thread hells、locks。。。。。(4)静态的强类型语言下会产生大量的Type Casting,会导致:a、失去编译器对类型安全的保护。b、与OC不同的是Type Casting在Runtime消耗大量的性能。c、大量的代码冗余。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值