今日は第24回横浜iPhone勉強会に参加してきました。
https://atnd.org/events/78243atnd.org
今回も発表枠はあっという間に埋まり、参加者枠もキャンセル待ちが出るほどの盛況ぶりでした。
参加者のアイコンを並べたスライドが今回も大活躍😃
また、岸川さんより try! Swift の参加証を頂きました!ありがとうございます。
当日のツイートはTogetterにまとめています。
***
そんなわけで以下、発表内容の簡単なメモになります。(発表者の皆さま、間違い等あればご指摘ください)
- Xcode 8 + Server
- CoreData 大容量データ マイグレーション
- Xcode 8 移行に備える
- マルチプラットフォーム展開アプリに音声インタラクションを追加するお話!
- React-native について!
- iOS 10 Extensions ざっくり確認!
- さいごに
Xcode 8 + Server
noriri_ さんによる発表です。Xcode 8でパワーアップしたServerについてのお話でした。
CoreData 大容量データ マイグレーション
yaso_san さんによる発表です。大量にメモリを消費するCoreDataのマイグレーションについて、その理由と改善策を解説されていました。Instruments を使ったデモがわかりやすかったです。
- CoreDataのマイグレーションは大量にメモリを消費する
- マイグレーションの仕組み
- Lightwight Migration - おまかせ
- Custom Migration - 細かくカスタマイズ可
- の2種類が存在する
- Custom Migration
- Stage 1: オブジェクトをSourceからDestinationに新しい形式でコピー
- Stage 2: 関連をセット
- Stage 3: 検証
- 何故メモリを消費するのか?
- データを引き継ぐために全てのオブジェクトをメモリに載せてるから
- マイグレーション分割の壁
- 分割する数だけMapping Modelが必要
- SourceとDestinationのオブジェクトの結びつきは分割すると引き継げない
- 分割した数だけ時間がかかる
- マイグレーション分割の改善
- オブジェクトに一意の値を持たせる
- グループ分けできる値を持たせて1つのエンティティ内で分割する
- Mapping Modelをコードで分ける
- 関連先のエンティティのマイグレーション順を前にする
- まとめ
- メモリと時間はトレードオフ
- エンティティ毎のデータ量によって分け方をかえる
- 処理の順番を決めて無駄な関連付けをしない
- 必要のないデータは引き継がない
Xcode 8 移行に備える
田畑浩平 さんによる発表。みんな気になる Swift 2.3 / 3 移行のお話でした。
- ATS必須化
- すべての通信においてHTTPSが要求される
- それ以外で使う場合は設定が必要
- Swift 2.3/3 への移行
- 移行ToDo
マルチプラットフォーム展開アプリに音声インタラクションを追加するお話!
k2-ikeda さんによる発表です。SiriKIt、OK Google、コルタナのデモもありましたよ!
- SiriKit
- OK Google
- アラーム、電話をかける、フィットネス、乗車予約などが可能
- 日本語が使える、と書いてあるが実際は不安定
- コルタナ(Windows)
- まとめ
- 最近の環境であればどのプラットフォームも対応している
- SiriKit対応は他のプラットフォームのことはあまり気にしないで行えばよいのでは
- 対応するドメイン領域もそうだけど、「どのプラットフォーム版のアプリでも同様のUXを提供」みたいなのが要件にのってくるアプリには特に日本語環境では向かない
React-native について!
yuumi3 さんによる発表。Facebookが公開している React-native のお話でした。
- React-native
- JavaScript+Reactでスマホアプリが作れる
- Androidにも対応
- カメラなどのデバイスも使える
- React.js とは
- *.js 系は色々出てきたけど、これが勝者!
- シンプルなプログラミングモデルと性能を両立
- メンテナンス性の高いコードが書ける
- ES2015(ES6)
- class 構文が導入された!
- すべてのブラウザがサポートしているわけではない
iOS 10 Extensions ざっくり確認!
tmokita さんによる発表です。iOS 10で追加された Extensions について、みんなでおさらいしていくスタイルがとても良い感じでした。
- Map Extensions
- 使おうとしたけどできなかった
- Extensions ざっくり確認
- Xcode 8 増えたもの
- Broadcast UI
- Broadcast Upload
- Call Directory
- Intents
- Intents UI
- Message
- Notification Content
- Notification Service
- Sticker Pack
- Xcode 8 増えたもの
なお、Map Extensions については次の順番で調べていけばよいのでは、と id:KishikawaKatsumi さんがおっしゃっていました。
Mapsアプリのエクステンションの情報はたぶんこの順で調べるといいんじゃないかな。 https://t.co/LzuHfutbIp > https://t.co/JHtG0x99Fl > https://t.co/WrKLRXaHcb #yidev
— kishikawa katsumi (@k_katsumi) 2016年7月2日
さいごに
id:niwatako さんがとても良いことを言っていました。
勉強会って発表することに醍醐味があるって思うのだけど、yidevはしてもしなくてもすごく充実感がある #yidev
— にわタコ (@niwatako) 2016年7月2日
これは本当に同感で、yidevは発表者でなくとも、勉強会が終わった後に不思議な充実感が得られるのです。
yidev には発表中にも普通に参加者から質問が投げられ、そのままディスカッションが始まる文化があります。これは他の勉強会ではあまり見られない光景だと思っています。きっと「講習会ではないですからね :D」の文化が根付いているんでしょうね😃
yidev、次回も楽しみです!