Upgrade to Pro — share decks privately, control downloads, hide ads and more …

如何用rails开发一个任务管理的网站和移动app

rainchen
October 11, 2015

 如何用rails开发一个任务管理的网站和移动app

我们使用backbone+rails4+grape+phonegap的组合开发了一个任务管理的网站和移动app,在主题里会介绍如何用backbone作为前端MVC框架跟rails的结合,rails怎么配合时下流行的hybrid 技术(phonegap, ionic)怎么做mobile app,以及一些任务分配系统中repeating task、权限处理、消息推送、定时通知等典型场景的实现思路。

(PS. 由于speakerdeck只支持PDF,现场看到的一些过渡特效都被去掉了)

rainchen

October 11, 2015
Tweet

Other Decks in Programming

Transcript

  1. 1.  创建、分配任务 为了提高操作上的用户体验,选用前端 2.  随时反馈 要手机可用 3.  通知消息 通知方式可以有多种,如邮件通知、移动 4.

     重复性的任务 如发项目周报、举行周例会 5.  权限处理 附件可不可以看、子任务可不可以看等复杂的权限问题 如何用rails开发一个任务管理的网站和移动app
  2. 1.  最接近rails风格 最初是提取自一个rails项目 2.  上手简单 15分钟入门 3.  扩展丰富 自定义mixin容易 4.

     跟rails  结合异常简单   gem  “backbone-rails” 如何用rails开发一个任务管理的网站和移动app
  3. 1.  一次开发同时得到mobile  web和app 好处 2.  开发快速,调试方便 1.  体验差:所有资源从服务器加载 坏处 2.

     没有native  app的优势 3.  没有推送消息 + 如何用rails开发一个任务管理的网站和移动app
  4. 1.  无限重复任务 显示是虚数据,访问时才实例化 2.  定时任务 时间到时自动实例化 3.  clone的实现 gem  “deep_cloneable”

    4.  计算重复规则 gem“ice_cube” 5.  周期性任务的通知 使用sidekiq 重复性任务 如何用rails开发一个任务管理的网站和移动app
  5. 权限处理 解决方法 1.  gem  “cancancan” 可读、好维护、灵活的DSL 2.  给CanCan::ModelAdapters打补丁让can方法    

                    可使用query  scope can  :index,  Task,  Task.where(…) 3.  API  输出资源的可用权限集合 expose  :abilities 4.  Backbone自定义mixin currentRole.can('create',  'User') 如何用rails开发一个任务管理的网站和移动app
  6. • https://github.com/intridea/grape   • https://github.com/ruby-grape/grape-entity   • http://backbonejs.org/   •

    https://github.com/codebrew/backbone-rails   • http://phonegap.com/   • http://ionicframework.com/   • https://github.com/CanCanCommunity/cancancan 参考 如何用rails开发一个任务管理的网站和移动app