とりあえずやってみればいいじゃん

とりあえずやってみればいいじゃん

エンジニア関連のことについてつらつら書くブログ

6/5 WWDC Extended Tokyo 2017に参加してきました #wwdctokyo

みんなでWWDCを見るイベント、WWDC Extended Tokyo 2017に参加してきました。ここではkeynoteの前に行われていたLTについて紹介します。keynoteの内容については別記事でまとめます。

yj-meetup.connpass.com

LT

僕のWWDC2016とiOS10 @niwatakoさん

  • keynote
    • 一般向けもやっている
    • 技術的には浅い内容で新しい機能が発表される
  • Platforms State of the Union
    • 技術者向け
  • 個別セッション
    • 去年App Transport Securityは個別のセッションで発表された
      • 個別のセッションで重要なことが発表されるのはちょっとめずらしい
  • はてなのアプリ
    • 8月中旬からiOS10向けの機能開発を開始
      • SearchAPI
      • Today Extension
  • 失敗
    • iOS9で最新版アプリにアップデートするとiOS10用のターゲットはインストールされず、OSをiOS10にした後問題が発生
    • iOS10向けExtension入りipaがiOS9で正常に動くことの確認はしていたが、OSバージョンアップは検証不足だった
  • いい挙動ではなかったのに気づかなかった例
    • Universal Clipboard
      • ペーストするのにとても時間がかかる
      • 固まっているのでは?と疑われてしまった
      • macOS Sierraへのアップデートをためらっていたので気づくのに遅れた

今回も進化するのか?iOSの通知の技術 @jollyjoesterさん

資料があるので書かれている内容についてざっくりと。

  • Push通知すげー大事
    • アプリを立ち上げていない状態のユーザとコミュニケーションできる唯一の手段だから
  • iOSのPush通知の進化
  • Androidの通知
    • 見た目に関する進化が早い段階で止まっている
    • 優先度の設定、通知のグループ化などの通知領域の利便性を高める方向へ
  • OSによってこのような差がでるのはなぜ?
    • Push通知のハンドル、許諾が影響しているのでは?
    • Push通知をハンドルする主体
    • Push通知の許諾
      • iOS:通知を受け取る許諾が必要
      • Android:インストール時に(自動で)許諾

HomeKit on tvOS @alligator_tamaさん

  • OrigamiではTVMLを使ってアプリ開発をしている
  • OrigamiのtvOSアプリでは商品の閲覧機能を提供
  • tvOSをやった理由
    • TVMLのTemplateがECのコンテンツとマッチした
    • ライブアップデート可能でリリースの手間が少ない
  • 最近のスマートホーム関連の話題
    • Alexa / Google Home / Siriスピーカーが出る???
  • HomeKitとは?
  • AppleTVのHomeKitにおける役割
    • リモートコントロール、オートメーションが可能
  • tvOSは?
    • HomeKit対応はしている
  • Homeアプリもどきを作れないか
  • 思い通りにフォーカスできない問題
    • タブバーから右側のセルへのフォーカスを禁止する
    • タブバーに被らないようにマージンを設ける
    • フォーカスをコントロールするにはUIFocusEnvironment Protocolを利用する
  • わかったこと
    • 全てのメソッドが使えるわけではない
  • シミュレータは?
    • シミュレータでできないことがある
    • HomeKit DB共有は実機だけ

Advanced TableView & CollectionView Design @1amageekさん

資料あるので内容をざっくりと。

  • TableViewを使う時に考えることは大きく3つ
    • ネットワーク / モデル / UI
  • この問題を解消するもの
    • AutoSync Database
      • Firebase, Realm
  • Tableview Design with AutoSync Design
    • リアルタイムにリロードできること
      • viwDidLoadとかでload処理を書かなくても良い
    • RestAPIがいらない
      • モックを使う、Jsonのパースなどがいらない
    • リアクティブcellレイアウト

13ヶ国語対応のアプリでやっていること @fujikkyさん

こちらも資料あるのでざっくりと。

  • カレンダーアプリを作っている
  • アプリのローカライズ
    • 13ヶ国語を1つのバイナリで対応
  • 多言語化の基準
    • 言語人口の多さ / スマホ普及率 / 日本との相性 等
  • テキストローカライズの課題
    • iOS, Android, Webで同じ文言を使うのにそれぞれのプロダクトごとに文言を翻訳するのは無駄
  • そこで、Google SpreadSheet
    • みんなで書き込んでRuby Scriptを使ってそれぞれのプラットフォーム用に変換
  • メリット
  • SpreadSheetの限界
    • 書き換えが簡単すぎてミスが発生
    • ブランチ管理ができない
  • iOSでの旧暦変換
    • FoundationのCalendar.Identifier.chineseは日本と韓国で旧暦がずれるパターンがある
    • この問題に対応するため、韓国、日本用の旧暦ライブラリを独自に実装して地域によって分けている
  • 時刻のAM/PM表示
    • 日本では24時間表記、AM/PMは両方、海外ではAM/PMが基本
    • DateFormatterでAM, PMという文字列が含まれているかどうかで処理分け
  • 海外からのフィードバック
    • 問い合わせがあるとGoogleForm→Google App Script(ここで機械翻訳をする)を介してSlackへ通知
    • Google App Scriptで翻訳処理も無料
  • その他
    • 現地パートナーを見つけるのが一番いい
    • 今はできる範囲でやっている

togetter

こちらにまとめられていました。

WWDC Extended Tokyo 2017 #wwdctokyo - Togetterまとめ