【问题标题】:Can we use Ruby on Rails to develop a mobile app?我们可以使用 Ruby on Rails 开发移动应用程序吗?
【发布时间】:2011-05-03 19:13:39
【问题描述】:

因为 Rails 使用 MVC 架构。我想知道我们是否可以使用 Rails 开发移动应用程序或任何网络应用程序。

在 MVC 之外,“M”和“C”不会更改以开发移动应用程序,对吧?
我的意思是模型和控制器将保持不变。

仅应更改视图部分,以便为移动用户提供 UI,而不是使用 html.erb 文件,我想要 Java 或 Android SDK 或其他任何东西。

有人可以在这个观点上启发我吗?

我也听说过 jRuby 是否对我们的移动应用开发需求起作用?

【问题讨论】:

  • 您在寻找离线可用性吗?
  • 完美,适合使用模仿原生应用的传统网络应用。

标签: ruby-on-rails ruby jruby


【解决方案1】:

如果只是 UI 问题,您可能想尝试 jQuery Mobile(目前仍处于 alpha 阶段)。如果您需要更紧密地与您的移动设备集成,我认为运行 Rails 效率不够。

【讨论】:

    【解决方案2】:

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

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

    对于第二个选项,伪装成移动应用的网络应用,我推荐Sencha Touch。 Sencha 在模仿原生 iphone/android 应用程序的 Javascript 库的外观和感觉方面做得非常出色。有了这个解决方案,它就像任何其他网络应用程序一样,尽管它通过它的 UI 面向 android 和 iphone。

    【讨论】:

    • 不确定您所说的“[Rhodes] 在 iPhone App Store 上不可用”是什么意思。当然,使用 Rhodes 创建的应用程序可以放在应用程序商店中,而且很多应用程序已经存在。
    • 我想我误解了 Rhodes 的工作原理。感谢您的信息。
    • @rwilliams,你有更新的名单吗?还是您认为 Rhodes 框架仍然是在 Android 上开发原生应用的最佳方式?
    • @rwilliams,我想连接到 SQL 数据库,只是注意到他们需要 RhoElements 许可证才能使用提供数据库连接的 Javascript API。或者他们有支持连接数据库的免费 API 吗?我想使用免费的开发环境开发原生 Android 应用,最好是类似于 Ruby on Rails 的 MVC。
    【解决方案3】:

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

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

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

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

    【讨论】:

      【解决方案4】:

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

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

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

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

      【讨论】:

        【解决方案5】:

        绝对是的!

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

        例如

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

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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

          • 怎么可能是应用程序?我在哪里启用它?
          【解决方案7】:

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

          React Native

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-04-16
            • 1970-01-01
            • 1970-01-01
            • 2017-03-07
            • 1970-01-01
            • 2013-09-24
            • 1970-01-01
            • 2019-07-26
            相关资源
            最近更新 更多