NIJIBOX

iOSDC Japan 2018に参加しました!

更新日 2024.7.9
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)

https://speakerdeck.com/yuta24/zai-li-yong-ke-neng-naui-componentswoli-yong-sitaapurikai-fa
デザイナーのワークフローに踏み込んでいたり、Atomic Designで課題整理しているのが印象に残った。

Playground駆動開発のすすめ(@_rockname)

https://speakerdeck.com/rockname/playground-driven-development-suggestion

Viewの確認でPlaygroundを使ったことはなかったので為になった。これは開発スピードが上がりそうたが、意外と導入に壁がありそうだ。

アルゴリズムを通じてよりよいアプリを(@rayfix)

https://speakerdeck.com/rayfix/arugorizumuwotong-zite-yoriyoiapuriwo
みんな大好きなアルゴリズムを話題にした話。O(n)の顔文字での比較が良かった。AutoLayoutの速度の改善ぶりに驚いた。ループを使わず、適切な標準ライブラリを使うことで、ミスも防げる。

8/31 day1

会場の受付の様子

iOSDC Japan 2018

Markdownをリアルタイムに解析する(@nakajijapan)

https://speakerdeck.com/nakajijapan/markdownworiarutaimunijie-xi-suru
テキストの解析範囲を決めるのが意外と難しそう。NSStringの文字コードを意識した操作でバグが出そうだ。

Swift 4.2 はどのような進化をしているのか(@tobi462)

https://speakerdeck.com/yusukehosonuma/whats-new-swift42
Swiftの誕生から振り返ってくれていた。Swift 4.2は破壊的な変更点は僅からしく安心した。標準APIの追加、変更が良さそう。

ランチ

オムハヤシ

安定したチャットを実現するためのアプリとAPI設計(@muukii0803)

https://speakerdeck.com/muukii0803/an-ding-sitatiyatutowoshi-xian-surutamefalse-apuritoapishe-ji
割と直近でチャットアプリを作っていたので、いろいろと共感できた。メッセージの状態管理、APIからの取得、順番の揃え方など、工夫している点のそれぞれが納得いくもので、とても満足度が高いセッションでした。

grpc-swiftを使ってiOSアプリでも快適なgRPC通信を行う(@KyoheiG3)

https://speakerdeck.com/kyoheig3/iosdc-2018
とても情報が整理されていて、gRPCへの知識が浅い人にも分かりやすいセッションでした。gRPCは通信の手段でRESTと同列。gRPCとProtocol Buffersはズブズブの関係だそうです。

肥大化しがちなアプリの起動経路を整理する(@d_date)

https://speakerdeck.com/d_date/fei-da-hua-sigatinaapurifalseqi-dong-jing-lu-wozheng-li-suru-1
Siri Shortcutが追加されて、さらに肥大化していくAppDelegateのソース。整理するには、起動経路を地道にクラス分割して、テスト可能なものに変更していく。

iOS WKWebViewの魔改造(@fokotate)

https://www.slideshare.net/slideshow/ios-wkwebview-iosdc-2018/112408084
UIWebViewの廃止が間もなく来る時期なので、WKWebViewでの苦労話。

iOSと(深層)強化学習(@yuky_az)

https://qiita.com/yuky_az/items/698b0da4e362f4373df3
深層学習はPythonのライブラリでやるもんだと思っていたので、新鮮な話でした。ニューラルネットワーク、バックプロパゲーションも一からSwiftで実装していて驚きました。

動画アプリをなめらかに動かす技術(@dekatotor)

https://www.slideshare.net/slideshow/iosdc-2018-112400328/112400328
動画のHLSでのストリーミング、プレイヤーの再生状態の管理、サムネイルとの切り替え周辺での工夫が分かりました。

差分計算アルゴリズムを用いた高速なUITableView描画(@fumito_ito)


https://speakerdeck.com/fumitoito/chai-fen-ji-suan-arugorizumuwoyong-itagao-su-nauitableviewmiao-hua
差分更新のライブラリそれぞれと、reloadDataを速度比較していて、参考になりました。

Swiftの生みの親によるasync/await for Swiftを徹底解説し、新しい非同期処理の手法を理解する(@yimajo)

https://speakerdeck.com/yimajo/await-for-swiftwoche-di-jie-shuo-si-xin-siifei-tong-qi-chu-li-falseshou-fa-woli-jie-suru-1
スライドとTwitterのタイムラインを一体化して表示して、発表していたのが新鮮でした。非同期周りでコードがスッキリ!completionのコードがネストされている処理がスッキリ!でした。

9/1 day2

ランチ

ポークジンジャー丼

Live coding: ReactorKit

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

Depth in Depth(@shu223)


