基于组件的框架,用于创建移动跨平台应用程序外文翻译资料

 2023-01-08 10:01

本科毕业设计(论文)

外文翻译

Component Based Framework to Create Mobile Cross-platform Applications

作者:Joachim Perchat a,b,Mikael Desertot b,Sylvain Lecomte b

国籍:France

出处:Available online at www.sciencedirect.com

基于组件的框架,用于创建移动跨平台应用程序

作者:Joachim Perchat a,b ,Mikael Desertot b ,Sylvain Lecomte b

国籍:法国

出处:Available online at www.sciencedirect.com

摘要:智能手机提供一组本机功能和第三方提供的另一组功能应用。越来越多的语言出现,没有标准提供他们的设备或操作系统,于是停止了跨平台开发。实际上,开发人员必须学习许多编程语言并创建许多语言,许多设备的用户界面。为了解决这个问题,一些解决方案通常包括创建一个mon SDK,但只能编写一次应用程序。然后应用程序代码将以每个目标的本机代码进行转换平台。在本文中,我们提出了一种基于组件模型的解决方案。一组可配置的组件,为了在目标平台实施。组件将具有独立于主机OS的公共接口。最后一种新语言将通过其接口为开发人员提供对任何组件的单个指令调用。这个指令在任何平台上都很常见,以简化跨平台应用程序的实现。

关键词跨平台,交叉编译器,代码生成,组件集成,通用语言

1.简介

智能手机越来越强大,它们的操作系统支持不同的硬件和软件设施多点触摸屏,3G,Wi-Fi,尤其是安装第三方应用程序的能力。通过这些新的应用程序,新功能已经出现,特别是对于用户的移动性。例如,感谢他们,一个用户可以在一个城市跟踪他的方式,实时显示信息(增强现实),购买地铁票......但是,移动性导致环境的许多变化(室内/室外,城市/高速公路,没有3G覆盖的区域......)。 因此一种新型的应用程序诞生了:情境意识应用程序。

移动领域可以突出表现为四个问题。第一个是用户体验:目标是始终定义为最佳用户界面,以便简单直观地使用。第二个问题与资源和功耗有关:即使设备比以前更强大,它们的内存,功耗仍然有限,第三个是应用程序维护:移动操作系统经常更新,使一些应用程序无法使用在新版本上。那么,我们如何有效地测试和维护应用程序呢?最后一个主要问题是应该的关于设备和移动操作系统的异构性。有各种操作系统提供商和移动市场上的设备构造商。暂时不可能实施统一,并将其部署在所有智能手机上。实际上,它们都使用不同的技术和编程规则。在本文中我们解决了最后一个问题。我们的目标是研究不同智能手机之间的差异,以简化跨平台第三方应用程序的开发。本文的结构如下:第2节显示了移动开发环境,第3节介绍了一些跨平台工具,第4节和第5节解释了我们的提议和

我们第一次实施。我们在第6节中总结并提出了我们的观点。

2.移动开发环境

我们认为智能手机市场分为两类:设备构建器和操作系统提供商。电话服务提供商对我们的问题没有影响。

设备构造器构建,组装硬件(屏幕,GPS芯片......)并在其设备上配置一个OS。配置允许使用特定设备,如相机,GPS,加速度计,Wi-Fi,3G,NFC ...... 当然,这些公司中的每一家都有自己的规则来定义手机的结构。操作系统提供商生成在用户和设备之间建立链接的操作系统。这个市场由Apple组成iOS,开放手机联盟(OHA)与Android,微软与Windows Phone,RIM与黑莓,三星与Bada,诺基亚与Symbian等。今天,两个最流行的智能手机操作系统是iOS和Android。但是,与设备构造函数一样,这些公司创建了彼此不兼容的操作系统,从我们的角度来看,由移动构造函数引起的架构差异不是问题

视图。实际上,第三方应用程序的开发人员无法直接访问此层。他们只能访问到操作系统的API,然后访问硬件层。根据表1,我们产生了当开发人员在多个移动平台上实现应用程序时,一些不同点。

在以下部分中,我们将介绍由这些差异引起的问题。然后我们为解决我们问题提出几项主要要求。

表1:几种移动操作系统之间的一些差异。

操作系统

虚拟机

程序语言

用户界面

内存管理

IDE

发展

设备

iOS

没有

Objective-C

可触摸

引用计数

XCode

Mac OS X

均质

Android

Dalvik VM

Java

XML文件

垃圾收集器

Eclipse

多平台

异质

Windows Phone 7

CLR

C#和.Net

XAML文件

垃圾收集器

Visual studio

Windows Vista / 7

均质

黑莓OS

Java ME

Java

In code

垃圾收集器

Eclipse

多平台

异质

Symbian OS

可能有

C

Qt

manual

Qt Creator

多平台

异质

2.1.问题

每个平台使用不同的工具,编程语言,用户界面声明和内存管理。如果开发人员想为每个平台创建一个应用程序,他将不得不购买一台PC和一台Mac。然后他将不得不按照不同的形式,逐个平台。最后,他将不得不为每种手机购买至少一部手机平台,有时甚至是一个平台的多个手机,就像Android手机一样。

