前言
自从iOS横空出世,移动应用开发持续火爆,人才需求量节节攀升,开发人员的薪资也勇攀高峰。但是,随着一批跨平台移动开发框架(如基于JavaScript的PhoneGap、React Native,基于.Net的Xarmain等)的出现,企业对iOS与Android原生开发的需求量下降,其实大家在招聘网站上就可以感受到相关职位的减少。然而,所谓的跨平台移动开发其实是个大坑!原因很简单:没有一个操作系统愿意与其他的系统兼容、统一。比如Android与iOS,即使它们在不停地互相学习,功能越来越相似,但是它们的开发语言、SDK、API等不论在哪个层面都绝不兼容。所以当使用跨平台框架开发同时兼容iOS和Android的App时,就会踩到很多坑。更悲催的是,一旦某个操作系统升级了,你使用的框架可能马上会出现兼容性问题,你可以等待框架开发者把这个问题修正,但不知何年何月,实在等不了,你只能自己修正问题,于是你需要对这个框架的底层很熟悉,并且还要同时熟悉iOS与Android的原生开发,也就是说,你买了一个复杂的工具,你需要用它做两样不同的产品,你既需要学习如何使用这个工具,还要学习这两个产品的制作流程,还要学会修理和改进这个工具,有点恐怖啊!当然这可以煅练你的能力,让你成为牛人中的牛人,但是这会拖延开发进度,你的老板能接受吗?
最近出现了很多反思这些框架的声音,而且已经有国外公司放弃React Native的事件发生,同时我在各技术群中感受到Android和iOS开发的招聘数量比过去两年有明显的增加,这都说明大家正在回归原生开发。当然我不是在完全否定跨平台开发框架,它们有它们的适应场景,比如一个电子商城App,只提供商品展示、拍照、收藏、购物等常见功能,跨平台框架是完全能胜任的,但问题是,你依然需要熟悉原生开发,才能用好跨平台开发框架!本书讲的就是Android原生开发的故事,情节跌宕起伏,一波三折,相信你会喜欢。