Movatterモバイル変換


[0]ホーム

URL:


Yuki Hirai, profile picture
Uploaded byYuki Hirai
PDF, PPTX29,201 views

エンジニア戦記 〜小さなチーム、大きな未来〜

2015/02/15の iOS オールスター勉強会の発表資料です。

Embed presentation

Download as PDF, PPTX
Copyright © Classmethod, Inc.
平井祐樹292011/2 Classmethod入社iOS 開発歴2年半blog http://dev.classmethod.jp/author/hirai-yuki
Copyright © Classmethod, Inc.って何の会社?クラスメソッド
Copyright © Classmethod, Inc.SolutionsAWSコンサルティングAmazonクラウドに特化したサービス提供iOSアプリ開発iOS/Android ネイティブアプリケーション開発
Copyright © Classmethod, Inc.Developers.IO
Copyright © Classmethod, Inc.Developers.IO月間平均 80 万PV
Copyright © Classmethod, Inc.こんな感じでしょ?
Copyright © Classmethod, Inc.
Copyright © Classmethod, Inc.こんな感じです。
注:テーブルのお札はおもちゃです
Copyright © Classmethod, Inc.プロジェクト登場人物デザイナープロダクトオーナーWeb API担当者iOS エンジニア
Copyright © Classmethod, Inc.今日のお話Web API担当者iOS エンジニア
Copyright © Classmethod, Inc.今日のお話Web API との付き合い方Web API 担当者ヲ攻略セヨ
Copyright © Classmethod, Inc.突然ですが…
Copyright © Classmethod, Inc.プロジェクトに参加してもらいます
Copyright © Classmethod, Inc.イメージしてみてください
Copyright © Classmethod, Inc.今あなたはとあるプロジェクトのiOSエンジニアとしてアサインされました。その一方で、サーバーサイドエンジニアがWebAPIの実装をしています。
Copyright © Classmethod, Inc.Web API 完成 ?
Copyright © Classmethod, Inc.iOSの実装を進めていたあなたはと、日頃の戦いに疲れきっているのにも関わらずちょっと元気がでます。「よし!これで結合できるぞ!」
Copyright © Classmethod, Inc.おもむろに仕様書に目を通すと
Copyright © Classmethod, Inc.{"header": {"status": "success","message": "..."},"response": {"topics": [{"topic_id": 123,"topic_title": "...","topic_content": "...","category_id": 456,"category_name": "..."}]}}
Copyright © Classmethod, Inc.あなたは気づいてしまいます。
Copyright © Classmethod, Inc.{"header": {"status": "success","message": "..."},"response": {"topics": [{"topic_id": 123,"topic_title": "...","topic_content": "...","category_id": 456,"category_name": "..."}]}}
Copyright © Classmethod, Inc.{"header": {"status": "success","message": "..."},"response": {"topics": [{"topic_id": 123,"topic_title": "...","topic_content": "...","category_id": 456,"category_name": "..."}]}}HTTPステータスコードで表してくれればいいのに!
Copyright © Classmethod, Inc.このままだと…
Copyright © Classmethod, Inc.AFHTTPRequestOperationManager *manager;[manager GET:@"http://xxx.com/possts"parameters:nilsuccess:^(...) {// 成功時の処理} failure:^(...) {// 失敗時の処理}];エラーが発生してもこっち
Copyright © Classmethod, Inc.さらに
Copyright © Classmethod, Inc.{"header": {"status": "success","message": "..."},"response": {"topics": [{"topic_id": 123,"topic_title": "...","topic_content": "...","category_id": 456,"category_name": "..."}]}}
Copyright © Classmethod, Inc.{"header": {"status": "success","message": "..."},"response": {"topics": [{"topic_id": 123,"topic_title": "...","topic_content": "...","category_id": 456,"category_name": "..."}]}}いらないのに
Copyright © Classmethod, Inc.@interface CLMTopic : NSObject@property (nonatomic) NSInteger topicIdentifier;@property (nonatomic) NSString *topicTitle;@property (nonatomic) NSString *topicContent;@end格好悪いなぁ
Copyright © Classmethod, Inc.あなたは Web API 担当者にこう提案します。
Copyright © Classmethod, Inc.{"topics": [{"id": 123,"title": "...","content": "...","category_id": 456,"category_name": "..."}]}
Copyright © Classmethod, Inc.Web API 担当者は内心こう思います。
Copyright © Classmethod, Inc.(ったく、めんどくせぇな・・・)
Copyright © Classmethod, Inc.そんな空気を感じてもあなたは動じず提案を続けました。
Copyright © Classmethod, Inc.すると、新しいAPIを手に入れることができました!これで実装への悪影響を回避することができますね。
Copyright © Classmethod, Inc.一安心もつかの間・・・
Copyright © Classmethod, Inc.おもむろに仕様書に目を通すと
Copyright © Classmethod, Inc.{"categories": [{"id": 456,"name": "..."}]}
Copyright © Classmethod, Inc.またあなたは気づいてしまいます。
Copyright © Classmethod, Inc.{"topics": [{"id": 123,"title": "...","content": "...","category_id": 456,"category_name": "..."}]}{"categories": [{"id": 456,"name": "..."}]}
Copyright © Classmethod, Inc.このままだと…
Copyright © Classmethod, Inc.@interface CLMTopic : NSObject@property (nonatomic) NSInteger identifer;@property (nonatomic) NSString *title;@property (nonatomic) NSString *content;@property (nonatomic) NSInteger categoryIdentifier;@property (nonatomic) NSInteger categoryName;@end@interface CLMCategory : NSObject@property (nonatomic) NSInteger identifier;@property (nonatomic) NSInteger name;@endしっくりこない・・・
Copyright © Classmethod, Inc.あなたは Web API 担当者にこう提案します。
Copyright © Classmethod, Inc.{"topics": [{"id": 123,"title": "...","content": "...","category": {"id": 456,"name": "..."}}]}
Copyright © Classmethod, Inc.@interface CLMTopic : NSObject@property (nonatomic) NSInteger identifer;@property (nonatomic) NSString *title;@property (nonatomic) NSString *content;@property (nonatomic) CLMCategory *category;@end@interface CLMCategory : NSObject@property (nonatomic) NSInteger identifier;@property (nonatomic) NSInteger name;@end
Copyright © Classmethod, Inc.Web API 担当者は内心こう思います。
Copyright © Classmethod, Inc.(ああーーあーあーー)
Copyright © Classmethod, Inc.変な空気を感じながらもあなたは提案を続けました。
Copyright © Classmethod, Inc.すると、また新しいAPIを手に入れることができました!これでまた実装への悪影響を回避することができますね。
Copyright © Classmethod, Inc.一安心もつかの間・・・
Copyright © Classmethod, Inc.おもむろに仕様書に目を通すと
Copyright © Classmethod, Inc.目的 エンドポイントトピック一覧取得 https://api.xxx.com/v1/topics/カテゴリー一覧取得 https://api.xxx.com/v1/categories/おすすめ商品取得 https://api.xxx.com/v1/products/recommendユーザー情報取得 https://api.example.com/v1/user/
Copyright © Classmethod, Inc.またまたあなたは気づいてしまいます。
Copyright © Classmethod, Inc.ホーム画面カテゴリー一覧取得APIおすすめ商品一覧APIユーザー情報取得APIトピック一覧取得API
Copyright © Classmethod, Inc.ホーム画面カテゴリー一覧取得APIおすすめ商品一覧APIユーザー情報取得APIトピック一覧取得API1画面表示するのに何個API叩きゃいいんだ!?
Copyright © Classmethod, Inc.あなたは Web API 担当者にこう提案します。
Copyright © Classmethod, Inc.1 Screen, 1 API call
Copyright © Classmethod, Inc.1 Screen, 1 API call
Copyright © Classmethod, Inc.1 Screen, 1 API call
Copyright © Classmethod, Inc.Web API 担当者は言いました。
Copyright © Classmethod, Inc.「Ha?」
Copyright © Classmethod, Inc.あなたは続けます
Copyright © Classmethod, Inc.1画面を表示するのに、何度も異なるAPIにアクセスしなければならず、非効率ですし、画面を表示するまでに時間もかかってしまい、ユーザーを待たせてしまいます。これは良いユーザー体験とはいえません。何度もAPIへのアクセスを繰り返すことは、速度の問題だけでなく、データの一部だけが表示されてしまうといった問題を引き起こす可能性もあります。したがってとにかくホーム画面で表示する情報を1つに詰め込んだ "ホーム画面専用" APIを作成し、それに1回アクセスするだけですべての情報が取得できた方が確実に利便性が高いです。詳しくは "Web API The Good Parts" をご覧ください。
Copyright © Classmethod, Inc.「・・・なるほどですね」
Copyright © Classmethod, Inc.なるほどですね!
Copyright © Classmethod, Inc.その言葉を聞いてあなたは実装に戻りました。
Copyright © Classmethod, Inc.すると、またまた新しいAPIを手に入れることができました!これでまたまた実装への悪影響を回避することができますね。
Copyright © Classmethod, Inc.こうして、プロジェクトは順調に進み無事納品することができたのでした。
Copyright © Classmethod, Inc.
Copyright © Classmethod, Inc.まとめ• Web API の知識は必須!• Web API The Good Parts を読もう!• 文句を言うのは簡単、改善案を提案できる力を!
エンジニア戦記 〜小さなチーム、大きな未来〜

Recommended

PDF
JavaScript basic, jQuery animation
PDF
JavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト
PDF
JavaScript Basic 02 jQuery
PDF
WebデザイナのためのjQuery入門。
PDF
Javascript入門-デジタル時計を作りながらJavaScriptを学ぼう-
PDF
JavaScript04 jquery プラグインを使おう
PDF
WEB開発を加速させる。アジャイル開発に最適なデータ構造とORマッパの形
PDF
JavaScript Basic 01
PDF
iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料
PDF
効率的なアプリ開発のベストプラクティス
 
PDF
WatchKitを実際にさわってみてわかったこと
PDF
WKWebViewとUIWebView
PDF
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
PDF
Swift らしい表現を目指そう #eventdots
PDF
卒研発表
 
PDF
Procon 2010/10/16
 
PDF
スマホスキャン 報道用 別紙資料
PPTX
iOS bust #1
PDF
未踏成果発表
 
PDF
freee社でのReactiveCocoa活用例
PDF
OHHTTPStubsを使ったiOSアプリ開発
PDF
var RAC3 = ReactiveCocoa + Swift @ ReactiveCocoa Tokyo #rac_tokyo 10/18
PDF
アップルのテンプレートは有害と考えられる
PDF
サーバPUSHざっくりまとめ
PDF
インフラで実践したチームビルディングそれはサバ天
 
PDF
「地方零細スタートアップの失敗ノウハウ」in iOSスタートアップ勉強会 #3
PDF
みんなで Swift 復習会での談笑用スライド – 6th #minna_de_swift
PDF
distinctUntilChanged の使いどころ
PDF
Cocoa Pro5
PDF
20140827_勉強会挨拶

More Related Content

PDF
JavaScript basic, jQuery animation
PDF
JavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト
PDF
JavaScript Basic 02 jQuery
PDF
WebデザイナのためのjQuery入門。
PDF
Javascript入門-デジタル時計を作りながらJavaScriptを学ぼう-
PDF
JavaScript04 jquery プラグインを使おう
PDF
WEB開発を加速させる。アジャイル開発に最適なデータ構造とORマッパの形
PDF
JavaScript Basic 01
JavaScript basic, jQuery animation
JavaScriptのオブジェクト:Mathオブジェクト、Dateオブジェクト
JavaScript Basic 02 jQuery
WebデザイナのためのjQuery入門。
Javascript入門-デジタル時計を作りながらJavaScriptを学ぼう-
JavaScript04 jquery プラグインを使おう
WEB開発を加速させる。アジャイル開発に最適なデータ構造とORマッパの形
JavaScript Basic 01

Viewers also liked

PDF
iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料
PDF
効率的なアプリ開発のベストプラクティス
 
PDF
WatchKitを実際にさわってみてわかったこと
PDF
WKWebViewとUIWebView
PDF
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
PDF
Swift らしい表現を目指そう #eventdots
PDF
卒研発表
 
PDF
Procon 2010/10/16
 
PDF
スマホスキャン 報道用 別紙資料
PPTX
iOS bust #1
PDF
未踏成果発表
 
PDF
freee社でのReactiveCocoa活用例
PDF
OHHTTPStubsを使ったiOSアプリ開発
PDF
var RAC3 = ReactiveCocoa + Swift @ ReactiveCocoa Tokyo #rac_tokyo 10/18
PDF
アップルのテンプレートは有害と考えられる
PDF
サーバPUSHざっくりまとめ
PDF
インフラで実践したチームビルディングそれはサバ天
 
PDF
「地方零細スタートアップの失敗ノウハウ」in iOSスタートアップ勉強会 #3
PDF
みんなで Swift 復習会での談笑用スライド – 6th #minna_de_swift
PDF
distinctUntilChanged の使いどころ
iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料
効率的なアプリ開発のベストプラクティス
 
WatchKitを実際にさわってみてわかったこと
WKWebViewとUIWebView
VC「もしかして...」Model「私たち...」「「入れ替わってるー!?」」を前前前世から防ぐ方法
Swift らしい表現を目指そう #eventdots
卒研発表
 
Procon 2010/10/16
 
スマホスキャン 報道用 別紙資料
iOS bust #1
未踏成果発表
 
freee社でのReactiveCocoa活用例
OHHTTPStubsを使ったiOSアプリ開発
var RAC3 = ReactiveCocoa + Swift @ ReactiveCocoa Tokyo #rac_tokyo 10/18
アップルのテンプレートは有害と考えられる
サーバPUSHざっくりまとめ
インフラで実践したチームビルディングそれはサバ天
 
「地方零細スタートアップの失敗ノウハウ」in iOSスタートアップ勉強会 #3
みんなで Swift 復習会での談笑用スライド – 6th #minna_de_swift
distinctUntilChanged の使いどころ

Similar to エンジニア戦記 〜小さなチーム、大きな未来〜

PDF
Cocoa Pro5
PDF
20140827_勉強会挨拶
PPTX
北海道勉強会_20140531
PPTX
最近のiOS開発の現状と実状
PDF
Amazon Web Servicesブース:UI×API×AWS 横田 聡
PDF
Web API のすすめ
PDF
50分で掴み取る ASP.NET Web API パターン&テクニック
PDF
Phpではじめるオブジェクト指向(公開用)
PDF
DDD 20121106 SEA Forum November
PDF
Developers.IO / Developer day 2015 ”モバイル アプリ開発現場でよくある課題と対策”
KEY
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
KEY
Ll xcode
PDF
iOS アプリのメンテナンス性を高めるための基本的な考え方
PDF
スマホアプリ開発者のためのWeb api開発入門の入門
PDF
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
PDF
LambdaとMobileの美味しいかもしれない関係
PDF
AWS as MBaaS 〜APIキーとかの話〜
PDF
ドメイン駆動設計 ( DDD ) をやってみよう
KEY
1.29.user,user,user
PPTX
Web API(Dynamics 365 )勉強会
Cocoa Pro5
20140827_勉強会挨拶
北海道勉強会_20140531
最近のiOS開発の現状と実状
Amazon Web Servicesブース:UI×API×AWS 横田 聡
Web API のすすめ
50分で掴み取る ASP.NET Web API パターン&テクニック
Phpではじめるオブジェクト指向(公開用)
DDD 20121106 SEA Forum November
Developers.IO / Developer day 2015 ”モバイル アプリ開発現場でよくある課題と対策”
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
Ll xcode
iOS アプリのメンテナンス性を高めるための基本的な考え方
スマホアプリ開発者のためのWeb api開発入門の入門
Hypermedia: The Missing Element to Building Adaptable Web APIs in Rails (増補日本語版)
LambdaとMobileの美味しいかもしれない関係
AWS as MBaaS 〜APIキーとかの話〜
ドメイン駆動設計 ( DDD ) をやってみよう
1.29.user,user,user
Web API(Dynamics 365 )勉強会

エンジニア戦記 〜小さなチーム、大きな未来〜


[8]ページ先頭

©2009-2026 Movatter.jp