【问题标题】:Designing common server side for mobile and web application为移动和 Web 应用程序设计通用服务器端
【发布时间】:2014-04-15 09:49:25
【问题描述】:

我有一个项目,我应该开发一个移动应用程序 (android) 和一个网站。由于它们都具有相同的数据库/内容和功能我想为移动和 Web 应用程序编写通用服务器端。

现在我有两个选择:

  1. 在服务器端开发 RESTful Web 服务 我的 android 应用程序和网站(HTML/Javascript)将进行通信。我认为这对于网站开发来说不是一种舒适的方式,因为您在页面加载时使用 javascript 填充了所有 HTML 组件值。

  2. 使用 MVC 框架(例如 CodeIgniter)开发一个 Web 应用程序,其中每个页面将有两个视图:
    a) 网站的通用 HTML/CSS/Javascript 页面
    b) 移动应用程序的 JSON 数据。在这种情况下,移动应用将对 URL:www.mySite/someParameters 进行 HTTP GET 调用,并作为结果响应 JSON 数据。

选择哪一个更好?
或者,您还有其他建议吗?

【问题讨论】:

  • 不应该是 RESTful 的(我已经用正确的首字母缩写词对其进行了编辑),这正是您在第 2 点中解释的内容?请参阅 here,“应用于 Web 服务”。但是,是的,我肯定会遵循这个想法(两点,一个想法!)。
  • @Sigismondo 是的,当然,它将是 RESTfull。请参阅第 1 点,我添加了一些额外的描述。第 2 点的主要优点是您像往常一样开发网站,您对移动应用程序的额外操作是您只需添加一个显示 JSON 数据而不是 HTML 的视图。我个人更喜欢第二点,但我对人们如何开发此类应用程序感兴趣。什么是最佳做法?
  • 一旦它是 RESTful 的,就可以按照您的喜好实现视图,遵循其他约束。例如,您可以看一下... stackoverflow 本身!这是 API 文档:api.stackexchange.com/docs - 在这里您可以找到许多应用程序或皮肤:stackapps.com - 也可以查看 SO 的移动站点。如果您的应用程序与这种“动态”级别相当,这是一个不错的选择……但如果您开始需要更多反馈,使用 OpenGL 图形,不需要 iOS 可移植性,则原生应用程序更加灵活。
  • 哦,是的,不是网络开发人员(还没有?),我也更喜欢选项 2 :)

标签: web-applications architecture server-side software-design mobile-application


【解决方案1】:

我更喜欢以这种方式构建 Web 应用程序:

  1. 带有 java Spring 的 Web 应用程序
  2. 创建一个REST接口,通常有两个输出,JSON和XML,例如http://localhost:8080/hellohttp://localhost:8080/greeting.xml

  3. 使用一些我更喜欢boostrap 的客户端框架 响应式布局。

  4. 使用 MVC 客户端,例如 knockoutjs.com

  5. AJAX 调用,我调用 url /hello 我将结果映射到 knockoutjs 绑定,这样我就有了双向绑定。

  6. 使用 接口。

    希望对你有用

【讨论】:

    【解决方案2】:

    答案取决于 (a) 您对任一解决方案的满意程度以及 (b) 项目的要求。我更喜欢(1),因为我不知道任何网络框架,但我非常熟悉网络编程。编写一些后端应用程序服务于 HTML 页面会很简单。但是,如果它是一个大型项目,那么选择(2)将是有利的。

    如果只是想完成某件事,而您没有看到任何一种解决方案的优势/劣势,那么只需选择一个。

    【讨论】:

      猜你喜欢
      • 2018-09-27
      • 1970-01-01
      • 2011-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多