大型 GWT Web 应用程序有哪些移动支持选项?
对于由基于 GWT 构建的丰富网页(不是完整应用程序)和 Web 应用程序(真正的 RIA)组成的大型系统,支持移动设备的最佳策略是什么?必须支持:iPhone、Android、黑莓。值得拥有:iPad/平板电脑、Windows 7 Mobile、较旧的功能手机。
背景:Google Web Toolkit (GWT) 本身不支持除较新的 iPhone/Android (webkit) 之外的移动网络浏览器。我们公司采用 GWT 是因为它的跨浏览器支持、我们的开发人员对 Java 服务器端开发的熟悉、我们内部缺乏 JavaScript/HTML/CSS 掌握以及当时(2007 年初)JQuery 相对不成熟。 现在,2011 年 3 月,JQuery 已经成熟并被广泛采用,JQuery Mobile 1.0 即将到来,JQuery 插件生态系统正在蓬勃发展。
这个问题的一些可能的答案:
利用我们的 Web 应用程序的 GWT 代码库和以下一项或多项:GWT Mobile、gwt-mobile-webkit、PhoneGap w/ GWT。 (我质疑这些的成熟度。)
使用 JQuery Mobile 和插件从头开始创建单独的移动页面/应用程序。 (这没有吸引力,因为它看起来像“完全重写”。)
创建本机移动应用程序。 (由于缺乏本地移动开发专业知识和所需的众多移动平台,这是成本高昂的。)
感谢任何开明的评论!
For a large system comprised of rich web pages (not full apps) and web apps (real RIA) built on GWT, what's the best strategy for supporting mobile? Must support: iPhone, Android, Blackberry. Nice to have: iPad / tablets, Windows 7 Mobile, older feature phones.
Background: Google Web Toolkit (GWT) does not natively support mobile web browsers other than newer iPhone/Android (webkit). GWT was adopted by our company for its cross browser support, our developers' familiarity with Java server-side development, our lack of in-house JavaScript/HTML/CSS mastery, and the relative immaturity of JQuery at the time (early 2007).
Now, in March 2011, JQuery is mature and widely adopted, JQuery Mobile 1.0 is near, and the JQuery plugin ecosystem is thriving.
A few possible answers to this question:
Leverage our web app's GWT codebase with one or more of: GWT Mobile, gwt-mobile-webkit, PhoneGap w/ GWT. (I'd question the maturity of each of these.)
Create separate mobile pages/apps from scratch using JQuery Mobile and plugins. (This is unappealing as it looks like a "full rewrite".)
Create native mobile apps. (This is costly due to lack of native mobile dev expertise and the numerous mobile platforms required.)
Thanks for any enlightened comments!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我的建议是大量使用延迟绑定来处理不同的部署目标。这正是延迟绑定的要点。为您的应用程序定义一个要处理的接口,并根据目标定义几种不同的实现。如果您下载 spring Roo 并尝试他们的 GWT 入门项目,您将获得一个很好的示例来说明如何做到这一点。
就个人而言,我更喜欢尽可能远离 JSNI,但如果您必须以某种方式使用 jQuery,我会首先看一下 gwtquery 及其插件系统。
My suggestion is to heavily use deferred bindings to dealing with your different deployment targets. This is precisely the point of deferred binding. Define one interface for your application to deal with and several different implementations based on target. If you download spring Roo and try their GWT starter project you will get a good example of just how you can do that.
Personally, prefer to stay aways as much as possible from JSNI, but if you must utilize jQuery somehow I would first take a look at gwtquery and it's plugin system.