https://www.slideshare.net/slideshow/depth-in-depth-iosdc/112523600
デュアルカメラなどから取れるようになった深度を使って、一通りアプリを作ってみて得られた知見の発表。深度について知識が浅くても、付いていけました。デモも良かったです。部屋を隠してビデオ会議できる機能は欲しいと思いました。

LIFULL HOME’S「かざして検索」リリースの裏側(@HanawaTakuro)

https://t.co/FWPQGoA8ZU
建物にカメラをかざすだけでその建物の物件情報を閲覧できるUXを提供する機能を実装した話。CoreMLの実践的な事例として興味深いものでした。建物を特定するモデルを作成するのに大分苦労したそうです。モデルを訓練するための前処理がとても辛かったと。モデルを組み込みではなく、ダウンロード形式にしたり、サイズを軽くしたりと、いろいろ工夫されていました。

iOS × GraphQLの嬉しみとつらみ(@ _mogaming)


https://t.co/l5GHBKMWBV
GraphQLの仕様から実装のハマりどころまで、整理されてまとめられていました。テンポが早く、時間配分を意識した発表でした。

Swift Playgrounds Bookの作り方と配り方〜カメラからの画像をリアルタイムにいじるPlayPixels
(@sonson_twit)

https://t.co/ivtZftfnk6
iPadを持っていかなかったので、発表していたデモをその場で試せなかったのが残念でした。Playgroundの話から画像処理、CNNと話題が広く、リアルタイムに画像が変化するデモもおもしろかったです。Ask the Speakerでの対応も親切でした。

WebSocketをiOSに持ち込んで辛い思いをした経験がありますか!?(@sbntaminif)

https://t.co/B0VzkzFG4C
直近でsocket.ioを用いてリアルタイムなチャット機能を実装していたので、聞いてきました。背景知識も含めて実装での工夫までおさらいされていて、実装の答え合わせができて良かったです。

LT Track B

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

虚無から48時間でiOSアプリをリリースする(@koooootake)

https://t.co/qd8xnD5dXC
ハッカソンでのアプリ作成の工程が3分間クッキングぽくアレンジされていて、おもしろかったです。

Visionフレームワークのリアルタイム顔検出を使えば、ウインクするときゃるん♪と音が鳴る二次元美少女になれる!(@minami1389)

https://speakerdeck.com/minami1389/visionhuremuwakufalseriarutaimuyan-jian-chu-woshi-eba-uinkusurutokiyaruntoyin-gaming-ruer-ci-yuan-mei-shao-nu-ninareru
個人的にVisionフレームワークには注目していたので、その実例としておもしろかったです。圧倒的手動デバッグでの調整あたりの苦労も良かったです。

懇親会

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

9/2 day3

ランチ

ローストポーク丼

デバイス・OSバージョンの依存が少なく、メンテナンスしやすいビューを作る(@k_katsumi)

https://t.co/p9zicrUiQW
UI作成でのGood Practice、Bad Practiceが分かり易く解説されていた。既に実践していることもあったが、多くの学びのある内容が盛り込まれていた。

iOSアプリの開発速度を170%に向上させたデバッグノウハウ(@orga_chem)

https://speakerdeck.com/orgachem/debugging-knowhow-that-improved-our-development-velocity-to-170-percent
https://t.co/2esIWayc7F
時間内に収める為に、駆け足ではあったが、内容の濃い発表でした。デバック自体が効率が悪い作業なので、動作確認の自動化や、テストコードの重要性を説明していく展開が見事でした。

あえてWebエンジニア以外の人に聞いてほしいWebRTCの話(@Tukimikage)

https://t.co/XnKHmNNaXS
AtomやVSCodeの共同編集機能でも使っているWebRTCについて、知識から実装まで、一通りおさらいできた。

LT Track A

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

麻雀の点数計算(@giginet)

https://t.co/2UDrmLI34J
https://github.com/giginet/Peafowl/

Playgroundで画像で手牌が表示されるのが凝っていました。また点数計算もほぼ全パターンが網羅されていて素晴らしかったです。

DroidKaigi 2018 iOS appのApple審査が通るまで(@konifar)

https://t.co/q1KCHoyjw4
DroidKaigiの開催が目前に迫っているのに、Appleの審査が一向に進まない展開にハラハラしました。DeployGateでの先行配信はいい回避策。イベント開催の9時間前でようやく審査が通って、よかったですね。審査の特急申請は余り意味がなかったようです。

ベストスピーカー賞

1. MicroViewControllerで無限にスケールするiOS開発
https://t.co/07c41phusx

2. iOS アプリの開発速度を70%高速化したデバッグノウハウ
https://speakerdeck.com/orgachem/debugging-knowhow-that-improved-our-development-velocity-to-170-percent

3. Depth in Depth
https://t.co/BSlKXiHJjI

最後に

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

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

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

開発実績資料_ニジボックス