Rails 3.2 和phonegap

2024-01-20

我当前正在运行一个rails应用程序,我想为其制作一个移动应用程序,我不想学习objective-c或java,我读了很多关于phonegap的文章以及如何使用它来制作跨平台Web应用程序 Phonegap编译css/htm/js Rails 应用程序有其 ruby​​ 代码以及 html.erb 和 js.erb 扩展 那么我怎样才能制作一个移动应用程序,主要用于 android 作为我的 Rails 切除服务器的后端
我将使用 jquery mobile 作为应用程序的 UI 我是否需要制作一个 api 并使用 emberjs 或 angularjs 或backbone 来与服务器联系? 使用 Rails 作为移动应用程序后端的教程非常罕见


显然,没有单一的方法可以做到这一点。所以,我会告诉你我在构建一个项目时使用的工具与 API 服务器配合使用的移动客户端 app.

Backend:

  1. 红宝石 on Rails http://rubyonrails.org/
  2. rabl gem https://github.com/nesquena/rabl (Ruby API Builder Language) is a Rails and Padrino ruby templating system for generating JSON, XML, MessagePack, PList and BSON. With this gem you can:
    • 创建基于对象中组合数据命名的任意节点
    • 将参数传递给方法并将结果存储为子节点
    • 渲染部分模板并继承以减少代码重复
    • 重命名或别名属性以更改模型的名称
    • 将子节点的属性附加到父节点
    • 仅当满足特定条件时才包含节点

前端:

  1. Cordova http://cordova.apache.org/:一组设备 API,允许移动应用开发人员通过 JavaScript 访问本机设备功能,例如相机或加速计。
  2. Angularjs http://angularjs.org/(选修的)
  3. Ionic http://ionicframework.com/(如果您选择使用 Angular):免费开源、针对移动设备优化的 HTML、CSS 和 JS 组件库。使用 Sass 构建并针对 AngularJS 进行了优化。 Ionic 带有一个AngularJS 和 Cordova 种子项目示例 http://ionicframework.com/tutorials/您可以使用它来启动您自己的应用程序。
  4. 角度休息模式 https://github.com/platanus/angular-restmod(如果您选择使用 Angular):受 Rails 启发的 REST-API ORM。有了这个,您就可以使用“javascript 模型”来与 Rails API 进行交互。如果你不想使用这个你可以使用Angular 的 $http http://docs.angularjs.org/api/ng.%24http

有了 Ember,你可以使用ember_phonegap_starter https://github.com/ianpetzer/ember_phonegap_starter。这是一个入门套件,可帮助您在移动应用程序中启动并运行 Ember。可以将其转储到 PhoneGap 包装器中,为您的 Ember 应用程序创建应用程序包装器。 (查看截屏视频 http://www.youtube.com/watch?v=Bs6xz-pxBVU)

您可以使用ember 引导程序 https://github.com/ember-addons/bootstrap-for-ember (examples http://ember-addons.github.io/bootstrap-for-ember/dist/)将 Twitter Bootstrap 3 添加到您的 Ember 应用程序中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 3.2 和phonegap 的相关文章