必须尊重大多数这些限制因素。例如,我们不打算改变发展vironments。的确,这些工具非常高效(调试,设备监控......),所以执行新的环境没用。

应用程序设计和实现步骤是创建跨平台应用程序的两个关键阶段。实际上,即使应用程序必须在每个平台上运行相同的功能,也不可能一次设计它到处跑。根据主机,应用程序行为也可能不同。

为了证明这两个步骤在应用程序创建过程中的重要性,我们开发了一个基本的适用于iOS和Android的第三方应用程序。 此应用程序由带有两个选项卡的选项卡栏组成。在每个标签上,有基本视图(按钮,文本字段)与目标平台外观。每个按钮都会启动类似的功能创建数据库,捕获图片,在相册中导航,打开网页......来自一个选项卡,用户可以打开一个网站。他们还可以打开新页面来管理相机或数据库。在相机管理页面,用户可以启动相机并拍照或浏览相册。上在数据库管理页面中,他们可以创建或删除数据库。最后,从另一个标签中,他们可以发送文本另一种观点。

对于开发人员来说,这个基本应用程序的两个平台的实现已经很复杂了。他必须在不同的概念之间导航 例如,开发人员可以在iOS上使用的navigationController而在Android上不存在对象。然后,在Android上,要启动某些操作,我们必须使用意图流程(导航视图之间,硬件访问...)而在iOS上,这个概念缺失。对于移动开发人员来说,这非常困难在实施过程中,根据平台改变其思维方式。因此,我们必须隐藏目标平台之间的不常见概念。

2.2.要求

开发人员需要一种统一的方式来设计,实现和/或运行所有可用的第三方应用程序平台,允许使用每个主机上的每个组件(软件或硬件)。统一并不意味着我们想要失去每个平台的特异性。

使用此类解决方案生成的应用程序必须高效。申请成功通常是由于其重新启动tivity及其吸引人的设计。在同一级别,如果必须在生成的应用程序上安装解决方案智能手机(例如虚拟机),它必须是轻量级的,因为智能手机资源有限。

此外,由于智能手机的使用方式,还增加了另一个约束:用户的移动性、流动性导致许多上下文修改(网络丢失,位置变化),并根据此上下文,第三方应用程序阳离子必须能够改变他们的行为。因此,我们需要一种考虑并支持创建的解决方案上下文感知应用程序。这种约束强调了以前的需求:效率,正确管理用户移动性。

最后,该解决方案需要易于适应。实际上,移动领域可以发展。例如,在一对夫妇多年来,Apple的iOS可能不再存在,而新的参与者可能会取而代之。所以,可能性必须考虑添加扩展名才能轻松管理新平台。在最好的情况下,一旦新的平台带来了,我们的提案必须能够在不修改其内部架构的情况下集成它。

3.相关工作

实现跨平台应用程序的解决方案可分为三类:交叉编译器,基于模型驱动工程的解决方案,最后是源代码的解释器。

MoSync 1,Corona 2,Neomades 3和XMLVM 2 基于交叉编译器。这些解决方案的目标是通过通用语言创建平台应用程序。然后,使用这种通用语言编写的指令翻译成母语。在这种情况下,重用的代码是完整的,但应用程序之间的映射语言和本地目标语言很难实现。这就是大多数情况下交叉编译器的原因仅管理少数平台,并且仅限于每个平台的共同元素。

现有解决方案的另一部分基于模型驱动的工程。一方面,UsiXML 3和Jelly 4允许用户为多个平台生成用户界面。另一方面,MobiA建模5和AppliDE 6(它集成在CAPucine 7中)允许用户生成完整的应用程序,甚至是上下文感知的应用程序灰。为了创建上下文感知应用程序,CAPucine的设计人员允许用户在模块中分离他们的应用程序。其中一些将在转换过程中集成到应用程序中,而其他的将被加载到转换中根据上下文执行。要恢复,使用这些解决方案,用户可以从模型定义他们的应用程序。然后,将这些模型转换为每个目标平台的源代码。但是像交叉编译器一样翻译,如果开发人员想要管理任何本机组件,则很难实现模型和本机源代码之间的关系。

口译员使用专用引擎实时翻译可执行指令的源代码。用户实施他们的跨平台应用程序和解释器管理他们在许多平台上的执行。我们可以识别移动解释器域中的两个类别:虚拟机(VMs)和基于Web语言的解决方案。

基于VM的最着名的技术是Java ME。但是,这项技术不受欢迎,并未被使用移动开发者。尽管如此,基于它的许多变化仍然存在:J2ME Polish 4,Bedrock 5,AlcheMo 6。他们经常包括端口(例如交叉编译器)Java ME应用程序,在几个平台上具有一些扩展。在8中,该语言不是Java,而是专用于移动域的新语言:MobDSL。此后,申请使用MobDSL编写的将在VM上运行。

1 http://www.mosync.com/

2 http://www.anscamobile.com/

