AndroidiOS优点缺点.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android 和 iOS 孰优孰劣:真实应用开发过程告诉你答案 随便搜索一下“Android?vs.?iOS”,都会出现很多关于哪个平台更好的争论,大多数的争论点都是关于市场占有率、易用性和设备分化等问题。当然也有一些“以开发者的角度”去比较这两个平台的文章,但是很少有从技术上做深入的比较,通常也只是用一个简单的示例应用介绍一些基本的特性。缺少这种深入的比较其实是有原因的:一个公司要做一个足够复杂的移动应用,通常需要一个人或团队做Android,另外一个人或团队做iOS。这两个平台使用不同的编程语言(Java和Objective-C),提供不同的SDK,使用不同的开发工具,所以人力资源分配上各做各的平台也就不奇怪了。 GQueues是一个在线任务管理器,之前只有一个HTML5版本。最近我完成了GQueues?for?Android 和GQueues?for?iPhone??iPad 的开发。虽然这两个应用的复杂程度不能和第一人称射击游戏相提并论,但也绝不简单?–?为用户存储和管理数以千计的任务信息、支持多账户、提供到WEB端的后台同步、复杂的过滤、排序和分组功能。通过这次的实践,我希望透过独特的视角,分析和比较为这两个平台开发GQueues应用的过程。 统计概况 Android?App iOS?App 启动日期 Sept?21,?2012 Mar?2,?2013 第一个可测的Beta版本 Dec?22,?2012 June?10,?2013 应用发布日期 Jan?31,?2013 July?18,?2013 项目总耗时 4.25?months 4.5?months Ramp?Up?Time 1?week 2?weeks 开发耗时 870?hours?(approx) 960?hours?(approx) Beta测试Bugfix 34?days 38?days Beta测试人员人数 92?people 48?people 代码行数 26,981?lines 23,872?lines 应用大小 1.1?MB 3.5?MB 视频预览 GQueues?for?Android?Video GQueues?for?iOS?Video 下载 ? ? 学习曲线 我已经写了12年的代码,但这是我写的第一个Android应用,也是我写的第一个偏向数据处理的iOS应用(2010年我做过两个iOS?3上的游戏,但那两个游戏主要只涉及一些动画和蓝牙连接)。?我最后一次用Java是在研究生阶段,而我的Objective-C也仅限于那两个游戏。所以对于这两个平台,我基本上可以算是从零开始。 简单讲,只需要花一半学习iOS的时间来学习Android,我就能开始Android开发。对于Android,我花了一周时间用来看书、跟着一些教程做一些测试应用,这些测试应用包含了GQueues将会用到的一些核心功能。做完这些,我基本上算是打好了为GQueues设计架构的基础,同时也可以开始为这个项目写代码了。在接下来的一周我可以很轻松自如地基于Android做开发,而不再需要依赖某个资源去实现新特性了。 对于iOS,我同样按照上面的流程,但我花了两周时间做各种测试/实验,才让自己觉得可以开始为这个项目写一些基础代码了。其中大部分的时间都花在研究CoreData各种复杂的API上面。搞清楚怎么设置、怎么在线程安全的前提下,为每个用户集中管理PersistentStoreCoordinators和ManagedObjectContexts也花了些功夫,最重要的是要支持多账户(这个话题可能需要另一篇博客来单独讲讲)。为FetchedResultsControllers开发一个可扩展的架构花了更多时间,FetchedResultsControllers用于支持可被用户查看以及操作的任务表单、队列和分类。最后又过了两周(总共花了一个月)自己才能比较轻松自如地基于iOS写代码。 总的来说,Android的文档(官方文档、第三方教程、图书、代码示例、StackOverflow)质量都非常高。我从一些著名的开源Android应用中学到了很多架构上的最佳实践,如Google开放给开发者的2012?Google?I/O?app。此外,Android本身就是开源的,必要时我可以自己查看Android的平台代码,弄清楚一些疑难问题。虽然iOS也有很多文档,但由于iOS5和iOS6相比之前的版本改动非常大,大部分文档都已经过时,其中包括ARC入门一文(introduction?of?Automatic?Reference?Counting)。因此,大部分的示例代码(包括Apple官方示例)和一些问题的解决方法都是不正确的,需要使用新的方法取而代之。搞清楚这些肯定也

文档评论(0)

ipad0c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档