2015-02-14

iOS オールスターズ勉強会、参加メモ #dotsios

2015-02-14 (土) に開かれた iOS オールスターズ勉強会に参加したので、発表内容の簡単なメモを残しておく。

既にまとめもあがっているのでリンク。

Adaptive Collection View (LINE, 石川)

Adaptive = いろんな端末に対応。

UITableView と UICollectionView が似ているので、使い分けるより UICollectionView だけで UI を設計してしまえば iPad, iPhone 対応が手軽にできる。iPhone は UITableView, iPad は UICollectionView で作成することが多いけど、同じコードを二回書かなきゃいけないことが多い。UICollectionView を上手く使えば、画面サイズに応じて小さな分岐を入れるだけでコードを一つにまとめることができる。

Swift で使いやすい API を考える (ユピレジ, 岸川)

KeychainAccess という自作ライブラリーを例に Swift から加わった機能の説明など。

struct 型は不変な class という促え方をしてて目から鱗が落ちた。Swift は型が非常に厳密なので、Optinal 型を使わない設計が良いかも。デフォルト引数は良い機能だけど、補完がいまいち (XCode の要改善点?) なのと、フレームワークを作る時にデフォールト値がユーザーに伝えられないので困る。戻り値のオーバーロードは、キャストが必要になるのでリズムが悪い。エラー処理の戻り値は Either 型で success or error を返す。Playgroud を付けてライブラリーを提供すると、ユーザーに優しい。Functional style API は書けなくはない程度なので、普通の API と並録する方がよさそう。等々。

let UIWebView as WiKiWebView (ヤフー, 佐野)

iOS 8 以降から使える WKWebView と iOS 7 以前でも使える UIWebView を同居させなきゃいけなくなった時に、最小の修正で切り抜けるノウハウの紹介。

通信のパフォーマンス改善 (Wantedly, 杉上)

Wantedly は海外進出する! (らしい) ので、低速回線での使用を考慮に入れた開発を行なった。その技術分析と対処のノウハウ集。

New Relic Mobile の分析は大雑把すぎたので、square/PonyDebugger を利用。使ってない通信があること、画像の通信量が多いことなどが分かった。ボトルネックを見つけて潰すと、また別のボトルネックが見つかるので、それを潰す。

rs/SDWebImage が素晴らしいが、まだまだ便利な機能があることを皆知らない。WebP に対応している。SDWebImagePrefetcher で画像の先読みができる。SDWebImageOptions で画像取得の優先度を 3 段階で付けられる。画像取得のキャンセルができる (遷移前のビューの画像を取っているケースなどに有効)。等々。

WebP は pod で SDWebImage/WebP で取得できる。サーバーが大変。嬉しいことに、docker を用意して公開している。

AsyncDisplayKit と仮想 View について (Glee, 矢口)

大原則は「やることを減らす」。通信コストの削減。サーバーに処理を任せるのも手。API 共通化・REST にこだわらないのも良い。

WatchKit を実際にさわってみてわかったこと (フリーランス, 堤)

WatchKit 初見は意外と出来ない子。よく見てみると、それほど悪くもない。

animatedImage は、アニメーション用画像を配列で渡すとパラパラ漫画風アニメーションを実現。

話変わるけど、来月「iOS x BLE プログラミング 〜Core Bluetooth 徹底解説〜」という上を発売予定。Amazon では、まだヒットせず。

長生きするために心臓に悪いリリースはもうやめよう (Cookpad, 所)

Internal Testers はリリース・ビルドのアプリを審査前に小人数でテストできるので使おう。25 人、iOS 8 でしか使えないという弱点あり。

エンジニア戦記 〜 小さなチーム 大きな未来 〜 (クラスメソッド, 平井)

WebAPI の作成が難しい。iOS エンジニアも WebAPI の知識が必要。サーバー・エンジニアも分かってくれる。「1 Screen, 1 API call」。WebAPI を iOS エンジニアが分かってないと、炎上すよ。

まだ iOS でリッチな演出に消耗しているの? (カヤック, 布田)

アニメーションには iOS 7 から使えるようになった 2D ゲーム・フレームワーク SpriteKit が便利。あまり知られてないけど、UIView との親和性も高い。(0,0) の位置が UIView は左上なのに対して SKView は左下なので注意。軽いとはいわないが、描画領域を小さくして部品化すれば、十分実用点。アニメーションの作成 (Particle) はコードじゃないので、デザイナーに作ってもらうことも出来る。

あとがき

メモで書きなぐったことをのせただけ。一部、質疑応答でのやりとりも入れてある。

何人かの発表者はスライドを、講演前に公開していた。スライドを自分のペースで見ながら (自分が読み終わらない内に先に進まれても、手元にスライドがあれば安心して話が聞ける)、必要なポイントだけメモが取れて良かった。自分が発表する時の参考にしよう。

No comments:

Post a Comment