Ruby on rails 链接可可桌面应用程序&;RubyonRails网站

Ruby on rails 链接可可桌面应用程序&;RubyonRails网站,ruby-on-rails,cocoa,architecture,client-server,Ruby On Rails,Cocoa,Architecture,Client Server,我正在开发一个工具,它将包括一个中心网站和一个桌面应用程序。我以前只做过完全在线的developent,或者完全离线/客户端的开发,不需要将两者联系起来。我需要一些帮助,了解如何向在线网站和桌面应用程序传递数据 桌面应用程序需要与iTunes通信并对iTunes进行一些控制,因此最初我将在OSX上的Cocoa中构建它,并利用ScriptingBridge框架 在网站方面,我考虑使用rubyonrails,将数据存储在mySQL数据库中,这一点我相当熟悉&似乎很适合它必须完成的在线工作。(但如果有

我正在开发一个工具,它将包括一个中心网站和一个桌面应用程序。我以前只做过完全在线的developent,或者完全离线/客户端的开发,不需要将两者联系起来。我需要一些帮助,了解如何向在线网站和桌面应用程序传递数据

桌面应用程序需要与iTunes通信并对iTunes进行一些控制,因此最初我将在OSX上的Cocoa中构建它,并利用ScriptingBridge框架

在网站方面,我考虑使用rubyonrails,将数据存储在mySQL数据库中,这一点我相当熟悉&似乎很适合它必须完成的在线工作。(但如果有更好的方法,可以接受其他建议!)


我正在努力寻找在Cocoa应用程序和在线rails数据库之间轻松传输数据的最佳方法-是否有一种让Cocoa应用程序直接访问在线数据库的简单方法,或者,将一些XML转储到Web服务器并让应用程序读取是典型的做法吗?

在RoR系统上打开RESTful API非常简单。让您的桌面应用程序使用JSON或XML与该API通信

使用JSON而不是XML的优点:(1)在Rails中操作非常简单(2)在Javascript中使用非常简单,如果需要在桌面客户端之外构建web客户端

让桌面应用程序直接与远程数据库通信是一个非常糟糕的主意。两个主要原因:

  • 安全。这样的设置只会乞求被黑客攻击。有些数据库是“为web构建的”(我想到CouchDB),在这里还可以,但MySQL不是

  • 灵活性。在现场使用桌面应用程序时,很难进行更改并将其分发给所有客户端。如果需要更改模式,web应用程序层通常允许您保持与桌面客户端的接口稳定


  • 我个人认为Rails和RESTful API是最优雅的解决方案。是否直接连接到外部服务器上的数据库?坏主意。但是我对这类问题没有太多的经验,所以从Rails开发人员的角度来看。关于框架问题,Rails是一个很好的选择,使用ActiveRecord,您可以关注比如何准确地处理“输入和输出”操作数据的确切过程更重要的事情从数据库中下载。感谢二者-阅读了有关为rails应用程序创建RESTful API的更多内容,最终点击了更多有关设计的信息,以允许从客户端和其他服务器端源进行访问!。。我只是想添加,大概在我设计了自定义API之后,我就可以使用Cocoa的“NSURLConnection”方法等获取远程数据了?