英语原文共 15 页,剩余内容已隐藏,支付完成后下载完整资料
iOS和Android移动应用程序的本地、跨平台和超级移动开发工具方法的比较
Shan Jian
查默斯理工大学
哥德堡大学
计算机科学与工程系
瑞典,哥德堡
gusjiash@gmail.com
摘要:为了在竞争激烈的移动应用市场中占据一席之地,大多数信息技术(IT)公司都必须开发出适用于各种移动操作系统的应用程序。为了解决这个问题,Cybercom提供了一个论文主题和一个项目,通过在android和android应用程序之间共享这些生态或功能,减少了开发时间。为了在不同平台之间进行重编码,利用跨平台工具和混合工具,作者进行了一个案例研究,包括在Xcode、Android Studio、Xamarin和Cordova 生产特定类型的移动应用程序,并从实现过程和生成的应用程序中收集数据。本文不仅比较了单个流程和应用程序的性能,而且分析了来自各种移动开发工具的数据。为今后研究人员和开发人员选择最优的移动应用开发工具提供参考。
1.介绍
随着电子产品的功能和普及程度的提高,对相关应用的需求也越来越大。如今,这些应用正从不同的角度直接影响着我们的日常生活。智能手机市场的领导者Android和IOS在2015年年中之前将提供数百万个应用程序(图1)。正如J.Perchat[14]提到,为了满足这些不断增长的市场的需求,开发人员需要掌握各种编程语言并拥有多个设备才能创建不同的应用程序。最终的目标是减轻开发人员的负担,并为选择最适合不同环境的工具提供建议。
图1:2015年7月 可用的app的数量 [1]
Cybercom在几个项目中意识到并经历了这种冲突,因此他们决定通过给作者提供一个论文主题来解决这个问题。作者是软件工程与管理专业本科三年级学生,同时也是cybercom论文工作的一名学生。他从开发过程和结果质量的角度,对平台开发工具(SPDT)、跨平台开发工具(CPDT)和混合移动应用开发工具(HMDT)三大类开发工具进行了案例研究。本案例研究包含四步成形过程,所有实验均由本研究的唯一开发人员作者完成。由于Cybercom和作者之间存在着独特的关系,所以没有其他开发者参与这项研究。
结合行业实践和文献综述,本文做出了几点贡献。首先,它为读者提供了这三个IDE的类别方面的概述,例如许可证、API、支持移动平台、可用性等。其次,对不同类别的优秀工具进行了四次实验。该过程、阻滞剂的数量等将被记录下来,以供其他研究人员评价和参考。第三,本文对各种工具交付的产品进行了详细的分析和评价。这些方法可以为行业合作伙伴Cybercom集团以及未来工具选择领域的研究人员提供建议。
本研究共分三个阶段:第四部分为实施准备和案例研究;第五部分为四个开发工具的案例研究;第六部分为解决研究问题。准备部分说明了本研究中使用的工具,选择这些工具的原因,以及最终产品的功能要求。第二阶段从实现过程和应用程序两个方面收集数据。为了客观地收集定量和定性数据,我们选择了一些工具和方法来辅助这一步。在收集了足够的数据后,最后一个阶段开始了。为了解决研究问题,作者将数据分为两个关注点:过程和产品。这一阶段从不同方面阐述了分析结果。除此之外,第7节说明了对有效性的威胁。最后讨论和结论会在第八节呈现。
2.背景
本节首先更深入地描述这三类平台,并向读者提供一般的移动开发知识。然后是对以前工作的描述,以及这篇论文与他们有何不同。
2.1开发平台分为三类
如前所述,移动开发工具有三大类。Xcode和Android Studio是第一种类型的典型代表——SPDT,通常用于开发适合本地环境的平台应用程序。这个单一平台开发工具都具有完全集成的功能,比如用户界面构建器、调试器、支持外部库、硬件访问。除了所有这些好处,他们只能构建应用程序的限制包括单一环境用不同的编程语言和一些限制安装环境,例如Xcode只能用于Mac OS X以其独特的开发工具Xcode开发iOS应用程序,并且开发人员只能利用Android Studio开发Android应用程序。
另一方面,CPDT类的开发工具通常支持开发人员为多个平台构建移动应用程序,并支持在各种环境中安装。其中一个特性是只需要一种编程语言,该工具将帮助程序员自动同步和生成特定于平台的代码,以便创建多个适合各种平台的移动应用程序。
在HMDT类中,Cordova和Titanium由于其基于web应用的特殊性,也可以生成适合不同环境的移动应用。这些应用程序是用HTML和JavaScript作为网站构建的,但是可以访问比web浏览器更多的硬件特性。
本文的重点是为初级开发人员提供更多关于开发iOS和Android应用程序的信息。因此,笔者作为唯一的开发人员,利用从这三类中选择的开发工具,进行了四次开发,创建了三对iOS和Android应用程序。
2.2相关工作
这一领域的大多数论文都有各自的关注点。Boushehrinejadmoradi[4]、Heitkuml;otter[8]和palmieri[13]通过构建原型测试工具来检查它们之间的行为一致性,从而比较了不同的开发框架。Appiah [3], Thakare [17], Heitkuml;otter etal.[8],Dalmassoetal[5]另一方面,建立了一些标准来评估不同的开发工具。Xanthopoulos [18]等人以发展为例,对CPDT的单一类别进行了全面的认识。
现有文献的价值主要集中在一到两类移动开发工具上,强调标准分析或原型测试,如Angulo和Ferre[2]、Paulo R. M.[6]和J.Masner [10]。然而,本研究将重点放在这三类移动开发工具中的一些优秀工具上,并进行实用的比较。此外,评估他们的性能将进行建设一个类似的iOS和android应用程序与这些日期。
3.研究问题
在观察到SPDT、CPDT和HMDT在移动开发领域的使用不均衡后,于2016年3月中旬进行了一项调查发现了“IOS和Android移动应用程序开发工具决定[9]”。结果表明,哥德堡大学软件工程与管理专业三年级的初级开发人员中,有15%的人愿意在未来的项目中使用CPDT和HMDT。这个数字增长到了68%[9]之后这些初级开发人员阅读了CPDT和HMDT的基本信息。这种现象没有引起什么问题。为什么初级开发人员害怕选择CPDT和HMDT? CPDT和HMDT能够帮助初级开发人员提高整体性能吗?从SPDT到CPDT和HMDT,开发Android和IOS应用程序的过程是否有所不同?这三个方面的部署结果是什么?
本研究将为读者在创建Android和IOS应用程序时,从这三类移动开发工具中更好地了解整体开发过程。更深入地理解开发工具和产品质量之间的关系。因此,本研究的研究问题是:当初级程序员为android平台构建移动应用程序时,SPDT、CPDT和HMDT之间的性能有什么不同吗? 代表来自开发过程和最终产品的总体定性和定量数据,它们的性能由每个项目的价值表示。在本研究中,衡量绩效的目的是评估投入和结果的组合。选择开发时间、代码行数、内存使用量等指标来表示性能,以便分析不同工具之间的差异。在研究方法部分对这些指标进行了说明,并对其进行了分析。
这个研究问题的答案可以帮助行业合作伙伴Cybercome在未来的移动应用项目中选择合适的工具。一个正确的决定可以带来最大的产出,它最好的质量,也可以激励员工未来的工作。
子研究问题:
1.实现过程的性能差异是什么?
2.最终产品的性能差异是什么?
4. 准备
本节解释了整个研究的计划,包括如何选择开发工具和确定应用程序的功能需求。
4.1工具选择
正如之前提到的,xcode和Android Studio是仅有的两种官方授权的开发工具,在SPDT领域有无可争议的地位。因此它们是SPDT范畴的展示。
结合前人的研究成果、官方文件和目标移动应用的功能需求,制定这些评估标准,帮助作者正确选择CPDT和HMDT。
bull;许可:可以有多种类型,但在研究学习的目的中,必须至少有一种类型是免费的。
bull;API:对于初级开发人员来说,它应该很容易学习和使用。
bull;支持移动平台:它必须支持至少Android和iOS。可用性:它可以在Mac OS X上运行,因为案例研究只在这个环境下运行。
bull;可行性:由这些工具生成的代码应该能在SPTD相关环境下运行。
bull;可扩展性:通过添加外部模块/库,支持谷歌认证API、加密存储以及与服务器的安全通道通信。
bull;UI经验:统一的代码应该能够生成原生相似用户界面。
bull;模拟器:为了开发和测试的目的,必须支持本地模拟器。
在本研究开始时,从CPDT和HMDT类别中发现了十多个选项。其中大部分由于不能满足本研究的标准而被淘汰。然而,Xamarian和Cordova不仅满足了所有的要求,而且还提供了定义良好的文档和示例。因此这两个工具结合了案例研究的评估。
因此,Xcode、Android Studio、Xamarian和Cordova 被这个项目选中。这些工具的详细信息可以从所有这些测试标准中得到。
4.2 功能需求
功能需求在本研究中扮演重要角色。他们决定整个项目的计划,选择开发工具,以及以后可以收集什么样的数据。本研究的所有移动应用都应应用这些功能需求:
CPDT Xamarin |
HMDT Cordova |
SPDT Xcode |
SPDT Android Studio |
|
许可证 |
社区版:免费 专业版:45/月 企业版:250/月 与Xamarin MIT许可证集成 |
免费,开源 |
对MAC用户免费 |
免费 基于IntelliJ (开源) |
API |
Xamarin.FormsApi Xamarin.iOS Xamarin.Androi |
电池,相机控制台联系hellip;网络信息、文件传输等。 |
原生支持 |
原生支持 |
支持移动平台 |
Android IOS Windows |
Android IOS,黑莓 Windows |
IOS |
Android |
可用性 |
Mac OS X Windows |
Mac OS X Windows |
Mac OS X |
Windows,Linux Mac OS X |
编程语言 |
C# XAML for mark up |
HTML5,CSS3, JavaScript |
C, C , ObjectiveC/C Swift, AppleScript,Python,etc. |
Java,XML |
可行性 |
1.提供云中实际设备的测试。2.支持多个线程同时调试和跨多个线程检查状态3.硬件调试4.监控应用程序性能,如CPU、GPU和内存使用量、UI响应能力和网络利用率5.XAML的UI调试6.使用移动平台进行更新 |
1.与Phone Gap,Ionic,Monaca, AppBuilderhellip;同时工作 2. 不要提供本机调试选项。必须使用Xcode或Android Studio吗 |
1.界面构建器2.版本编辑器,比较版本3.之间的差异。测试导航器4.定制环境5.预配置代码6.定制方案(构建和运行)7.僵尸检测可以陷阱哈德托。查找崩溃和错误 |
1.翻译编辑器帮助更新字符串资源2.集成样例项目3.与谷歌App Engine集成。4.单独的测试模型 |
可扩展性 |
支持库:Objective-C, Java, C/C |
有1199插件支持不同的平台 |
本机库,外部库与objective-c, Swift和c |
从“安卓支持库”选取 |
UI体验 |
1. 支持本地用户界面。2. Xamarin的表单可以将基本代码转移到特定于系统的U 剩余内容已隐藏,支付完成后下载完整资料 资料编号:[439563],资料为PDF文档或Word文档,PDF文档可免费转换为Word |
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。