370人参加の大型イベント&そうそうたる講演者なイベント「iOS オールスターズ勉強会」に参加してきました。
募集ページ
iOSオールスターズ勉強会 - dots.[ドッツ]
http://eventdots.jp/event/311301
Togetterまとめ
2015/2/14 #dotsios iOSオールスターズ勉強会 - Togetterまとめ
http://togetter.com/li/782943
公式のイベントレポート記事
公式でしっかりレポートがまとめられているのであまり書くこと無いかも?
[イベントレポート] iOS オールスターズ勉強会 #dotsios | Developers.IO
http://dev.classmethod.jp/smartphone/ios-all-stars-report/
講演情報
『Adaptive Collection View』 LINE株式会社 石川洋資氏
■スライド
Adaptive Collection View // Speaker Deck
https://speakerdeck.com/ishkawa/adaptive-collection-view
https://github.com/ishkawa/sandbox/tree/master/Adaptive
■QA
Q : CollectionView。セルの並び替えは
A : 妥協して UITableView を使うか、自分で実装
『Swiftでライブラリを書く際のプラクティス』 株式会社ユビレジ 岸川克己氏
■スライド
Swiftでライブラリを書く際のプラクティス // Speaker Deck
https://speakerdeck.com/kishikawakatsumi/swiftderaiburariwoshu-kuji-falsepurakuteisu
例として出されたライブラリ https://github.com/kishikawakatsumi/KeychainAccess
Optional の型で値を返さない方が良い
デフォルト引数は設定すると入力補完時の動作に難有り
default を使うと実際にはどんな値が渡されるか分りづらい
例外は Closure を使うのが良い。パフォーマンスが低下してしまうというトレードオフになることに注意
戻り値のオーバーロードは型推論を使っていてコンパイラエラーになるという場面があり、使い勝手が悪い
戻り値はオーバーロードせずに getString / getData などとメソッド名を変える
error 型の代わりに Either 型を使えないか検討する
Playground を一緒に付けていると使用者が理解しやすい
Functional な書き方も対応してるとより良い
※なお、講演中にあくまで現時点での意見で将来的には変わる可能性も有るかも?とのコメントが有りました
■QA
Q : エラー処理で Either を返したが Tuple で返すのはダメか?
A : Tuple でも良いが Tuple は受ける側が扱い辛い。スコープによる衝突問題が発生
『let UIWebView as WKWebView』 ヤフー株式会社 佐野岳人氏
■スライド
let UIWebView as WKWebView
http://www.slideshare.net/taketo1024/let-ui-webviewaswkwebview
分岐だらけだと他の人の保守やもう良いだろうと取り除く部分を見つけるのが難しくなる
ラリーテスラーの「複雑性保存の法則」。タスクの複雑性はある点を超えて減らすことはできない、移動することのみ可能。
下位互換コード隠蔽については以前講演したスライドがこちらに
下位互換コード隠蔽のストイシズム
http://www.slideshare.net/taketo1024/ss-30036615
■QA
Q : WKWebView の新しい機能が使えなくなるがそれを押しても共通にした理由は?
A : 新しい機能も頑張れば実装出来るものも有る。その他のものについては諦める
Q : 両対応にしなくても UIWebView だけでも良いのでは?
A : ジェスチャーでの戻る機能や JavaScript の速度の面の恩恵をユーザに提供する為
『通信のパフォーマンス改善』 Wantedly inc 杉上洋平氏
■スライド
iOS 通信のパフォーマンス改善 ・ iOSオールスターズ登壇資料
http://www.slideshare.net/susieyy/ios-ios-44665266
New Relic Mobileで分析
Pony Debuggerで細かく分析
■分析結果
JSONよりも画像が多い
無駄な画像のリクエスト
見せたい画像の順番じゃない
■ SDWebImage でやった事
ダウンロードの先読み
ダウンロードのプライオリティ設定。LowとHighの設定をちゃんとする
遷移元の画像取得をキャンセル
WebP ファイルを使う
SDWebImage/WebP で CocoaPods を使ってプラグインをインストールする事で使える様になる
通信帯域により取得する画像サイズを変更
帯域により画像の URL が異なるので先にキャッシュの画像をチェック処理を入れる
WebP を配信する nginx の Doker イメージをオープンソースで公開しています
wantedly/nginx-image-server
https://github.com/wantedly/nginx-image-server
『効率的なアプリ開発のベストプラクティス』 グリー株式会社 矢口裕也氏
大原則:やることを減らす
■スライド
効率的なアプリ開発のベストプラクティス
http://www.slideshare.net/yayugu/ss-44667286
■QA
Q : 全部サーバが良いとの話ですが、実際にサーバ側に依頼する時の線引は
A : 速度が上がるか、重要かの2点
Q : 通信中でスパゲッティになりそうなのはどうする?
A : cancelAllを使う。ボドルネックを順番に潰す
『WatchKit を実際にさわってみてわかったこと』 フリーランス 堤修一氏
■スライド
WatchKitを実際にさわってみてわかったこと
http://www.slideshare.net/t26v0748/watch-kit-20150214
今回のサンプルは周りの状況を見てそのうち以下のURLに公開
https://github.com/shu223/WatchKitTrials
■QA
Q : Appleのサンプルの様な連番ファイルの作り方
A : FlipbookやFlashを使う
frosty/Flipbook
https://github.com/frosty/Flipbook
Q : 連番アニメでは重いのでは無いか
A : シミュレータ上では大丈夫だった。もっとフレームレートを上げてみた時も大丈夫だった。
『長生きするために心臓に悪いリリースはもうやめよう』 クックパッド株式会社 所友太氏
■スライド
長生きするために心臓に悪いリリースはもうやめよう // Speaker Deck
https://speakerdeck.com/tokorom/chang-sheng-kisurutamenixin-zang-nie-iririsuhamouyameyou
■QA
Q : In-App Purchase の購入テストは出来るのか?
A : サンドボックスだと思われるが買ったテストをする事が可能。
※会場に「この辺り確認した方居ますか」 → 岸川さんよりサンドボックスでの動作だったとの回答が
『エンジニア戦記 ~ 小さなチーム 大きな未来 ~』 クラスメソッド株式会社 平井祐樹氏
■スライド
エンジニア戦記 〜小さなチーム、大きな未来〜
http://www.slideshare.net/yukihirai52/ss-44668339
WebAPI 設計についてのオススメ本。
- 作者: 水野貴明
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/11/21
- メディア: 大型本
- この商品を含むブログ (9件) を見る
『まだiOSでリッチな演出に疲弊してるの?』 面白法人カヤック 布田隆介氏
■スライド
まだiOSでリッチな演出に疲弊してるの? // Speaker Deck
https://speakerdeck.com/ryusukefuda/madaiosderitutinayan-chu-nipi-bi-siterufalse