硅谷与国内的IOS开发比较篇

请关注DeveloperQ公众号

DeveloperQ公众号

硅谷与国内的IOS开发比较篇


  人们对苹果智能终端的狂热追求,这对IOS软件开发工程师来说是一个很大的契机。国内对苹果IOS开发行业起步比较晚,还有很大的发展空间。但是硅谷与国内的IOS开发还是差别很大的,我们一起来比比看。



01

国内使用SDK和硅谷大为不同

  首先是最本质的三个不同:国内的支付使用的是支付宝和微信,地图使用的是高德和百度导航,国内的第三方登陆时微博、微信和QQ。而硅谷在线支付方式是信用卡,地图使用的是苹果自带或谷歌地图,等三方登陆时Facebook和Twitter。

  这三者就意味着开发引入的SDK完全不同。在Uber被滴滴收购前,其美国的APP和中国的APP完全是两个不同的APP,因为大量 SDK 不同导致架构和接口需要重新设计。再加上国内对于数据的严格掌控,很多 App 后台 API 的设计需要单独处理,流量需要导入到中国境内的数据中心,App 的界面亦要根据中国的网速针对优化。

  另外,国内开发经常大量的调用第三方的库。而硅谷的大厂开发基本都是自己开发内部的工具和库。可能调用开源库确实比较方便快捷,但是硅谷的大厂考虑更多的是版权和代码质量的问题,所以在开源或是使用第三方库方面格外谨慎。



02

国内注重HotPatch,硅谷注重原生态 

  国内开发对于热补丁情有独钟。滴滴就做出了 DynamicCocoa,通过转化 Objective-C 到 Javascript 进行热修复;饿了么大量使用 Weex 进行移动开发;美团也已经在主 App 里尝试了 React Native。

  相比硅谷,也只有少量小公司开始尝试 React Native。其主要原因也是 App 需求相对简单,跨平台开发相对轻松。大公司几乎很少使用,就连 RN 的母公司 Facebook 也只是在1到2个小 App 上使用了 React Native。

  其主要的原因大概是国内开发需求量又多又急,在加上前些年APP Store的审核非常慢,所以国人在开发上对 HotPatch 趋之若鹜。



03

国内要求快速迭代,硅谷要求测试覆盖

  国内基本上是会有一个单独的QA团队负责测试,而开发者则是不停的写新的代码。在这一点上, 硅谷对测试的态度大相径庭。Google 对于代码的测试覆盖率有严格的要求和审核标准,Yahoo! 甚至在开发中要求采用 TDD (Test-Driven Development),Facebook 所有的代码也都用持续集成测试来保证其质量。

  造成这一差异的本质在两国竞争模式不同。中国人口巨大,竞争对手太多,所以资本的打法就是快速迭代,小步快跑,挤垮对手。面对这样的模式,中国的工程师也只能暂时放弃完善测试代码,将有限的精力集中在开发上。



04

OS工程师需求量不同

  国内现在处于一个IOS工程师饱和的状态,水平一般的IOS开发者多如牛毛,而高手屈指可数。这就造成了一个情况,公司找不到素质过硬的工程师,而很多新手找不到工作。

  硅谷一直是程序员的天堂,一个美帝计算机专业的毕业生, 可以随便就找到一个年薪10doll的工作。在这之中,IOS 工程师更是奇货可居。按照道理来讲,美国这么多年大量输出计算机本科生,硅谷居然还缺工程师,而且连刚毕业的新手都抢手。为什么国内反而却饱和了呢?真实百思不得其解。

  这基于国内内有 IOS 培训班这种东西。这样,工程师可以流水线快速训练出来,他们会带你刷面试题,教你如何拿 Offer,甚至帮你把 Github 和 博客都弄好。再加上前段时间中国处于全民创业的狂潮之中,各种初创企业对 iOS 工程师需求巨大,导致这种培训班居然大行其道。而现在市场回归理性,对于程序员的需求量减少,于是很多刚刚流水线出来的 IOS 菜鸟自然无处可去。



05

产品经理 (PM/PD)素质的差异

  硅谷的产品经理大多和程序员和睦相处,工程师和产品经理的矛盾要远远小于上下级的矛盾,而国内却非如此。

  国内产品经理基本上就是刚毕业的新人,没有什么实战经验,有些都不懂技术。而最重要的开发需求和任务往往是他们提出和分配。这就造成了一个奇怪的现象:一群经验丰富的  IOS 专家,团结在一个不怎么懂技术的产品经理周围,做开发。

  硅谷则对产品经理要求颇为严格:口才和技术是两个必备的技能,很多产品经理甚至是资深程序员转型。一般产品经理也是作为部门经理的接班人来培养的。



06

面试流程不一样

  国内的笔试题真心不好做,面试考得也异常全面。百度甚至考出了红黑树这种变态的玩意,还有公司问 autorelease pool 是用什么数据结构写的。

  硅谷每个公司的面试流程则不尽相同。谷歌是比较极端的考 4 到 5 轮算法,亚马逊与此类似,这种标准化流程让这两家损失掉很多优秀的工程师 -- Homebrew 的作者 Max Howell 因为不会在白板上翻转二叉树而被谷歌拒绝的事情现在还被大家拿来吐槽。相比 Facebook 的面试还比较靠谱,一轮交流,问问简历和文化;一轮系统设计;两轮算法。

  总体来讲,国内面试偏向考试,难度大,要求全面。硅谷的面试侧重算法和基本功,有时候脱离实际。




       政策与文化的差异,给两国的开发环境带来巨大的差别,只是希望国内外能够取长补短,因为互联终将拉平整个世界。您还发现有什么不同之处,不妨在下面留言评论吧!


相关阅读

万绿丛中一点红,女coder也能撑起半边天

真真假假,假假真真,真之极致亦是假,假之极致也是真

Java那些事,好代码如何修炼



广州挪贤计算机科技有限公司

(上市公司)

http://www.kokojia.com/







相关问题推荐