ݺߣ

ݺߣShare a Scribd company logo
RESTful клиент — это 
просто. 
Тонкости использования RestKit.
Что такое REST? 
REST - REpresentation State Transfer, 
2000 год, Рой Филдинг. 
передача данных в стандартном формате (HTML, XML, JSON) 
информация о состояния между парами запрос/ответ не 
сохраняется 
каждый ресурс определяется уникальным глобальным 
идентификатором (URL) строго заданного формата
RESTful сервис 
Общие рекомендации. 
Почему это важно?
RESTful сервис 
Общие рекомендации. 
набор CRUD (Create-Read-Update-Delete) операций 
определяется методами HTTP: GET, PUT, POST, DELETE 
пример: 
GET /users/ -список пользователей 
GET /users/123/ -подробная информация 
POST /users/ -добавить пользователя 
PUT /users/123 -обновить данные пользователя 
DELETE /users/123 -удалить пользователя
Схемы URL для REST 
интерфейса 
Общие правила. 
набор CRUD (Create-Read-Update-Delete) операций 
определяется методами HTTP: GET, PUT, POST, DELETE 
каждый ресурс имеет определенный иерархичный URL 
пример: 
/users/ список пользователей 
/users/123/ подробная информация 
/users/123/products/ список продуктов 
/users/123/products/12/ подробная информация 
/users/123/products/12/photos/ список фото
Схемы URL для REST 
интерфейса 
Рекомендации. 
Использовать общие названия ресурсов и HTTP методов, 
вместо глаголов для определения действия 
пример: 
DELETE /users/123 вместо POST /users_delete/123/ 
PUT /users/123 вместо POST /users_update/123/
REST библиотеки для iOS 
ASIHTTPRequest 
AFNetworking 
MKNetworkKit 
RestKit
ASIHTTPRequest 
ASIHTTPRequest - надстройка над CFNetwork 
удобный интерфейс для взаимодействия с веб серверами 
обработка очередей запросов 
кэширование данных 
поддержка Cookies 
делегаты индикаторов прогресса выполнения операции 
поддержка Basic, Digest и NTLM авторизации 
поддержка RackSpace Cloud и Amazon S3
ASIHTTPRequest 
Последнее обновление - 15 мая 2011 года. 
Не рекомендуется для использования в новых проектах.
AFNetworking 
AFNetworking - надстройка над Apple Foundation 
URL Loading system 
использование всех существующих возможностей классов 
NSURLConnection, 
NSOperation, NSURLRequest 
NSHTTPCookieStorage и др. 
набор классов типовых операций: 
AFXMLRequestOperation, 
AFJSONRequestOperation, 
AFImageRequestOperation
AFNetworking 
На сегодняшний день является самой популярной 
библиотекой iOS для работы с HTTP.
RestKit 
RestKit - библиотека restful уровня 
абстракции. 
Основные компоненты: 
Object Mapping 
Networking (RestKit - надстройка AFNetworking ) 
CoreData

More Related Content

Встреча №8. RESTful клиент — это просто. Тонкости использования RestKit, Михаил Кольцов

  • 1. RESTful клиент — это просто. Тонкости использования RestKit.
  • 2. Что такое REST? REST - REpresentation State Transfer, 2000 год, Рой Филдинг. передача данных в стандартном формате (HTML, XML, JSON) информация о состояния между парами запрос/ответ не сохраняется каждый ресурс определяется уникальным глобальным идентификатором (URL) строго заданного формата
  • 3. RESTful сервис Общие рекомендации. Почему это важно?
  • 4. RESTful сервис Общие рекомендации. набор CRUD (Create-Read-Update-Delete) операций определяется методами HTTP: GET, PUT, POST, DELETE пример: GET /users/ -список пользователей GET /users/123/ -подробная информация POST /users/ -добавить пользователя PUT /users/123 -обновить данные пользователя DELETE /users/123 -удалить пользователя
  • 5. Схемы URL для REST интерфейса Общие правила. набор CRUD (Create-Read-Update-Delete) операций определяется методами HTTP: GET, PUT, POST, DELETE каждый ресурс имеет определенный иерархичный URL пример: /users/ список пользователей /users/123/ подробная информация /users/123/products/ список продуктов /users/123/products/12/ подробная информация /users/123/products/12/photos/ список фото
  • 6. Схемы URL для REST интерфейса Рекомендации. Использовать общие названия ресурсов и HTTP методов, вместо глаголов для определения действия пример: DELETE /users/123 вместо POST /users_delete/123/ PUT /users/123 вместо POST /users_update/123/
  • 7. REST библиотеки для iOS ASIHTTPRequest AFNetworking MKNetworkKit RestKit
  • 8. ASIHTTPRequest ASIHTTPRequest - надстройка над CFNetwork удобный интерфейс для взаимодействия с веб серверами обработка очередей запросов кэширование данных поддержка Cookies делегаты индикаторов прогресса выполнения операции поддержка Basic, Digest и NTLM авторизации поддержка RackSpace Cloud и Amazon S3
  • 9. ASIHTTPRequest Последнее обновление - 15 мая 2011 года. Не рекомендуется для использования в новых проектах.
  • 10. AFNetworking AFNetworking - надстройка над Apple Foundation URL Loading system использование всех существующих возможностей классов NSURLConnection, NSOperation, NSURLRequest NSHTTPCookieStorage и др. набор классов типовых операций: AFXMLRequestOperation, AFJSONRequestOperation, AFImageRequestOperation
  • 11. AFNetworking На сегодняшний день является самой популярной библиотекой iOS для работы с HTTP.
  • 12. RestKit RestKit - библиотека restful уровня абстракции. Основные компоненты: Object Mapping Networking (RestKit - надстройка AFNetworking ) CoreData