本为为译文
新的研究问题,如:
1)移动Web应用程序连接电话网络(3G,4G)时与使用 802.11(无线)或802.16(WiMax的使用时)连接表现是否不同?安全是有差异吗?是否有显着性差异的反应?传统的回退和异常处理技术是否够用,或是丢失的连接可能性(或更高断断续续的连接)是否要求额外的处理机制?
2)确保数据的完整性是否需要新的技术,传统的客户服务器模式中的同步技术是否就够了?丢失连接或电池供电的潜在损失,如果此类事件期间发生的交易或系统更新,是否代表程序和/或数据的完整性的风险?
3)应用程序是否应该因他们正在网络上的速度不同而采取不同设计?在亚洲,一些国家提供的50MB率或更高,而典型的速度在美国,甚至与3G 网络,1 MB以下。
4)如何开发人员应如何创建的应用来最大限度地延长电池寿命和资源的使用?再次,这些问题仅仅是一个广泛的小部分研究问题,需要进一步研究。
3.3流程,工具和架构
随着移动应用程序变得更加复杂和任务关键,发展组织必须引入在今天的敏捷过程和发展环境中涵盖解决多个方面的发展的进程。如前所述,用户体验是特别重要,所以有一个更大的需要创建用户界面的原型(S),尤其是当将支持多台设备。
测试是移动软件工程的另一个重要研究领域。一个问题涉及到的测试产品系列研发的方法,如Android设备。这是只是模拟器上测试Android应用程序是不够的; 它必须在许多不同的Android设备上,在各种电信操作系统的不同版本和网络,也许L10N和I18N选项上运行测试。成套的综合测试将简化这个过程。
另一个研究领域涉及在快速变化的移动平台中维护应用。而“早期——领养”的消费者往往愿意更新他们的设备和他们的应用程序,大多数企业用户不太可能这样做。在许多情况下,他们的公司将有政策劝阻他们这样做,正如我们可以看到的企业从Windows XP到Office 2003的缓慢转变。一个特别有趣的问题涉及到在这些设备上使用虚拟化技术作为一种方式来支持各种平台上。
最后,应用开发和部署移动向“云”。这种新的计算模式不仅会影响发展进程和工具,也影响应用架构。
3.4可移植性
应用开发人员在苹果的AppStore的创建后快速开发的iPhone平台上的应用程序。正如以上,其他移动平台和设备供应商已完成相同的事情(或在这样做的过程中)。应用开发者的一个重要的问题是为应用程序开发是决定在高度分化的移动开发世界中决定使用哪个平台。今天,有至少五个重要平台(iPhone, Android,黑莓,Windows手机,塞班)。
从应用程序开发人员的角度来看,支持多个平台需要很大代价,尤其是当有多个版本,并为他们的每个变种开发程序时。应用程序开发商有几个选项:
1)只为一个单一的平台开发和使用,在某种程度上很可能,共同可用的功能的子集已经可以在所有变种和该平台的不同版本上使用,因此,例如,开发人员可以将只有一个代码库的应用程序将运行在不同版本的iPhone,iPad,也可能是iPod Touch。虽然这种方法将简化了生成的应用程序开发人员的工作,但不能利用不同平台的独特优势;
2)为每个平台和其变种开发本机应用程序,需要权衡开发和维护成本与为每个平台单