随机推荐

  • Treeset.contains() 问题

    所以我已经被一个问题困扰了一段时间 我想我不妨在这里寻求帮助 我将 Ticket 对象添加到 TreeSet Ticket 实现 Comparable 并重写 equals hashCode 和 CompareTo 方法 我需要使用 con
  • 古怪的 __set() 魔术函数

    谁能向我解释一下这种行为的逻辑吗 考虑以下情况 class EPPDomain protected myField public static function buildEPPDomain fieldValue me new self m
  • Select2:未捕获类型错误:options.results 不是函数

    我正在尝试使用 Select2 jquery 插件进行 AJAX 调用 查询似乎有效 但问题发生在 results 被称为options object Uncaught TypeError options results is not a
  • 默认变量值

    如果我在声明变量时没有为其赋值 那么它是否默认为零或只是内存中先前的值 e g float x 声明的变量可以是零初始化 值初始化 or 默认初始化 C 03 标准 8 5 5 恰当地定义了以下各项 To 零初始化T 类型的对象意味着 如果
  • 使用SimpleXmlElement和symfony2输出xml文件

    rootNode new SimpleXMLElement
  • OpenMP 如何重用线程

    我认为线程的创建和删除可能代价高昂 OpenMP 是否尝试重用现有线程 例如 pragma omp parallel sections num threads 4 pragma omp section worker A pragma omp
  • Rust 中连接向量的最佳方法是什么?

    是否有可能在 Rust 中连接向量 如果是这样 有没有一种优雅的方式来做到这一点 我有这样的事情 let mut a vec 1 2 3 let b vec 4 5 6 for val in b a push val 有谁知道更好的方法吗
  • 从 hIcon/hBitmap 获取字节/char*

    我正在开发一个C S应用程序 C 中的服务器和C 中的客户端 我需要发送一些有关当前正在运行的进程和相关图标的信息 我得到了图标文件感谢EnumWindows将此代码放在回调中 Get the window icon HICON hIcon
  • Angular - 不纯管道与函数

    我正在 Angular2 中的数组上实现过滤操作 当数组中的元素发生更改时 纯管道不会触发 因此 我必须使用不纯的管道或使用组件内部的函数进行过滤 如下所示 ngFor let item of items impureFilterPipe
  • 如何正确地从 Promise 返回多个值?

    我最近多次遇到某种情况 不知道如何正确解决 假设以下代码 somethingAsync then afterSomething then afterSomethingElse function afterSomething amazingD
  • 颁发身份超级账本作曲家时授权失败

    我阅读了建议检查 docker yaml 的答案 文件路径如下 我确认用户名是admin 密码是adminpw 不幸的是我仍然收到授权失败错误 我用来发布身份的命令 composer identity issue n trade netwo
  • 如何以 1 秒的间隔更新组件?

    我在戴尔面试时被问到这个问题 new Date 给你一个Date使用当前日期 时间初始化的对象 假设我的屏幕右上角显示当前时间 并且有人这样做了
  • InApp 计费验证 Web 服务器 PHP 上的订单

    我正在使用一个简单的 PHP 脚本来验证 Android 订单以解析客户的下载 receipt GET purchaseData billInfo json decode receipt true signature GET dataSig
  • stack --nix build 抱怨 ghc 版本不匹配

    在 NixOS 上构建 Threepenny gui 时stack nix build 我收到错误消息 说我的 ghc 版本错误 然后我尝试了stack nix setup 它不会运行 因为 bash 位于 NixOS 上的意外路径上 这是
  • Matlab 2012a Mex 在 Mountain Lion 上与 Xcode 4.5 配合使用

    我安装了 Mountain Lion 并安装了 Xcode 4 5 和 Matlab 2012a 我安装并运行了 MathWorks 网站上提供的补丁 但仍然收到以下错误 Applications MATLAB R2012a app bin
  • 在 iOS 8 上点击或选择输入字段中的所有内容时,光标超出边框

    IOS8有这个问题 IOS7没有 我有一个输入标签 其内容的长度大于其宽度
  • MMC进程立即关闭,无法链接到Windows窗体

    我想做的最终目标是将 MMC Microsoft 管理控制台 计算机管理管理单元 compmgmt msc 进程嵌入到 Windows 窗体中 或者将其视为模态弹出窗口的解决方法上菜单 现在 我只是想让 mmc exe 本身正常工作 然后再
  • 为什么应该在 LINQ To SQL 存储库保存方法中使用 GetOriginalEntityState()?

    我正在查看 Steven Sanderson 的 Pro ASP NET MVC 2 Framework 一书中的产品存储库中的保存方法示例 public void SaveProduct Product product if new pr
  • Google Cloud SQL 实例无响应,如何获得支持?

    当谈到数据库时 我们希望将管理它们的工作交给专业人士 这就是为什么我们选择 CloudSQL 第二代数据库实例形式的托管解决方案 今天实例停止响应 我单击了重新启动 它已经重新启动了几个小时并且没有响应 我尝试克隆实例 也没有响应 我不知道
  • Rails 3.2 和phonegap

    我当前正在运行一个rails应用程序 我想为其制作一个移动应用程序 我不想学习objective c或java 我读了很多关于phonegap的文章以及如何使用它来制作跨平台Web应用程序 Phonegap编译css htm js Rail