Какую библиотеку я должен использовать для подключения приложения iPhone к серверу Ruby on Rails? - PullRequest
1 голос
/ 22 февраля 2010

Я начинаю новый проект iPhone и хочу начать с правильной ноги. Он будет говорить с сервером Ruby on Rails для некоторых основных операций CRUD. Я хотел бы избежать работы с URL-адресами, HTTP-запросами и ответами и тому подобным. Существуют ли какие-либо библиотеки, облегчающие это?

Ответы [ 2 ]

1 голос
/ 23 июля 2012

Я использую RestKit . Работает очень хорошо.

Из RestKit GitHub Wiki:

RestKit - это платформа для iOS и Mac OS X, предоставляющая сетевой доступ к веб-службам HTTP RESTful, мощный механизм отображения объектов и интеграция с платформой Apple Core Data для локального сохранения объектов, существующих в удаленной серверной системе.

RestKit позволяет легко реализовать сопоставление объектов:

Отличительной особенностью RestKit от других наборов инструментов HTTP в пространстве iOS является тесно интегрированная поддержка сопоставления объектов. Сопоставление объектов - это процесс представления данных в одном формате и их преобразования в другую форму. Этот механизм широко используется в RestKit для упрощения сериализации и десериализации ресурсов, которыми обмениваются с удаленным внутренним сервером приложений через HTTP. Операции сопоставления объектов выполняются при загрузке удаленного ресурса через экземпляр RKObjectManager и при отправке локального объекта на сервер для обработки.

Функция сопоставления объектов позволяет относительно легко синхронизировать модели iOS с моделями серверов.

RestKit постоянно совершенствуется и пользуется большой поддержкой сообщества разработчиков iOS.

1 голос
/ 22 февраля 2010

Похоже, http://iphoneonrails.com делает все довольно просто. Вы создаете пользовательские классы в Objective-C, которые отражают ваши классы Ruby. Вы автоматически получаете следующие методы для CRUD:

//Create
Dog *dog = [[[Dog alloc] init] autorelease];
dog.name = @"Fido";
[dog saveRemote];

//Read
NSArray *dogs = [Dog findAllRemote];
dog = [Dog findRemote:dog.dogId];

//Update
dog.name = @"Fido Jones";
[dog updateRemote];

//Delete
[dog destroyRemote];

Вы также можете довольно легко добавить методы в ваши классы Objective C для вызова не-CRUD методов в ваших классах Ruby.

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