2011-08-18 33 views
0

我正在开发一个工具,它将包含一个中央网站和一个桌面应用程序。我只是真的完全在线开发,或者完全离线/客户端开发,而不是真的需要将这两者联系起来。我可以使用一些帮助来处理传递数据到/从在线网站&桌面应用程序。链接可可桌面应用程序和RubyonRails网站

桌面应用程序需要沟通&做一些iTunes的控制,所以最初我使用ScriptingBridge框架在OSX &的Cocoa上构建它。

在网站方面,我正在考虑使用Ruby on Rails,并将数据存储在mySQL数据库中,因为我相当熟悉&似乎与它必须完成的在线工作非常匹配。 (但是,如果有接受其他的建议更好的方法!)

我努力寻找轻松的Cocoa程序&线上轨数据库之间传输数据的最佳方式 - 是否有具有可可应用程序的简单方法直接访问在线数据库,还是将一些XML转储到网络服务器并让应用程序读取它?

+0

个人而言,我会用Rails&RESTful API作为最优雅的解决方案。直接连接到外部服务器上的数据库?馊主意。但是我对这类问题没有太多经验,所以把它当作Rails开发人员的观点。关于框架问题,Rails是一个优秀的选择,通过ActiveRecord,您可以专注于比从数据库中“处理和处理”数据的确切过程更精确处理更重要的事情。 – Kreeki

回答

0

在您的RoR系统上打开RESTful API非常简单。让桌面应用程序使用JSON或XML与该API进行通信。使用JSON而不是XML的优点:(1)在Rails中操作非常简单(2)在Javascript中使用极其简单,如果需要构建除桌面之外的Web客户端。

这是一个好主意让桌面应用程序直接与您的远程数据库进行通信。两个主要原因:

  1. 安全性。这样的设置只会被黑客攻击。有些数据库是“为网络而构建的”(CouchDB浮现),并且在这里没问题,但MySQL不是。

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

+0

谢谢两位 - 通过更多地了解为Rails应用程序创建RESTful API,事情终于点击了更多关于设计的方式,以允许从客户端和其他服务器端源访问! – Nick

+0

..我打算刚刚添加,大概一旦我设计了自定义API,我就可以使用Cocoa的'NSURLConnection'等方法来获取我的远程数据? – Nick

相关问题