mirror of
https://github.com/NohamR/knowledge-kit.git
synced 2026-05-24 20:00:37 +00:00
docs: APM 监控部分
This commit is contained in:
@@ -18,4 +18,23 @@
|
||||
|
||||
2. 当你修改完语法问题的时候,编译工程,发现还是存在一些问题。大体意思是说 Swift 的编译版本不再支持。所以我们需要选中 targets ,切换到 「Build Settings」 下面,搜索 「Swift Language Version」,在后面勾选合适的 Swift 版本。在这里我选择了 Swift 5
|
||||
|
||||
$$
|
||||
|
||||
|
||||
## 手淘 App 落地 Swift,推进生态
|
||||
|
||||
经过技术调研、基础设施建设、工具链升级、里程碑业务上线和社区培训,得出“拥有一把锤子可以敲一个钉子,拥有一个工具箱可以造一艘航母”。
|
||||
|
||||
首先是业务视角:
|
||||
- 在业务需要快速迭代的时候,现有的 iOS 工程师主要以 Objective-C 为主,转战 Swift 需要一定的学习曲线,而且采用 Swift 效率是否一定有提高也有待考证;
|
||||
- Swift 只能解决 iOS 侧 Native 研发问题,对于高迭代效率的跨平台技术,收益不足。
|
||||
|
||||
其次是技术视角:
|
||||
- Swift 早期由于 ABI 不稳定,只能将 Runtime 内置在 IPA 包里面,占用约 3M 的下载空间,苹果还有 150M 的蜂窝网络下载大小的限制,且对启动性能有 150ms 的影响,在各家公司拼体验的时代,这些都会对公司的业务造成负担和损耗;
|
||||
- 由于语法不固定,每次升级都会造成源码级别的 Break Change,对开发者也会造成负担。淘宝、美团等巨型 App 都采用了二进制组建化研发模块,Swift 只能固定开发工具版本,对大型团队是一种负担和制约,反而极大的降低了研发效率。
|
||||
|
||||
未来一两年内国内 Swift 生态还是会有巨大改善的,主要有以下几个方面:
|
||||
- iOS 12.2 以上内置 Swift Runtime, 包大小随着存量旧版本操作系统升级后得到缓解;
|
||||
- iOS 12.2 以上也没有启动性能的影响;
|
||||
- Swift 语法不再大变,不会对开发者造成负担;
|
||||
- 苹果继续强势推进,Swift 社区热度持续提升。
|
||||
相信生产力大幅提高后,没有人会放任好用的工具不用而去用一把快要锈掉的锤子(Objective-C )。
|
||||
Reference in New Issue
Block a user