Cross-platform development solutions can help to make software available on different devices and platforms. But these are normally restricted to preconfigured platforms and consider that each individual solution is equal or similar to each other. As a result, developers have to resort to native development and build individual solutions, one for each device/platform, that cooperate to deliver the desired global functionality. This article presents an approach that takes advantage of existing solutions and have support for extending and including new platforms, and distributing functionality across devices. The approach is based on a general-purpose language that raises the abstraction level in order to keep the software free from platform details. Automatic transformations produce executable code that can be properly divided and deployed separately into different platforms. The proposed approach was evaluated in four ways. In the first evaluation, an existing cross-platform system was recreated using the approach. The second and third evaluations was conducted with expert and novice developers, who tested the approach in practice. The fourth evaluation introduced support for cross-platform testing. Results have brought evidence supporting the following main contributions: use of a single environment, the ability to reuse similar concepts between platforms and the potential to reduce costs.
翻译:跨平台开发解决方案可以帮助在不同装置和平台上提供软件,但通常仅限于预设平台,认为每个单个解决方案彼此平等或相似。因此,开发者必须采用本地开发,建立单个解决方案,每个设备/平台各一个,合作提供理想的全球功能。本条款介绍了一种利用现有解决方案并支持扩展和包括新平台以及跨设备分配功能的方法。该方法基于一种通用语言,提高抽象水平,使软件远离平台细节。自动转换产生可执行代码,可以适当分割,并分别部署到不同的平台。拟议方法以四种方式进行了评价。在第一次评价中,利用现有的跨平台系统使用该方法进行了重建。第二和第三次评价是与专家和新开发者一起进行的,他们在实践中测试了该方法。第四次评价为跨平台测试提供了支持。结果为以下主要贡献提供了证据:使用单一环境,在平台和潜在成本之间再利用类似概念的能力。