-
关于Swift
- 目前还缺reflection特性(respondsToSelector, confromsToProtocol, NSClassFromString等),从而导致无法用ocmock
- IDE不稳定,经常崩溃
- IDE不支持refactor
- 不支持C++,得用objc wrapper,造成项目文件巨大
-
关于WatchKit
- Xcode 6.2暂时还没有AppleWatch的模拟器,目前用Resiable ipad模拟器
- AppleWatch只是附属,算是iOS app的一个远程屏幕(类比:view在手表上,viewcongtroller在iPhone上)
- 明年可能会有native watch app
-
关于Android
- 美国Android需求超过iOS,除了tablet app,很多公司的移动应用开始优先考虑Android
- 4.0开始和iOS缩小差距,5.0强制ART(Android Runtime),摈弃dalvik虚拟机,性能已经好于iOS(简单说从安装的时候就是编译后的机器语言)
- 对移动开发者来说,Android开发可发挥的余地更大,薪资行情还是iOS好一些
-
- iOS不太需要automation,只需要unit test和integration test,毕竟设备大小就那几种
- Android则必须要automation,自带的test framework就挺好
-
关于Mobile Web App
-
关于backend
-
问题:设备上唯一id是ad id吗,用户关闭ad tracking后会出问题吗?
- 貌似没有绝对唯一的id,vendor id删除app后就没了。advertiser则是reset系统后才被reset。
- 如何保证唯一id:系统login之后由服务器分配token,没有试过“同一用户不同设备需要不同id”的需求。另外GA的tracking是自己有advertiser id
-
关于animation
- facebook的pop
- facebook的AsyncDisplayKit
-
关于prototype
-
关于iOS架构
-
native app vs. web mobile app
- 性能差距还是原生应用仍然存在的原因,另外iOS和Android对html5开发不友好
- google的polymer是不错的web mobile app开发框架
-
iOS app本地数据存储
-
SaaS厂商
- parse.com:
- api跟core data概念差不多,数据库完全透明,直接对象存取。
- 提供local datastore
- 新的parse sdk强制使用fb的sdk,用local database会crash
- 做prototype很适合
- 国内可以用
- LeanCloud:国内的parse,无限量push, api兼容parse
- parse.com:
-
ReactiveCocoa
- 关于Javascript
- 关于ipa反向工程
- 关于 meetup
- Cocoahead: Melbourne地区的iOS dev集会。
- 关于 Architect
- Architect的特质
- 需要不断的学习一些不喜欢的东西。比如sharepoint,dynamic
- 需要很多经验 client server , DevOps
- 需要语言,表达,灵敏的思维
- Architect的成长
- 开发->lead->架构系统
- 学习别人考虑问题的角度
- 跳出dev的思维,从全局思考
- Architect的技能
- 写文档,类图,分层,通信,安全,部署,white board
- 与其他的architect team member分享,寻找问题
- 主流系统模块
- 老系统模块
- Architect的特质