- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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官方示例)和一些问题的解决方法都是不正确的,需要使用新的方法取而代之。搞清楚这些肯定也
您可能关注的文档
- 变压器检修选择题.doc
- 学教师职业道德教育》考试历年考题.doc
- PVC管材生产中常见问题解决办法.doc
- 中山东凤镇鑫盛五金喷涂厂搬迁扩建项目.doc
- 基于IOLCD显示频率计.doc
- 超声波应用水位监测报警器(显示部分).doc
- 数控铣床编程实例[1]1[1].doc
- 北京城客运交通枢纽存在问题分析.doc
- 文稿自锚式悬索桥.doc
- 继电保护原理学习指南.doc
- 3.2 学习成就梦想 课件(共27张PPT) 统编版道德与法治七年级上册(内嵌音频+视频).pptx
- 2.1.2植物细胞工程的应用课件(共32张PPT) 人教版选择性必修3(内嵌音频+视频).pptx
- 纲要上第3课 秦统一多民族封建国家的建立 课件(共19张PPT)(内嵌音频+视频).pptx
- 高中历史必修三课件第6课文艺复兴和宗教改革1(共44张PPT).ppt
- 课时5二次函数y=ax2bxc的图像与性质课件北师大版九年级数学下册.pptx
- 《宗教大学生信仰调查报告》.doc
- 信息必刷卷03(广州专用)(原卷版).docx
- 343实际问题与一元一次方程(三)球赛积分问题(分层作业).docx
- Unit2Animals核心单词课件高中英语上外版(2020)1_1.pptx
- 2.1.2植物细胞课件(共20张PPT)人教版生物七年级上册(内嵌音频+视频).pptx
最近下载
- 铁路机车运用管理系统规则(铁总运〔2025〕314号) .pdf VIP
- 河南交投集团招聘笔试真题.pdf
- 二年级数学下册期末无纸化测评PPT.pptx VIP
- 通化(2011)1403-I回流线架空地线安装图.pdf
- 2025年普法学法知识竞赛题库及参考答案【基础题】.docx VIP
- 2025年《植物生产技术》形考作业参考答案.pdf VIP
- DB51_T 3222-2024 电动汽车充电设施消防安全规范.pdf VIP
- 人教版(2024)新教材七年级音乐下册印在心中的歌《中国人民解放军军歌》精品教案.doc VIP
- 冠心病诊断与治疗指南.ppt VIP
- 医药公司温湿度监测系统更换专项内审(包括计划、检查记录、内审报告).pdf VIP
文档评论(0)