我们可以使用Ruby on rails开发移动应用吗?

时间:2010-11-02 07:14:21

标签: ruby-on-rails ruby jruby

由于rails使用MVC acrhitecture。我想知道如果我们可以使用Rails开发移动应用程序或任何Web应用程序  在MVC中,“M”和“C”不会改变以开发移动应用程序吗? 我的意思是模型和控制器仍然是网络服务器  只应更改视图部分,以便使用html.erb文件,我想要java或android sdk或其他,为移动用户提供UI。

有些人可以从这个角度启发我。我也听说过Jrbuy是否会因我们的移动应用程序开发需求而发挥作用。 ?

7 个答案:

答案 0 :(得分:24)

此问题的答案取决于您希望如何部署此应用。你想让它完全在手机上运行,​​还是一个伪装成iphone / android应用程序的网络应用程序?

对于原生应用解决方案,我会结帐Rhodes Framework。它不是RoR,但你会发现它是一个感觉类似的MVC框架。这将允许您使用Ruby构建本机iphone / android应用程序。

对于第二个选项,网络应用程序伪装成移动应用程序,我建议Sencha Touch。 Sencha用他们的Javascript库做了一个很棒的工作,模仿原生iphone / android应用程序的外观和感觉。有了这个解决方案,它就像任何其他网络应用程序,虽然它的目标是Android和iPhone通过它的UI。

答案 1 :(得分:5)

我创建了一个使用 Phonegap 导出的 rails / ember.js 应用程序示例。它只使用Rails和Ember.js应用程序的通常MVC架构。也许你会发现它很有用。它还实现了基于ember-auth和几种OAuth策略的令牌认证。

目前在devel分支中:https://github.com/joscas/base_app/tree/devel

Heroku部署:https://starter-app-staging.herokuapp.com(桌面版)

使用phonegap-rails gem(我也是作者)导出资产,修复路径等。

答案 2 :(得分:4)

绝对是!

Ruby on Rails只是一种后端技术,与您打算为普通浏览器做的相同。关于移动应用,您只需要考虑两件事。首先是移动浏览器的内容大小,因为您需要调整布局以适应大小。有一个名为viewport的HTML元标记可以帮助你。

实施例

此脚本将告诉用户的浏览器内容应符合设计大小,initial-scale定义视口速率,maximum-scale定义此页面可缩放的次数,user-scalble = 0表示用户无法扩展页。有关视口的更多信息,您可以查看Mozilla的文档。

您需要考虑的另一件事是HTML5技术,但实际上当您使用jQuery mobile时这些都不是问题。我建议你查看他们的文档。这对任何人都非常有用和明确。

答案 3 :(得分:1)

RubyonRails是Web应用程序框架 - 它在服务器和用户观察者上运行构建在浏览器(或浏览器组件)内的RubyOnRails上的应用程序的结果,尽管您可以在服务器上处理“MVC”中的“M”,并在客户端(在移动浏览器中)完全实现“V”和“C”。

理论上,您可以在客户端(甚至RubyOnRails服务器等)上完全部署RubyOnRails应用程序,但它会相当昂贵和困难,但在任何理性项目中都不能要求它。

假设: 您可以选择两种方式:

  1. 在服务器上组织RubyonRails应用程序(在那里处理模型),并在客户端使用任何适当的js库处理“V”和“C”。
  2. 您可以开发Ruby(而不是RubyOnRails应用程序) - 至少可以使用JRuby为Android开发。

答案 4 :(得分:1)

是的,你可以。您的视图可以是一个网页/ android / ios应用程序作为视图。

答案 5 :(得分:0)

如果它只是UI的问题,你可能想尝试jQuery Mobile(现在仍然是alpha版)。如果您需要与移动设备进行更紧密的集成,我认为运行Rails不会足够高效。

答案 6 :(得分:0)

尝试使用React Native,后端技术仍然可以是Ruby,而前端可以使用React Native来构建Android和iOS移动应用。

React Native