• このエントリーをはてなブックマークに追加

iOSDC Japan 2018に参加しました!

こんにちは。エンジニアの越智です。
会社では大体スマートフォンアプリの開発をしています。

iOSのイベントでは国内最大級のiOSDC Japan 2018に参加したので報告します。

今年は8/29のOpening Partyから8/30-9/2までの本番と、5日間の大イベントでした。
感想をざっくりと書いていきます。

8/29 Opening Party

ぼっちでの参加だったので、自己紹介タイム待ちでした。
業務で使っているDeployGateの中の人と話せたのは収穫でした。
​​

8/30 前夜祭

会場の西早稲田キャンパスは初めてだったので、少し迷いました。駅の出口に何かしら案内が欲しかったです。

  • iOSエンジニアの為のgrpc-swift入門
    @tikidunpon
    スライド
    gRPCはマイクロサービス周りで聞いていたレベルだったので、概要が把握できて為になった。
  • 再利用可能なUI Componentsを利用したアプリ開発
    @yuta24
    スライド
    デザイナーのワークフローに踏み込んでいたり、Atomic Designで課題整理しているのが印象に残った。
  • Playground駆動開発のすすめ
    @_rockname
    スライド
    Viewの確認でPlaygroundを使ったことはなかったので為になった。これは開発スピードが上がりそうたが、意外と導入に壁がありそうだ。
  • アルゴリズムを通じてよりよいアプリを
    @rayfix
    スライド
    みんな大好きなアルゴリズムを話題にした話。O(n)の顔文字での比較が良かった。AutoLayoutの速度の改善ぶりに驚いた。ループを使わず、適切な標準ライブラリを使うことで、ミスも防げる。

8/31 day1

  • 会場の受付の様子

    iOSDC Japan 2018

  • Markdownをリアルタイムに解析する
    @nakajijapan
    スライド
    テキストの解析範囲を決めるのが意外と難しそう。NSStringの文字コードを意識した操作でバグが出そうだ。

  • Swift 4.2 はどのような進化をしているのか
    @tobi462
    スライド
    Swiftの誕生から振り返ってくれていた。Swift 4.2は破壊的な変更点は僅からしく安心した。標準APIの追加、変更が良さそう。

  • ランチ

    オムハヤシ


  • 安定したチャットを実現するためのアプリとAPI設計
    @muukii0803
    スライド
    割と直近でチャットアプリを作っていたので、いろいろと共感できた。メッセージの状態管理、APIからの取得、順番の揃え方など、工夫している点のそれぞれが納得いくもので、とても満足度が高いセッションでした。
  • grpc-swiftを使ってiOSアプリでも快適なgRPC通信を行う
    @KyoheiG3
    スライド
    ​とても情報が整理されていて、gRPCへの知識が浅い人にも分かりやすいセッションでした。gRPCは通信の手段でRESTと同列。gRPCとProtocol Buffersはズブズブの関係だそうです。
  • 肥大化しがちなアプリの起動経路を整理する
    @d_date
    スライド
    Siri Shortcutが追加されて、さらに肥大化していくAppDelegateのソース。整理するには、起動経路を地道にクラス分割して、テスト可能なものに変更していく。
  • iOS WKWebViewの魔改造
    @fokotate
    スライド
    UIWebViewの廃止が間もなく来る時期なので、WKWebViewでの苦労話。
  • iOSと(深層)強化学習
    @yuky_az
    Qiita
    深層学習はPythonのライブラリでやるもんだと思っていたので、新鮮な話でした。ニューラルネットワーク、バックプロパゲーションも一からSwiftで実装していて驚きました。
  • 動画アプリをなめらかに動かす技術
    @dekatotoro
    スライド
    動画のHLSでのストリーミング、プレイヤーの再生状態の管理、サムネイルとの切り替え周辺での工夫が分かりました。
  • 差分計算アルゴリズムを用いた高速なUITableView描画
    @fumito_ito
    スライド
    差分更新のライブラリそれぞれと、reloadDataを速度比較していて、参考になりました。
  • Swiftの生みの親によるasync/await for Swiftを徹底解説し、新しい非同期処理の手法を理解する
    @yimajo
    スライド
    ​スライドとTwitterのタイムラインを一体化して表示して、発表していたのが新鮮でした。非同期周りでコードがスッキリ!completionのコードがネストされている処理がスッキリ!でした。

