Laura House
自己紹介 
合同会社ローラハウス 
秋本 大介 
2014/8/1 設立
自己紹介 
keneo 
走るプログラマー
開発したiOSアプリ 
SyncMemo 
JogManager 
ChocoChip Browser
開発したiOSアプリ 
MaxDownload MaxPlayer
開発したiOSアプリ 
Francfranc CAMERA FOR KISS
その他いっぱい
テーマ 
スマホアプリ開発 
あしたの為の環境と設計のアプローチ
最近の実装方針について
ところで 
最近、 
ずいぶん「設計」がカジュアルに 
なりましたね
昔 
I/O関連図 
要求分析書 
システム構成図 テーブル定義書 
画面/帳票レイアウト 
機能一覧表 
業務フロー 
単体テスト結仕合様テ書ス ト仕様書 
ER図設計書記述様式基本設計書 
項目説明書更新仕様書 
画面遷移図 
詳細設計書 
プロジェクト共通ルール
ほとんど見ませんでした
今 
プロトタイピング
スマホアプリで使える 
プロトタイピングツール
prott
FluidUI
API設計
RAML 
#%RAML 0.8 
title: RewardApp API 
baseUri: http://dev.laurahouse.net/rewardapp/ 
version: v1 
/transfer: 
/publish: 
POST: 
description: 引き継ぎコード発行 
queryParameters: 
uuid: 
displayName: UUID 
type: string 
example: "84E1C22D-6180-4613-8DCC-7BB22B2C834B" 
responses: 
200: 
body: 
application/json: 
schema: | 
{ 
"$schema": "http://json-schema.org/schema#", 
"type": "object", 
"properties": { 
"transfer_code": { 
"type": "string" 
} 
} 
} 
example: | 
{ 
"transfer_code": "1234567890", 
} 
401: 
body: 
application/json:
実装の設計はどうしてるか
アップルの方針 
デザインパターン
デザインパターン 
MVC
Model 
View 
Controller
従来型MVC
Cocoa推奨MVC
実装方針を決定しよう 
最初が肝心! 
アプリの仕様は必ず膨張する!
ポイントはViewControllerの 
ダイエット
標準フォルダ構成を決めよう 
- Classes 
- Models 
- Views 
- Controllers 
- Additionals 
- Commons 
- Resources
標準ライブラリを決めよう 
platform :ios, '6.1' 
pod 'AFNetworking', '~> 2.0' 
pod 'JASidePanels', '~> 1.3.2' 
pod 'GoogleAnalytics-iOS-SDK' 
pod 'Google-Maps-iOS-SDK' 
pod 'SVProgressHUD'
Modelにロジックを集中しよう
Viewは必ず拡張しよう 
@interface MyView : UIView
カテゴリでフレームワークを拡張しよう 
Classes/Additionals/NSArray+Additional.h 
Classes/Additionals/NSArray+Additional.m
DataSourceは分離しよう 
self.dataSource = self 
↓ 
self.dataSource = [ADataSource new];
Delegateは分離する? 
Controller的な部分が大きいので難しい
まとめ 
重要なのはルールを作ること! 
→例外を極力少なくする 
・ソースの再利用率が上がる 
・担当者間の差がなくなる
Laura House

最近の実装方針について