2

对于基于 GWT 的 iOS 和 Android 应用程序开发,我面临两种选择:

  • Cordova / PhoneGap + mgwt
  • Titanuim4j 移动 + Touch4j

有没有人成功整合其中之一或两者?你知道有什么好处和坏处吗?

谢谢你。

[编辑]

一:Touch4j 不支持 Firefox,因此如果您在 Windows 中使用 GWT 进行开发,您无法在开发模式下查看您的应用程序(没有适用于 Safari 或适用于 Windows 的 Chrome 的 GWT 插件)

4

3 回答 3

6

您的第二个项目的问题应该是关于 Titanium 和 Touch 之间的区别,您的决定可以归结为您希望根据您的要求使用哪种底层技术。从 10,000 英尺开始,Titanium 框架将尽可能多地转换为原生框架,而 Touch 严格来说是一个 HTML5 框架,可以在设备的 web 视图中运行——正如其他人已经提到的那样。

现在,从 Emitrom 的产品来看:

Titanium4j - 是 Titanium 框架的 Java 绑定。您将简单地将 GWT 用作将您的 Java 转换为 Javascript 的编译器,然后该 Javascript 由 Titanium 框架进一步翻译。使用 Titanium4j 时,您可以通过底层 Titanium 框架访问硬件。

Touch4j - 是 Touch 框架的 Java 绑定。此外,它确实包含一个 Cordova 软件包,因此您也可以访问硬件。GWT 编译器用于将所有 Java 转换为 Javascript,并且感谢 Cordova,所有这些都在设备的 web 视图中运行。Touch4j 已经被一些人誉为“最好的 GWT 移动框架”。见http://www.sencha.com/forum/showthread.php?228405-GXT-Mobile

这里有 2 个将 Touch4j 应用程序部署到 iOS 和 Android 的教程:

http://emitrom.com/touch4j/tutorials/hello-ios

http://emitrom.com/touch4j/tutorials/hello-android

Chrome 确实有一个适用于 Windows(和 Mac)的 GWT 插件,因此您应该能够使用它在 Titanium4j 或 Touch4j 中进行开发。后者的关键在于它是基于 webkit 的,因此它不适用于 Firefox。

我还可以给你一些关于 Titanium4j 和 Touch4j 的优缺点:

在 Titanium4j 中调试比在完全支持它的 Touch4j 中更难。此外,如果您正在寻找可以使用的小部件库,请坚持使用 Touch4j。

而现在,就像 Oracle 曾经说过的那样,“会烤你的面条”:Emitrom 正准备发布 Lienzo 框架。Lienzo 是 canvas 的 100% Java 实现,您基本上可以控制用户界面的各个方面。想想动画、转换、拖动、图像、视频、音频……简而言之,Lienzo 将让您能够使用 Javascript 在画布上做所有可以做的事情,但使用 Java。将此与我们的 Cordova 绑定配对,现在您可以将基于画布的应用程序推送到移动设备。不基于 webkit 的浏览器不走运的日子已经一去不复返了:现在每个遵循 HTML5 规范(包括画布)的浏览器都可以使用 Lienzo,无论是在设备上、浏览器上还是在桌面(通过 Air4j 等其他技术)。

无论如何,您是第一个听说 Lienzo 的人 :-) 将其视为丰富 UI 库、游戏、应用程序等的基础,所有这些都使用 Java 中的画布在封面下进行。Lienzo 将是免费和开源的。我们真的很兴奋,并希望在本月结束之前推出测试版。并非上述所有功能都会包含在第一个版本中,因此我们的路线图有很多事情要做。

全面披露:我是 Emitrom 的联合创始人之一。

祝你好运!

于 2012-09-18T14:32:53.777 回答
4

phonegap 和 Titanium 有完全不同的方式,phonegap 一方面是使用 webview 组件来显示你的 html-javascript 代码,另一方面也是在你的代码和本机代码之间建立一座桥梁,另一方面 Titanium 将你的 javascript 代码编译为本机代码并且没有任何关系使用 webview 或 html5。

这些方法引起的一些主要区别是:

  1. phonegao 有很多性能问题,因为它在运行时渲染 html 代码。

  2. 与 Titanium 不同,phonegap 可以受益于 html5 和 javascript 的全部功能,相比之下 Titanium 在这方面受到限制。3.phonegap 支持更广泛的设备。...

于 2012-09-15T06:51:05.707 回答
2

Windows 上有一个适用于 Chrome 的 GWT DevMode。

请注意,您还可以将 Touch4j 与 PhoneGap 一起使用。Touch4j 有一个封装了 PhoneGap(Cordova) API 的“设备”模块。

于 2012-09-18T10:39:41.503 回答