【问题标题】:Architecture Best Practice: Rails and Mobile/Web App架构最佳实践:Rails 和移动/Web 应用程序
【发布时间】:2012-01-31 13:43:44
【问题描述】:

我在 Rails (3.1) 上构建了一个面向浏览器的 Web 应用程序。我也想让网络应用的一些功能在移动设备上可用。

另外...

1.) 为每个设备供应商构建本机应用程序并使用 JSON/XML 与我的 Rails Web 应用程序交互,...

我正在考虑通过重用控制器/模型并添加一些针对移动设备的新视图(在屏幕尺寸等方面......),尽可能多地重用我的 rails 应用程序中已经实现的业务逻辑。

通过这种方法,我看到了两种选择:

2.) 让最终用户在移动浏览器中访问面向移动设备的 rails 应用程序部分。

3.) 设置原生移动应用包装器,例如使用 PhoneGap,并参考用于 2.) 的 rails 应用程序的相同部分。

3.) 的优点是我可以重用我的 rails web 应用程序的业务逻辑,并同时为移动设备拥有一个“幻影”本机应用程序。 (我使用术语“幻像”是因为除了包装器之外,它并不是真正的原生,这种方法实际上只是模仿原生应用。)

问题1:除了1.)到3.)还有其他选择吗?

关于 3.)

问题 2:Apple 是否接受将此类应用(远程获取大部分内容)上传到应用商店?

-> 如果是这样,我会感到惊讶,因为它允许人们在没有 Apple 通知的情况下更改应用程序的大部分内容。

问题 3:从架构/技术的角度来看,是否建议远程获取预渲染的 html/js 以在构建于例如之上的“幻像”本机移动应用程序中执行PhoneGap?

-> 在本机移动应用程序中设置一个独立的客户端应用程序(可能使用backbone.js),将所有html,css,js保存在移动应用程序本地,并使用与后端通信不是更好吗? JSON/XML 之类的?

【问题讨论】:

    标签: android iphone ruby-on-rails ruby-on-rails-3 mobile


    【解决方案1】:

    我认为这是一个很好的问题,而且我最近遇到了类似的困难。我最终将 (Q3) vaadin 与 touchkit 一起使用。如果你做的是免费的,那很好,但如果你做的是商业,那就有点贵了(尽管你可能买得起)。我意识到这与 Rails 无关,但我仍然假设问题的要点是我应该构建使用 Web 服务/中间件的本机应用程序还是使用纯 Web 应用程序。

    RE(Q2),在我对这项当前技术的搜索过程中,我确实阅读了一些文章,暗示苹果不允许使用 web 应用程序样式。如,应用程序仅屏蔽加载远程 Web 应用程序的浏览器窗口。从本质上讲,我认为就苹果而言,您需要将功能绑定到他们同意的内容。这并不会真正影响网络应用程序,因为您当然可以直接从浏览器访问它们。

    RE(Q1),我能看到的唯一选择是不同的中间件(例如 MQ、SOAP 等)。

    【讨论】:

      猜你喜欢
      • 2017-06-26
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      • 2013-05-07
      • 2022-01-16
      • 1970-01-01
      相关资源
      最近更新 更多