论文部分内容阅读
移动应用已经成为当前公司展现自己服务不可缺少的途径,多种不同类型的移动设备和移动端操作系统更是带来了多版本应用的需求。为了让客户使用应用时能够从一个平台顺利的切换到另一平台,移动应用公司多会在不同平台上开发具有相似用户界面(UI)的应用程序。但是,每个平台都有自己独特的控件模式和编程语言,如何高效地开发多平台上UI 一致的移动应用是一项非常具有挑战性的工作。在本文中,我们从程序转换的角度思考该问题,提出了一种自动化的跨平台移动应用UI转换方法,并通过一系列从iOS到Android的转换案例来验证这种方法的有效性。同时具有iOS和Android版本的应用通常具有相似的UI,其背后的控件属性的使用方式之间则具有对应关系,通过将之提炼为对应性的规则并用于转换的制导,可以实现移动应用的UI跨平台转换。首先,本文方法收集多版本同应用,对他们进行逆向并将所得的UI实现划分成模块。随后,将能够实现同一功能的具有对应关系的模块合并并整理成规则。最后,对于待转换的UI也将其实现划分成模块,并通过已有的规则进行匹配与转换。将新模块中的控件树、以及属性或者音频、视频等资源文件组合成新的UI。工作的主要内容如下:1.提出了一种针对相似界面Android和iOS应用的UI控件及属性对应性规则的获取方法。对应性规则包括UI界面上的一组控件,以及这些控件之间的布局、结构的信息,还包括了控件所带有的一组属性。该方法可以自动的从已有的同一应用多版本中获取规则,并且将这些规则存储到数据库中。2.基于上述所获取的规则,提出了 iOS向Android应用UI代码的自动转换方方法。针对待转换的iOS应用,在规则数据库中进行匹配,并根据匹配到的规则进行控件树与属性以及其他资源文件的转换,得到可运行的Android UI代码。3.基于上述方法,开发了相应的原型工具并进行了实验。我们从18个已有应用中获取了规则数据库,并进一步成功转换了8个开源的以Storyboard/xib形式组织UI的源iOS程序。实验从四个方面评估所得Android UI的视觉效果和功能效果:有效性,准确性,模块深度是否最合适以及本文方法与其他工具的比较。