Связывание настольного приложения Cocoa и сайта RubyonRails - PullRequest
0 голосов
/ 18 августа 2011

Я разрабатываю инструмент, который будет включать центральный веб-сайт и настольное приложение. Раньше я только делал полностью онлайн-разработку или полностью автономную / клиентскую разработку, и мне не пришлось связывать их. Я мог бы использовать некоторую помощь в подходе к передаче данных в / из онлайн-сайта и настольного приложения.

Настольное приложение должно взаимодействовать и иметь некоторый контроль над iTunes, поэтому изначально я строю это в Какао на OSX и использую инфраструктуру ScriptingBridge.

Что касается веб-сайта, я думаю об использовании Ruby on Rails с данными, хранящимися в базе данных mySQL, так как я довольно знаком и, похоже, хорошо подходит для онлайн-работы, которую он должен выполнять. (Но открывайте для других предложений, если есть лучший подход!)

Я изо всех сил пытаюсь найти лучший подход для простой передачи данных между приложением Cocoa и базой данных онлайн-рельсов - существует ли простой способ, позволяющий приложению Cocoa напрямую обращаться к базе данных онлайн, или это типичный сброс XML на веб-сервер и приложение прочитало это?

1 Ответ

0 голосов
/ 19 августа 2011

Открытие RESTful API в вашей системе RoR настолько просто, насколько вы можете получить. Пусть ваше настольное приложение взаимодействует с этим API, используя JSON или XML.

Преимущества использования JSON, а не XML: (1) чрезвычайно просто манипулировать в Rails (2) чрезвычайно просто работать в Javascript, если возникнет необходимость в создании веб-клиента в дополнение к настольному.

Это очень плохая идея, чтобы настольное приложение связывалось напрямую с вашей удаленной базой данных. Две основные причины:

  1. Security. Такая установка просто требует взлома. Некоторые базы данных «созданы для Интернета» (на ум приходит CouchDB), и здесь все будет в порядке, но MySQL нет.

  2. Гибкость. С настольным приложением на местах вносить изменения и распространять их среди всех клиентов очень сложно. Если возникает необходимость изменить вашу схему, уровень веб-приложений часто позволяет поддерживать стабильный интерфейс с настольными клиентами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...