Enviar pesquisa
Carregar
RestKitの紹介 - Webサービスのクライアント実装補助フレームワーク -
•
21 gostaram
•
6,205 visualizações
次朗 永島
Seguir
iPhoneアプリ開発でWebサービスのクライアント実装をサポートしてくれるフレームワーク「RestKit」の紹介。
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 22
Baixar agora
Baixar para ler offline
Recomendados
CoreData 非同期データ処理
CoreData 非同期データ処理
次朗 永島
第8回KPF発表資料
第8回KPF発表資料
cryks
Mongodb
Mongodb
Satoru Mikami
Domino Query Language (DQL)
Domino Query Language (DQL)
Haruyuki Nakano
Embulk 20150411
Embulk 20150411
Hiroshi Nakamura
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
Shohei Okada
今からでも大丈夫!Firebase入門
今からでも大丈夫!Firebase入門
Tomoki Koga
FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理
fisuda
Recomendados
CoreData 非同期データ処理
CoreData 非同期データ処理
次朗 永島
第8回KPF発表資料
第8回KPF発表資料
cryks
Mongodb
Mongodb
Satoru Mikami
Domino Query Language (DQL)
Domino Query Language (DQL)
Haruyuki Nakano
Embulk 20150411
Embulk 20150411
Hiroshi Nakamura
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
Shohei Okada
今からでも大丈夫!Firebase入門
今からでも大丈夫!Firebase入門
Tomoki Koga
FIWAREシステム内の短期履歴の管理
FIWAREシステム内の短期履歴の管理
fisuda
コア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinars
fisuda
コンテキストデータの永続化のための戦略
コンテキストデータの永続化のための戦略
fisuda
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
JustSystems Corporation
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
Fumihiko Shiroyama
明日から使える Java SE 7
明日から使える Java SE 7
Yuichi Sakuraba
Babelfish Compatibility
Babelfish Compatibility
Noriyoshi Shinoda
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
OpenStack API
OpenStack API
Akira Yoshiyama
CRAN Task Views でパッケージ管理
CRAN Task Views でパッケージ管理
Kosei ABE
Slub alloc and free
Slub alloc and free
Masami Ichikawa
Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19
Hideki Hashizume
Migr8.rb チュートリアル
Migr8.rb チュートリアル
kwatch
Webサーバ勉強会03
Webサーバ勉強会03
oranie Narut
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
なおき きしだ
実行時のために最適なデータ構造を作成しよう
実行時のために最適なデータ構造を作成しよう
Hiroki Omae
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみた
JustSystems Corporation
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
fisuda
プロジェクト2B 最終発表
プロジェクト2B 最終発表
Kodai Takao
EDB Postgres Vision 2019
EDB Postgres Vision 2019
Noriyoshi Shinoda
Slub data structure
Slub data structure
Masami Ichikawa
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
Apache Torqueについて
Apache Torqueについて
tako pons
Mais conteúdo relacionado
Mais procurados
コア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinars
fisuda
コンテキストデータの永続化のための戦略
コンテキストデータの永続化のための戦略
fisuda
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
JustSystems Corporation
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
Fumihiko Shiroyama
明日から使える Java SE 7
明日から使える Java SE 7
Yuichi Sakuraba
Babelfish Compatibility
Babelfish Compatibility
Noriyoshi Shinoda
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
OpenStack API
OpenStack API
Akira Yoshiyama
CRAN Task Views でパッケージ管理
CRAN Task Views でパッケージ管理
Kosei ABE
Slub alloc and free
Slub alloc and free
Masami Ichikawa
Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19
Hideki Hashizume
Migr8.rb チュートリアル
Migr8.rb チュートリアル
kwatch
Webサーバ勉強会03
Webサーバ勉強会03
oranie Narut
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
なおき きしだ
実行時のために最適なデータ構造を作成しよう
実行時のために最適なデータ構造を作成しよう
Hiroki Omae
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみた
JustSystems Corporation
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
fisuda
プロジェクト2B 最終発表
プロジェクト2B 最終発表
Kodai Takao
EDB Postgres Vision 2019
EDB Postgres Vision 2019
Noriyoshi Shinoda
Slub data structure
Slub data structure
Masami Ichikawa
Mais procurados
(20)
コア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinars
コンテキストデータの永続化のための戦略
コンテキストデータの永続化のための戦略
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
「書ける」から「できる」になれる! ~Javaメモリ節約ノウハウ話~
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
Firebaseで驚くほど簡単に作れるリアルタイムイベントドリブンアプリ
明日から使える Java SE 7
明日から使える Java SE 7
Babelfish Compatibility
Babelfish Compatibility
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
OpenStack API
OpenStack API
CRAN Task Views でパッケージ管理
CRAN Task Views でパッケージ管理
Slub alloc and free
Slub alloc and free
Pro aspnetmvc3framework chap19
Pro aspnetmvc3framework chap19
Migr8.rb チュートリアル
Migr8.rb チュートリアル
Webサーバ勉強会03
Webサーバ勉強会03
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
これからのコンピューティングの変化とJava-JJUG CCC 2015 Fall
実行時のために最適なデータ構造を作成しよう
実行時のために最適なデータ構造を作成しよう
JavaでインメモリSQLエンジンを作ってみた
JavaでインメモリSQLエンジンを作ってみた
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
IoT Agents をデバッグする方法 - FIWARE WednesdayWebinars
プロジェクト2B 最終発表
プロジェクト2B 最終発表
EDB Postgres Vision 2019
EDB Postgres Vision 2019
Slub data structure
Slub data structure
Semelhante a RestKitの紹介 - Webサービスのクライアント実装補助フレームワーク -
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
Apache Torqueについて
Apache Torqueについて
tako pons
scala+liftで遊ぼう
scala+liftで遊ぼう
youku
Spring Data in a Nutshell
Spring Data in a Nutshell
Tsuyoshi Miyake
Sc2009autumn s2robot
Sc2009autumn s2robot
Shinsuke Sugaya
Develop Web Application with Node.js + Express
Develop Web Application with Node.js + Express
Akinari Tsugo
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
normalian
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
Kohei Asai
Sansan様 登壇資料
Sansan様 登壇資料
Daisuke Nagata
PostgreSQL 12の話
PostgreSQL 12の話
Masahiko Sawada
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
takezoe
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Sotaro Kimura
Ssaw08 1028
Ssaw08 1028
Atsushi Tadokoro
Selenium webdriver使ってみようず
Selenium webdriver使ってみようず
Oda Shinsuke
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Toshiyuki Ienaga
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
Fujio Kojima
Dot netcore multiplatform 2
Dot netcore multiplatform 2
shozon
Springでdao 20070413
Springでdao 20070413
Funato Takashi
Grails 2.0.0.M1の話
Grails 2.0.0.M1の話
Tsuyoshi Yamamoto
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Shotaro Suzuki
Semelhante a RestKitの紹介 - Webサービスのクライアント実装補助フレームワーク -
(20)
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Apache Torqueについて
Apache Torqueについて
scala+liftで遊ぼう
scala+liftで遊ぼう
Spring Data in a Nutshell
Spring Data in a Nutshell
Sc2009autumn s2robot
Sc2009autumn s2robot
Develop Web Application with Node.js + Express
Develop Web Application with Node.js + Express
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
コンポーネント指向による、Reactのベストプラクティスとバッドプラクティス
Sansan様 登壇資料
Sansan様 登壇資料
PostgreSQL 12の話
PostgreSQL 12の話
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Hadoop基盤上のETL構築実践例 ~多様なデータをどう扱う?~
Ssaw08 1028
Ssaw08 1028
Selenium webdriver使ってみようず
Selenium webdriver使ってみようず
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
Next2Dで始めるゲーム開発 - Game Development Starting with Next2D
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
「Windows 8 ストア アプリ開発 tips」 hokuriku.net vol.11 (2013年1月26日)
Dot netcore multiplatform 2
Dot netcore multiplatform 2
Springでdao 20070413
Springでdao 20070413
Grails 2.0.0.M1の話
Grails 2.0.0.M1の話
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Let's build a simple app with .net 6 asp.net core web api, react, and elasti...
Último
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
Último
(8)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
RestKitの紹介 - Webサービスのクライアント実装補助フレームワーク -
1.
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
Baixar agora