我想实现一个带有用于移动和PC的独立用户界面的Web应用程序.你知道我怎么能检测它是否是移动的?一般来说,您对在GWT中实施此类应用有什么建议吗?
在客户端,您可以使用Navigator
该类来获取平台和用户代理字符串:
Navigator.getPlatform Navigator.getUserAgent
通过这种方式识别设备和平台.
如果你是用来与MVP模式开发或想使现有的应用程序的移动版本,我会建议使用M-GWT.M-gwt与GWT最佳实践(如MVP)配合良好,因为它试图仅扩展GWT的核心,具有移动设备的必要功能.在核心GWT中发现的许多小部件都存在于m-gwt的移动版本中,具有更好的触摸支持等.
如果您习惯开发iPhone应用程序,可以查看NEXT.接下来的接口使用它自己的MVC系统,这意味着它可以很好地与MVP一起使用或者用于制作现有GWT站点的移动版本,有些人可能更喜欢使用活动和地点,并且它还有一个漂亮的小部件库.
GwtMobile有一组类似于m-gwt和Next接口的小部件.GwtMobile使用自己的系统来创建每个网页的扩展Page类的网页,并且你有GOTO方法不同页面之间进行导航.有些人可能更喜欢使用其他框架,您可以使用Google的活动和地点.GwtMobile有一些不错的小部件,也可以与其他框架一起使用,它也有自己的持久性框架.
M-gwt和GwtMobile都有自己的Phonegap绑定,因此您可以将应用程序上传到Apple应用商店和Android市场.
Gwt-mobile-webkit目前并不是关于移动设备,因为唯一可用且当前未集成在核心GWT中的是数据库API.如果您需要Web SQL,那么gwt-mobile-webkit Database API就是您的朋友
如果你想要非常简单的简洁小部件和没有动画,但与石器时代的浏览器兼容,那么看看informagen mobile gwt 代码隐藏在maven存储库中.
最流行的javascript框架之一Sencha Touch在http://emitrom.com/gwt4touch上发现了GWT绑定Gwt4Touch的问题是当前版本的小部件不是真正的GWT小部件,只是简单的Sencha Touch包装.这意味着当前版本通常与其他GWT库不兼容.据开发商,2.0版本与真正的GWT部件应围绕2011年12月底发布,届时它会更有用.
通常,移动GWT库仅支持基于webkit的浏览器,因为它们倾向于使用较新的浏览器功能和CSS3.可以使其与其他浏览器一起使用,但您必须创建一些小部件和动画的新版本,这些小部件和动画不使用仅在webkit中找到的CSS3功能.
总之,如果您正在开发一个新的应用程序,请查看您最喜欢哪个框架,如果您正在制作现有应用程序的移动版本,那么您最有可能使用m-gwt,尤其是在您使用活动时和地方.Gwt4Touch 2.0有可能在现有应用程序发布时制作移动版本,因此请密切注意.
有一些关于在GWT中处理移动版Safari和触摸应用程序的帖子只是足够的代码是危险的:
添加对GWT的新浏览器支持 - 显示如何将移动Safari添加为GWT中的公认用户代理
在移动Safari上支持GWT的多点触控事件
带有GWT的iPad上的多点触控网络应用程序
扩展的多点触控示例
那里可能还有其他一些帖子让你感兴趣 - 玩得开心:)