为现有的Spring MVC应用程序设计一个移动应用程序(使用Spring Mobile或Phonegap)

5

我使用Spring MVC和MySQL在Openshift上创建了一个Web应用程序。

现在我想为这个应用程序开发移动应用程序,并将其发布为移动应用程序(主要是Android)。首先,这个移动版本应该与HttpPost / Webservice安全授权一起使用。

我知道Pivotal有一个Spring Mobile项目,可以为相同的应用程序创建一个移动站点(使用Spring表单标签等更高级的功能)。

另一方面,Phonegap可以利用HTML5和CSS创建跨平台移动应用程序。

我的问题是:

  • 值得花费精力在Phonegap或Spring Mobile上吗?
  • 如果我选择Spring Mobile,如何在Android Play商店发布移动应用程序?

了解一些优缺点或任何参考链接都将有助于解答这些问题。

2个回答

15

简介

首先,让我提个醒。虽然这是一个有建设性的问题(比普通问题要好),但人们通常更喜欢那些已经自己搜索了答案的用户提出问题。我稍后会解释这一点。

区别

Phonegap (Cordova)Spring Mobile 是两个完全不同的框架,它们的目的完全不同。通过谷歌搜索,您可以找到答案。

Phonegap (Cordova) 是一个包装框架,用于创建混合移动应用程序。您的 HTML / CSS / JavaScript 代码被包装在本地 Shell 中,您可以使用 JavaScript <-> Native bridge 代码来访问本机手机功能。虽然您可以使用原生的 JavaScript,但通常会与其他移动框架(如 jQuery Mobile、Sencha Touch 或 Kendo UI)一起使用。

Spring Mobile 是 Spring MVC 的扩展,旨在简化移动 Web 应用程序的开发。Spring Mobile 是一个框架,提供了检测请求您的 Spring 网站的设备类型并基于该设备提供替代视图的功能。

努力程度

一切都取决于您要做什么。混合移动应用程序通常使用单独的客户端和服务器端代码完成。通信使用 AJAX 进行。因此,我会跳过 Spring Mobile,仅使用 Spring 作为 RESTful Web 服务框架。我个人更喜欢 Play 框架,但这只是我的个人偏好。

当然,您仍然需要选择一个客户端 JavaScript 框架,或者可以从头开始创建所有内容。我建议您使用预构建的框架,如上述的 jQuery Mobile。

如果您真的想使用 Spring Mobile

如果您真的想使用 Spring Mobile,也可以实现。Phonegap 可以用于将远程网站包装成移动应用程序。这种方法有几个缺点。如果您的网站关闭,则该应用程序无用,并且您将无法创建 iOS 应用程序,因为这类应用程序会在第一眼被拒绝。

最佳行动方案

  • 分离客户端和服务器端代码
  • 选择一个客户端移动JavaScript框架,例如a client side mobile JavaScript framework
  • 使用Spring作为RESTful Web服务,或者使用其他RESTful框架,如Play。
  • 将客户端代码封装到Phonegap(Cordova)中。
  • 发布为Android、iPhone应用程序。

链接

  1. 如何使用Phonegap和jQuery Mobile 1.4创建原生移动应用程序 | Mac版: create jQuery Mobile application with Phonegap | Mac version
  2. Sencha Touch vs jQuery Mobile
  3. jQuery Mobile页面架构的秘密
  4. 如果你已经有了jQuery的经验,学习jQuery和jQuery Mobile之间的区别

1
这个在应用程序设计方面的解释非常清晰易懂。谢谢! - karthik
那么您是在说我应该从Spring应用程序中删除视图部分(.jsp),并将所有这些内容与HTML分开保留? - Manish Kumar

0

http://projects.spring.io/spring-android/

Spring for Android是一个框架,旨在为Android应用程序提供Spring项目系列的组件。与所有Spring项目一样,Spring for Android的真正强大之处在于它可以轻松扩展。


问题还有:如果我选择Spring Mobile,如何在Android Play商店发布移动应用程序? - user7294900

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接