【问题标题】:Developing Apps for iOS, Android and the Desktop为 iOS、Android 和桌面开发应用程序
【发布时间】:2012-09-12 08:15:59
【问题描述】:

我们有一个现有的分布式应用程序,被一家小公司用来管理他们的客户。

服务器端组件作为一个简单的 Java 应用程序部署在云中,用于管理与 MySQL 数据库的连接。

客户端实现为使用 JNLP 部署的 Java Swing 应用程序,并使用 RMI 与服务器端通信。

到目前为止,这对我们来说效果很好,但最近我们一直在研究我们的客户如何从移动设备、平板电脑(iOS 和 Android)以及桌面访问该应用程序。

目前我认为我们应该研究在服务器端开发 RESTful Web 服务来管理对 MySQL 数据库的访问。在客户端,我们可以使用 Google 的 GWT 提供一个快速简便的解决方案,以便从所有平台访问服务。展望未来,我们可以实现原生 iOS / Android 应用程序来访问网络服务。

我在这里是正确的轨道吗?有没有人有更好的方法?有人对我应该查看哪些工具有任何建议吗?

我感兴趣的关键是能够从任何平台访问服务器端。我真的不想为每个实现单独的服务器端实现

【问题讨论】:

  • 你也可以试试钛。 appcelerator.com/platform/titanium-sdk 我不是特别关心这些 x-platform 框架,但它们对于简单的数据访问应用程序来说工作得很好。还有单声道,但我上次检查时内存占用量很大。所有的人都可以通过一个安静的网络服务访问数据。
  • 现在应该做出关于未来是否应该与移动前端一起使用的设计决策。采取的路线将对实施的痛苦程度产生很大影响。

标签: java android ios web-services rest


【解决方案1】:

听起来您在使用 RESTFul Web 服务时走在了正确的轨道上。如果你走这条路,你应该被后端覆盖。只要您的前端可以执行 http 请求并处理 JSON 数据就可以了。

展望未来,我们可以实现原生 iOS / Android 应用程序来访问网络服务。

可以设计一个移动应用程序同时部署在 android 和 iOS 上,这样可以节省开发时间。为此,您可以使用例如 PhoneGap,它在电话硬件上创建一个抽象层,以及类似 jQuery Mobile 的东西,其中 UI 是用 HTML5 和 javascript 开发的,并且通过 PhoneGap 在两个设备上部署相同的代码.

PhoneGap:http://phonegap.com/

jQuery Mobile:http://jquerymobile.com/

如果有其他选项可以让您在 android、iOS 和桌面上部署相同的前端,我会选择这样做,这样您就只有一个前端代码库。

【讨论】:

    【解决方案2】:

    我认为您的解决方案 (GWT/HTML5) 客户端与服务器端“业务”层通信是一个很好的多客户端解决方案。在您所描述的上下文中,RESTful Web 服务是不必要的,因为 GWT 实现会处理客户端和服务器之间的通信:

       GWT client <--->  Server (GWT) <---> Database
    

    如果您使用不同的客户端实现(例如 iOS),那么 RESTful 服务确实会非常方便(而且您不会使用 GWT):

      iOS client <--->  Server (RESTful endpoints)  <---> Database
    

    HTML5 正在成为广泛适用性(许多客户端)和丰富客户端功能之间的良好折衷方案。过去我看过一篇关于同时使用 PhoneGap 和 GWT 的文章,这听起来像是使用 GWT(我喜欢)并获得设备相关功能访问权限的好策略。同时在您可以(Java-)调试甚至客户端代码(非常有用的 GWT 功能)的环境中工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-17
      • 2012-02-09
      • 1970-01-01
      • 2011-06-03
      • 2010-11-28
      • 1970-01-01
      相关资源
      最近更新 更多