9/1 day2

  • ランチ

    ポークジンジャー丼

  • Live coding: ReactorKit
    GitHub
    ReactorKitでライブコーディング。特にトラブルもなく時間通りに終わった。RxCocoa, RxSwift, ReactorKitでの記法を駆使し、コードがすっきりと書けていくのが分かった。発表者はだいぶ慣れているのだろうし、スピードも早かった。モブプログラミングぽくておもしろかった。

  • Depth in Depth
    @shu223
    スライド
    デュアルカメラなどから取れるようになった深度を使って、一通りアプリを作ってみて得られた知見の発表。深度について知識が浅くても、付いていけました。デモも良かったです。部屋を隠してビデオ会議できる機能は欲しいと思いました。
  • LIFULL HOME’S「かざして検索」リリースの裏側
    @HanawaTakuro
    スライド
    建物にカメラをかざすだけでその建物の物件情報を閲覧できるUXを提供する機能を実装した話。CoreMLの実践的な事例として興味深いものでした。建物を特定するモデルを作成するのに大分苦労したそうです。モデルを訓練するための前処理がとても辛かったと。モデルを組み込みではなく、ダウンロード形式にしたり、サイズを軽くしたりと、いろいろ工夫されていました。

  • iOS × GraphQLの嬉しみとつらみ
    @ _mogaming
    スライド
    GraphQLの仕様から実装のハマりどころまで、整理されてまとめられていました。テンポが早く、時間配分を意識した発表でした。

  • Swift Playgrounds Bookの作り方と配り方〜カメラからの画像をリアルタイムにいじるPlayPixels
    @sonson_twit
    スライド
    iPadを持っていかなかったので、発表していたデモをその場で試せなかったのが残念でした。Playgroundの話から画像処理、CNNと話題が広く、リアルタイムに画像が変化するデモもおもしろかったです。Ask the Speakerでの対応も親切でした。

  • WebSocketをiOSに持ち込んで辛い思いをした経験がありますか!?
    @sbntaminif
    スライド
    直近でsocket.ioを用いてリアルタイムなチャット機能を実装していたので、聞いてきました。背景知識も含めて実装での工夫までおさらいされていて、実装の答え合わせができて良かったです。
    ​​​

LT Track B

数が多いのでピックアップします。

  • 虚無から48時間でiOSアプリをリリースする
    @koooootake
    スライド
    発表者の特徴的なアニメ声が印象的でした。また、ハッカソンでのアプリ作成の工程が3分間クッキングぽくアレンジされていて、おもしろかったです。

  • Visionフレームワークのリアルタイム顔検出を使えば、ウインクするときゃるん♪と音が鳴る二次元美少女になれる!
    @minami1389
    スライド
    個人的にVisionフレームワークには注目していたので、その実例としておもしろかったです。圧倒的手動デバッグでの調整あたりの苦労も良かったです。​

懇親会

食料、飲料、盛り沢山でした。DeNAの人や、@k_katsumiともお話しして来ました〜。

9/2 day3

  • ランチ

    ローストポーク丼

  • デバイス・OSバージョンの依存が少なく、メンテナンスしやすいビューを作る
    @k_katsumi
    スライド
    ​UI作成でのGood Practice、Bad Practiceが分かり易く解説されていた。既に実践していることもあったが、多くの学びのある内容が盛り込まれていた。

  • iOSアプリの開発速度を170%に向上させたデバッグノウハウ
    @orga_chem
    スライド
    note
    時間内に収める為に、駆け足ではあったが、内容の濃い発表でした。デバック自体が効率が悪い作業なので、動作確認の自動化や、テストコードの重要性を説明していく展開が見事でした。
    ​​
  • あえてWebエンジニア以外の人に聞いてほしいWebRTCの話
    @Tukimikage
    スライド
    AtomやVSCodeの共同編集機能でも使っているWebRTCについて、知識から実装まで、一通りおさらいできた。
    ​​

LT Track A

数が多いのでピックアップします。

  • 麻雀の点数計算
    @giginet
    スライド
    Github
    Playgroundで画像で手牌が表示されるのが凝っていました。また点数計算もほぼ全パターンが網羅されていて素晴らしかったです。
  • DroidKaigi 2018 iOS appのApple審査が通るまで
    @konifar
    スライド
    DroidKaigiの開催が目前に迫っているのに、Appleの審査が一向に進まない展開にハラハラしました。DeployGateでの先行配信はいい回避策。イベント開催の9時間前でようやく審査が通って、よかったですね。審査の特急申請は余り意味がなかったようです。

ベストスピーカー賞

  1. MicroViewControllerで無限にスケールするiOS開発
    スライド

  2. iOS アプリの開発速度を70%高速化したデバッグノウハウ
    スライド

  3. Depth in Depth
    スライド

最後に

ここまで読んで頂きありがとうございます。5日間とあって、盛り沢山の内容でした。

またニジボックスにはTechPerkという制度があり、今回のイベント参加費用は会社負担でした。素晴らしいですね。

ありがとうございました。