3 http://neomades.com/

4 http://www.enough.de/

5 http://www.metismo.com/

6 http://www.innaworks.com/

最后,还有基于Web技术的解决方案PhoneGap 7,QuickConnectFamily 8,Rhomobile 9允许在设备上加载能够访问设备硬件的Web应用程序(类似于网站)。另一个解决方案允许在多个平台上执行小部件(移动设备的“小型”应用程序)平台引擎如xFace 9或Opera 10。在10中,xFace的设计者解释了xFace如何在许多平台上

剩余内容已隐藏,支付完成后下载完整资料


Available online at www.sciencedirect.com

Procedia Computer Science 19 (2013) 1004 – 1011

The 3rd International Symposium on Frontiers in Ambient and Mobile Systems (FAMS)

Component Based Framework to Create Mobile Cross-platform Applications

Joachim Perchata,b, Mikael Desertotb, Sylvain Lecomteb

aKeyneosoft, 31 rue de la Fonderie, 59200 Tourcoing, France

bUniv Lille Nord de France, F-59000 Lille, France, UVHC, LAMIH, F-59313 Valenciennes, France CNRS, UMR 8201, F-59313 Valenciennes, France

jperchat@keyneosoft.fr, Mikael.Desertot@univ-valenciennes.fr, Sylvain.Lecomte@univ-valenciennes.fr

Abstract

Smartphones provide a set of native functionalities and another set of functionalities available through third-party applications. The emergence of more and more actors, without standards to provide their devices or OS, stops the cross-platform development. Indeed, a developer would have to learn many programmatic languages and create many user interfaces for many devices. To resolve this problem, several solutions often consist in the creation of a com- mon SDK to only write the application once. Then, the application code is translated in native code for each target platform. In this paper, we propose a solution based on a component model. A set of configurable components is implemented for the targeted platforms. A component will have a common interface independent from the host OS. Finally, a new language will offer developers a single instruction call to any component through its interface. This instruction is common on any platforms to simplify the implementation of a cross-platform application.

copy; 2013 The Authors. Published by Elsevier B.V. Open access under CC BY-NC-ND license.

Selection and peer-review under responsibility of Elhadi M. Shakshuki

sect;c 2012 Published by Elsevier Ltd. Selection and/or peer-review under responsibility of [name organizer]

Keywords: Cross-platform, Cross-compiler, Generation of code, Component integration, Universal language

  1. Introduction

Smartphones are more and more powerful and their OS support different hardware and software facilities like multi-touch screens, 3G, Wi-Fi, and particularly the ability of installing third-party applications. Through these new applications, new functionalities have emerged, especially for the userrsquo;s mobility. For example, thanks to them, a user can track his way in a city, shows information in real time (augmented reality), pays his metro tickets ... However, the mobility causes many variations of the context (indoor/outdoor, city/highway, area without 3G coverage ...). Therefore a new type of applications is born: the context-aware applications.

Four problematics can be highlighted in the mobile domain [1]. The first one is user experience: the goal is to always define the best user interface, for a simple and intuitive use. The second problematic is linked to resource and power consumption: even if the devices are more powerful than before, they are still limited in memory, power, etc. The third one is application maintenance: a mobile OS is often updated, making some applications unusable on the new version. So, how can we test and maintain an application efficiently? Finally, a major problem is due to the heterogeneity of devices and mobile operating systems. There are various operating system providers and device constructors on the mobile market. For the time being, it is impossible to implement an application once, and deploy it on all smartphones. Indeed, they all use different technologies and programming rules. In this paper

1877-0509 copy; 2013 The Authors. Published by Elsevier B.V. Open access under CC BY-NC-ND license. Selection and peer-review under responsibility of Elhadi M. Shakshuki doi:10.1016/j.procs.2013.06.140

we tackle the last problematic. Our goal is to smooth the differences between the smartphones in order to simplify the development of cross-platform third-party applications. The paper is structured as follows : Section 2 shows the mobile development context, Section 3 presents some cross-platform tools, Section 4 and 5 explain our proposal and our first implementation. We conclude and present our perspectives in Section 6.

Mobile development context

We consider the market of smartphones as divided in two categories: the device constructors and the operating system providers. The telephone service providers have no influence on our problematic.

The device constructors build, assemble the hardware (screen, GPS chip ...) and configure one OS on their devices. The configuration allows the use of specific equipments like camera, GPS, accelerometer, Wi-Fi, 3G, NFC ... Of course, each of these companies has its own rules in defining the structure of a phone. The operating system providers produce operating systems that make the link between the users and the devices. This market is constituted of Apple with iOS, Open Handset Alliance (OHA) with Android, Microsoft with Windows Phone, RIM with BlackBerry, Samsung with Bada, Nokia with Symbian, etc. Today, the two most popular smartphone operating systems are iOS and Android. But, like the device constructors, these companies create operating systems which are not compatible with one another. The architectural differences due to the mobile constructors are not a problem from our point of view. Indeed, the developers of third-party applications donrsquo;t have directly access to this layer. They only have access to t

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[273090],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。