跨平台移动开发

因此,跨平台开发实际上可以解决哪些问题。 好吧,他们有两个方面。

  • 通过开发一次可在多个平台上运行的应用程序来具有完整(或接近完整)的移动平台覆盖能力。 用一块石头杀死两只(或多只鸟)。

杀死两只鸟1

  • 其次,将语言选择减少为通常用于开发移动应用程序的语言的子集,理想情况下仅为一种。

毛细血管选择

在人力资源方面,成功进行跨平台开发的财务影响显而易见,并且显然使这种开发对企业及其客户非常有吸引力。

两种方法

有两种开发多种平台的广泛方法。 GWT使用的Hybrid方法,其中的代码仅以一种语言开发(对于gwit,它是Java),然后翻译为HTML5,CSS和javascript。 这些应用在每个平台上运行相同的代码,并在本机设备的Web视图中呈现视图。 可能使用Cordova来访问设备功能(例如,照相机和联系人)利用JSNI(JavaScript本机接口)。

跨平台移动开发_image1

另一种方法是通过翻译成本地语言,将您的代码库交叉编译为目标设备的本地代码。 在iOS或Anroid上为iOS或Java的Swift / Objective-c或Windows Phone上为C#的天气。

跨平台移动开发_image2

我们很高兴看到三个以独特的方式使用这些方法的框架。

塔布里斯

tabbris网站 Tabris属于跨平台开发的混合类别。 与GWT一样,它使用Java描述应用程序可用的视图和小部件,并使用Java EE技术在服务器上创建应用程序。 但是,与gwit不同,它不会将UI转换为HTML5和JavaScript,而是转换为UI元素的JSON表示形式。 本机客户端有效地充当应用程序UI的播放器。 它通过调用提供UI元素的JSON表示形式的URL来访问应用程序。 然后,客户端将使用本机组件从JSON消息呈现UI。 对于iOS,这些组件是Andriod的Cocoa Touch小部件和基于Java的小部件。

tabris-100000英尺 在服务器端,war文件被部署到Web服务器,并在其中注册一个servlet,该servlet成为应用程序的入口点。 然后将JSON UI消息提供给客户端。

您需要商业许可证才能使用其框架。

好的,让我们从代码角度看一下它是如何工作的。 Tabris UI框架负责创建页面和

tabris-code-example-ui-2

添加到UI配置对象的操作对象。 在此示例中,将创建两个配置并将其添加到UIConfiguration。 第一个是PageConfiguration,它定义一个ID为'all-dvds'的顶层页面。该页面将带有标题和图像。 第二种配置是定义搜索动作的ActionConfiguration。 然后,以原始的外观进行渲染。

地区

ios原生屏幕截图

代号一

代号一个网站 现在,让我们看一下将Java代码编译为目标设备的本机语言的框架。 代号为eclipse,netbeans和intillij的插件。 使用他们的API,您可以构建应用程序的UI并编写其业务逻辑。 当您要编译和部署应用程序代码时,有趣的部分来了。

对于直接针对Android,J2ME和Blackberry设备编写的应用,标准Java代码按原样执行。 将用Java 5编码的应用程序转换为JDK 1.3 cldc子集,以便在J2ME和Blackberry上执行。 对于目标iOS设备,将Java代码转换为C代码,对于Windows Phone,将其转换为c#。

代号工具链 现在,这里真正有趣的部分是,要编译为本地代码,请从插件菜单中选择目标设备,这会将应用程序捆绑在一起,并将代码发送到其远程构建服务器,在此远程服务器使用虚拟Mac或PC执行必要的操作编译代码。

这消除了拥有Mac和PC机器的需要。 编译应用程序并准备就绪后,您会在屏幕上看到QR码,当设备扫描该QR码时,它将下载并安装该应用程序。

condename一个代码示例 现在让我们看一些代码。 对于那些了解Swing甚至GWT的人来说,此代码将立即可理解。 创建页面组件,并将动作侦听器作为匿名类附加。 在示例中,我们创建一个按钮并将其作为组件添加到表单中。 然后,向按钮添加一个动作监听器。

单击按钮后,将弹出一个对话框,显示该消息。 condename一个代码示例Java-8

他们在几个月前发表了一篇博客文章,称他们正在为下一个插件版本开发Java 8。 因此,我们将来应该会看到类似的代码。

您需要商业许可证才能使用其框架。

Oracle移动应用程序框架

maf网站 最后,让我们看一下Oracle的产品。 他们对其他两个采取了截然不同的方法。 您编写业务逻辑和对用户交互做出反应并访问后端功能的代码。 然后,将此代码部署在每个设备上的轻量级本机JVM上。 JVM绑定到Web视图和设备功能。

UI组件以XML,HTML 5定义或可以用作HTML网页。 设备
功能的交互利用Apache cordova并在本机Web视图中呈现。 制造架构

但是,您必须使用Eclipse或JDeveloper。

流量控制 让我们看看如何开发MAF应用程序。 页面之间的流程是通过可视化表示页面及其相互关系的GUI定义的,这里showGraph指定过渡类型,然后必须为每个页面编写实际的逻辑。

通过DeviceManager的实例访问设备的功能。 在这里,我们创建一个新联系人,并通过devicemanager将其添加到联系人中。 您的应用程序被部署为特定于平台的部署。

maf访问联系人

使用该框架需要商业许可。

可以从幻灯片共享中下载我对Murat所做的完整JavaOne演示文稿的幻灯片: 具有GWT的移动Java:仍然“写一次,到处运行”

翻译自: https://www.javacodegeeks.com/2015/11/cross-platform-mobile-developement.html