2012-09-14 38 views
2

对于基于GWT iOS和Android应用程序的开发,我面临着两个选择:的PhoneGap和Titanium4j手机之间的差异

  • 科尔多瓦/ PhoneGap的+ mgwt
  • Titanuim4j移动+ Touch4j

有没有人成功整合过一个或两个?你知道有什么优点和缺点吗?

谢谢。

[编辑]

对于一个:Touch4j不支持Firefox,因此,如果您正在使用GWT在开发Windows,你不能在开发模式下查看应用程序(没有GWT插件Safari或Chrome Windows版)

回答

6

您的第二个项目符号的问题应该是关于Titanium和Touch之间的差异,您的决定可以归结为您希望根据您的要求使用的基础技术。从10,000英尺开始,Titanium框架将尽可能多地翻译为原生框架,而Touch则完全是在设备的webview中运行的HTML5框架,正如其他人已经提到的那样。现在

,从Emitrom产品的角度来看:

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

Touch4j - 是Touch框架的Java绑定。此外,它还包含Cordova的软件包,因此您也可以访问硬件。 GWT编译器用于将所有Java转换为Javascript,并感谢Cordova,它们都在设备的webview中运行。 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

浏览器确实有一个GWT插件的Windows(和Mac的这个问题),所以您应该可以使用它来开发Titanium4j或Touch4j。后者的关键在于它是基于webkit的,因此它不适用于Firefox。

我也可以给你一点上Titanium4j和Touch4j利弊:

调试中Titanium4j是比Touch4j,并全面支持更加困难。另外,如果您正在寻找一个准备好的小部件库,请坚持使用Touch4j。

现在,就像甲骨文曾经说过的那样,“会烘烤你的面条”:Emitrom正在准备释放Lienzo框架。 Lienzo是一个100%的Java画布实现,您可以基本控制用户界面的各个方面。想一想动画,转换,拖拽,图像,视频,音频......简而言之,Lienzo会让您有能力使用Javascript完成您在画布上所做的一切,但使用Java。将它与我们的Cordova绑定配对,现在您可以将基于画布的应用推送到移动设备。很久以前,非基于webkit的浏览器运气不佳:现在,每个符合HTML5规范(包括canvas)的浏览器都可以使用Lienzo,无论是在设备上,在浏览器上,还是在桌面(通过Air4j等其他技术)。

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

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

祝你好运!

+0

Lienzo框架截止于11月1日。 http://www.dzone.com/links/javas_future_lays_in_lienzo.html立即获取! –

4

phonegap和Titanium有完全不同的方式,单手机中的phonegap使用webview组件来显示你的html-javascript代码,并且在你的代码和本地代码之间创建一个桥梁Titanium将你的javascript代码编译为本地代码,与webview或html5无关。

那些approches导致一些主要区别是:

  1. phonegao有许多性能问题,因为它在运行时呈现HTML代码。

  2. 不像钛电话可以受益于HTML5和JavaScript的全部力量相比之下,钛在这方面受到限制 。 3.支持更宽范围的设备。 ...

+0

抱歉不接受,但其他答案更详细!如果可以的话,我会接受(不需要复仇:)) –

2

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

请注意,您也可以在PhoneGap上使用Touch4j。 Touch4j有一个包装PhoneGap(Cordova)API的“设备”模块。