Submit Search
RestKitの紹介 - Webサービスのクライアント実装補助フレームワーク -
21 likes
6,211 views
次朗 永島
iPhoneアプリ開発でWebサービスのクライアント実装をサポートしてくれるフレームワーク「RestKit」の紹介。
Technology
Read more
1 of 22
Download now
Downloaded 16 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
More Related Content
PDF
CoreData 非同期データ処理
次朗 永島
PDF
第8回KPF発表資料
cryks
PPT
Mongodb
Satoru Mikami
PPTX
Domino Query Language (DQL)
Haruyuki Nakano
PDF
Embulk 20150411
Hiroshi Nakamura
PDF
PHP 2大 web フレームワークの徹底比較!
Shohei Okada
PDF
今からでも大丈夫!Firebase入門
Tomoki Koga
PPTX
FIWAREシステム内の短期履歴の管理
fisuda
CoreData 非同期データ処理
次朗 永島
第8回KPF発表資料
cryks
Mongodb
Satoru Mikami
Domino Query Language (DQL)
Haruyuki Nakano
Embulk 20150411
Hiroshi Nakamura
PHP 2大 web フレームワークの徹底比較!
Shohei Okada
今からでも大丈夫!Firebase入門
Tomoki Koga
FIWAREシステム内の短期履歴の管理
fisuda
What's hot
(19)
PPTX
コア・コンテキスト管理 - FIWARE WednesdayWebinars
fisuda
PPTX
コンテキストデータの永続化のための戦略
fisuda
PPTX
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
JustSystems Corporation
PDF
明日から使える Java SE 7
Yuichi Sakuraba
PDF
Babelfish Compatibility
Noriyoshi Shinoda
PDF
DBスキーマもバージョン管理したい!
kwatch
PDF
OpenStack API
Akira Yoshiyama
PDF
CRAN Task Views でパッケージ管理
Kosei ABE
PDF
Slub alloc and free
Masami Ichikawa
PDF
Pro aspnetmvc3framework chap19
Hideki Hashizume
PDF
Migr8.rb チュートリアル
kwatch
PDF
Webサーバ勉強会03
oranie Narut
PDF
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
なおき きしだ
PPT
実行時のために最適なデータ構造を作成しよう
Hiroki Omae
PPTX
JavaでインメモリSQLエンジンを作ってみた
JustSystems Corporation
PPTX
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
fisuda
PDF
プロジェクト2B 最終発表
Kodai Takao
PDF
EDB Postgres Vision 2019
Noriyoshi Shinoda
PDF
Slub data structure
Masami Ichikawa
コア・コンテキスト管理 - FIWARE WednesdayWebinars
fisuda
コンテキストデータの永続化のための戦略
fisuda
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
JustSystems Corporation
明日から使える Java SE 7
Yuichi Sakuraba
Babelfish Compatibility
Noriyoshi Shinoda
DBスキーマもバージョン管理したい!
kwatch
OpenStack API
Akira Yoshiyama
CRAN Task Views でパッケージ管理
Kosei ABE
Slub alloc and free
Masami Ichikawa
Pro aspnetmvc3framework chap19
Hideki Hashizume
Migr8.rb チュートリアル
kwatch
Webサーバ勉強会03
oranie Narut
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
なおき きしだ
実行時のために最適なデータ構造を作成しよう
Hiroki Omae
JavaでインメモリSQLエンジンを作ってみた
JustSystems Corporation
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
fisuda
プロジェクト2B 最終発表
Kodai Takao
EDB Postgres Vision 2019
Noriyoshi Shinoda
Slub data structure
Masami Ichikawa
Ad
Similar to RestKitの紹介 - Webサービスのクライアント実装補助フレームワーク -
(20)
KEY
Web Operations and Perl kansai.pm#14
Masahiro Nagano
PDF
Apache Torqueについて
tako pons
PDF
scala+liftで遊ぼう
youku
PDF
Spring Data in a Nutshell
Tsuyoshi Miyake
PDF
Sc2009autumn s2robot
Shinsuke Sugaya
PPTX
Develop Web Application with Node.js + Express
Akinari Tsugo
PDF
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
normalian
PDF
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
Kohei Asai
PDF
Sansan様 登壇資料
Daisuke Nagata
PDF
PostgreSQL 12の話
Masahiko Sawada
PDF
Seasarプロジェクト徹底攻略
takezoe
PPTX
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Sotaro Kimura
PDF
Ssaw08 1028
Atsushi Tadokoro
PPTX
Selenium webdriver使ってみようず
Oda Shinsuke
PDF
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Toshiyuki Ienaga
PPTX
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
Fujio Kojima
PPTX
Dot netcore multiplatform 2
shozon
PPT
Springでdao 20070413
Funato Takashi
PDF
Grails 2.0.0.M1の話
Tsuyoshi Yamamoto
PDF
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Shotaro Suzuki
Web Operations and Perl kansai.pm#14
Masahiro Nagano
Apache Torqueについて
tako pons
scala+liftで遊ぼう
youku
Spring Data in a Nutshell
Tsuyoshi Miyake
Sc2009autumn s2robot
Shinsuke Sugaya
Develop Web Application with Node.js + Express
Akinari Tsugo
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
normalian
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
Kohei Asai
Sansan様 登壇資料
Daisuke Nagata
PostgreSQL 12の話
Masahiko Sawada
Seasarプロジェクト徹底攻略
takezoe
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Sotaro Kimura
Ssaw08 1028
Atsushi Tadokoro
Selenium webdriver使ってみようず
Oda Shinsuke
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Toshiyuki Ienaga
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
Fujio Kojima
Dot netcore multiplatform 2
shozon
Springでdao 20070413
Funato Takashi
Grails 2.0.0.M1の話
Tsuyoshi Yamamoto
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Shotaro Suzuki
Ad
RestKitの紹介 - Webサービスのクライアント実装補助フレームワーク -
2.
永島 次朗 /
Jiro Nagashima iOS Developer @ nana music, inc. @hedjirog
3.
RestKit / Examples
/ RKTwitter
4.
サンプルプロジェクト • 動作手順
• リポジトリを複製 (masterブランチ) • Examplesディレクトリ下のプロジェクトを開く • Build & Run $ git clone -b master --recursive git://github.com/RestKit/RestKit.git $ open RestKit/Examples/RKTwitter/RKTwitter.xcodeproj ※ 同時に複数のサンプルプロジェクトを開くと、 (サブプロジェクトとして含まれるRestKitの参照に失敗して) ビルドエラーになる場合があるので注意
5.
サンプルプロジェクト(補足)
Submoduleを含むリポジトリ複製 recursiveオプションを付与 (clone後のsubmodule更新) $ git clone -b master --recursive git://github.com/RestKit/RestKit.git $ open RestKit/Examples/RKTwitter/RKTwitter.xcodeproj
6.
Agenda • RestKitとは •
導入手順 • 注意点 • 基本的な使い方 • Networking, Object Mapping, Core Data
7.
RestKitとは
8.
RestKitとは
Networking Object Mapping RestKit Core Data
9.
RestKitとは
Webサービスのクライアント実装を 強力にサポート!! Networking Object Mapping RestKit Core Data
10.
RestKitとは
• RestKit • http://restkit.org/ • Github project page • https://github.com/RestKit/ RestKit RestKit
11.
導入手順 • CocoaPodsを利用(推奨) •
https://github.com/RestKit/RestKit#via- cocoapods • http://cocoapods.org/?q=RestKit
12.
注意点 • iOS 5.0
以上が必須 • ARC • 最新バージョンに pre の表記 (2013.01.26現在) • https://github.com/RestKit/RestKit/tags • Apache License 2.0
13.
Agenda RestKitとは
導入手順 注意点 • 基本的な使い方 • Networking, Object Mapping, Core Data
14.
基本的な使い方 ※ サンプルプロジェクト(RKTwitter, RKTwitterCoreData)から抜粋
15.
Networking (1/6)
• RKObjectManager • 通信処理の共通設定 NSURL *baseURL = [NSURL URLWithString:@"http://twitter.com"]; RKObjectManager *objectManager = [RKObjectManager managerWithBaseURL:baseURL];
16.
Networking (2/6)
• RKObjectManager • 共通設定からリクエストを作成 RKObjectManager *objectManager = [RKObjectManager sharedManager]; [objectManager getObjectsAtPath:@"/status/user_timeline/RestKit" parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { NSArray* statuses = [mappingResult array]; NSLog(@"Loaded statuses: %@", statuses); } failure:^(RKObjectRequestOperation *operation, NSError *error) { NSLog(@"Hit error: %@", error); }];
17.
Object Mapping (3/6)
• RKObjectMapping • マッピング対象のクラスを指定 • レスポンスで受け取るJSONデータのキーと、 クラスのプロパティをマッピング RKObjectMapping *statusMapping; statusMapping = [RKObjectMapping mappingForClass:[RKTweet class]]; [statusMapping addAttributeMappingsFromDictionary:@{ @"id" : @"statusID", @"created_at" : @"createdAt", @"text" : @"text", @"url" : @"urlString", @"in_reply_to_screen_name" : @"inReplyToScreenName", @"favorited" : @"isFavorited", }]; ※ CoreData利用時のマッピングは後述(RKEntityMapping)
18.
Object Mapping (4/6)
• RKObjectMapping • マッピングを適用するレスポンスの状態を RKResponseDescriptorで設定 • RKObjectManagerへ設定内容を引き渡し RKResponseDescriptor *responseDescriptor; responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:statusMapping pathPattern:@"/status/user_timeline/:username" keyPath:nil statusCodes:[NSIndexSet indexSetWithIndex:200]]; RKObjectManager *objectManager = [RKObjectManager sharedManager]; [objectManager addResponseDescriptor:responseDescriptor];
19.
Core Data (5/6)
• RKManagedObjectStore • Core Dataスタックの管理 NSManagedObjectModel *managedObjectModel; managedObjectModel = [NSManagedObjectModel mergedModelFromBundles:nil]; RKManagedObjectStore *managedObjectStore; managedObjectStore = [[RKManagedObjectStore alloc] initWithManagedObjectModel:managedObjectModel]; RKObjectManager *objectManager = [RKObjectManager sharedManager]; objectManager.managedObjectStore = managedObjectStore;
20.
Core Data (6/6)
• RKEntityMapping • マッピング対象のエンティティと、 RKManagedObjectSotreインスタンスを指定 • 値が一意となる属性を指定(オブジェクト更新時 に利用される) RKEntityMapping *tweetMapping; tweetMapping = [RKEntityMapping mappingForEntityForName:@"Tweet" inManagedObjectStore:managedObjectStore]; tweetMapping.identificationAttributes = @[ @"statusID" ]; [tweetMapping addAttributeMappingsFromDictionary:@{ @"id": @"statusID", @"created_at": @"createdAt", @"text": @"text", @"url": @"urlString", @"in_reply_to_screen_name": @"inReplyToScreenName", @"favorited": @"isFavorited", }];
21.
Agenda RestKitとは 導入手順 注意点 基本的な使い方
Networking, Object Mapping, Core Data
22.
関連 • API Reference
• https://github.com/RestKit/RestKit#api- quickstart • http://restkit.org/api/latest/ • Wiki • https://github.com/RestKit/RestKit/wiki
Download