iOSDC Japan 2021 前夜祭をタイムシフトで追いかけて

![スクリーンショット 2021-09-18 9.37.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/4162088d-1f6b-7166-d709-9099acb644cd.png)

# はじめに
今年もこの季節がやってまいりましたね。
昨年に引き続きオンライン開催ですが、事前に[ノベルティ](https://photos.google.com/share/AF1QipNgMcolccO2Drjljj9sjjPTxWkkxupGIRGaP9NcVrSo3eoVqEOasjXPqlDDmmZeog?key=RTdlcnA3U3VaT2QzZHZoTjBlU3BBMlJQLVF0d2xB)が届いたりして相変わらずお祭り気分満載です。

残念ながら今回の前夜祭は仕事やプライベートでバタバタしていてリアルタイムに視聴できなかったので、夜中にタイムシフトで気になるセッションだけ急ぎ追いかけてみました。
その感想を雑に書いてみます。


# agoraを使ってライブ配信機能を1ヶ月半でリリースした話

https://www.canva.com/design/DAEk5AdyDCI/9NBe_8in_Vo7M_e11RkdWA/view?utm_content=DAEk5AdyDCI&utm_campaign=designshare&utm_medium=link&utm_source=publishsharelink#1

現在の業務ではライブ配信を実装する機会は当分訪れそうにないですが、個人的にライブ配信機能ってどう実装されているのか興味があって視聴しました。

セッションを聞く前は予備知識もなく、Agoraというのは動画再生やコメント表示などを良い感じにまとめているライブラリなのかなぁとか思っていたんですが、自社サーバーの開発なくライブ配信機能を実現できるとんでもサービスでした！

ライブ配信以外にも多数の機能が提供されているみたいで、一度は触ってみたいと感じました。
![スクリーンショット 2021-09-18 9.49.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/714ab188-2551-1957-d423-2916a8b7188a.png)

このセッションを視聴してライブ配信機能を実装するイメージが結構リアルに想像できました。
また、ライブ配信には欠かせない投げ銭機能の実装などにもコメント機能が使われていた事など、想像とは違った裏側の事も知れて面白かったです。

課題として提起されていた1画面の機能がモリモリでUIが複雑になる問題は確かになぁと思いました。
これを個人開発で実装試して、良い感じのUIを発明して特許を取るぞ！という気持ちになりますね。笑

それと、スライドがめちゃくちゃオシャレでセンスの良さを感じました！

##### 番外編
早速特許取得の第一歩として、気軽に個人開発に使えそうか少し調べてみました。
https://jp.vcube.com/service/agora
![スクリーンショット 2021-09-18 9.57.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/3a0181c7-bdb5-e283-d324-b0863f7191fa.png)

開発期間中はなんと無料で使えるという超良心的な設計でしたが、まずは営業に相談というのは個人でとりあえず試してみるには少しハードルがあるなという印象でした。。。
強メンタルの方は是非！

# PickGo for Partnerの移行方法から学ぶ 既存のネイティブアプリをFlutterへリプレイスする方法 
https://speakerdeck.com/entaku/pickgo-for-partnerfalseyi-xing-fang-fa-karaxue-hu-ji-cun-falseneiteihuahuriwoflutterherihureisusurufang-fa

最近急に思い立ってプライベートでFlutterの開発環境を構築したところだったので気になって視聴しました。
そしたらたまたま発表されていたアプリが現在業務で扱っているアプリにとても境遇が似ていて、とても自分ごととして聞くことができました。

![スクリーンショット 2021-09-18 11.18.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/5d031c32-9e90-4b9b-0e1e-85122c0af2b2.png)![スクリーンショット 2021-09-18 11.18.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/909a0c80-ddc5-2e88-ecc3-d3c7e5d705df.png)

開発を終えていざリリースとなると仕様がわかっていなくて実装漏れがあるんじゃないかとめちゃくちゃ怖くなるというのもすごく共感できて、それを一部のユーザーへのクローズテストで対処したというのもなるほどなと思いました。
この話を聞いて、現職のアプリも思い切ってFlutterに移行するの、意外とありなのでは？と感じました。
チームにも話題を振ってみようと思います！

# 振り返りながら学ぶPackage Manager
https://speakerdeck.com/jollyjoester/zhen-rifan-rinakaraxue-hupackage-manager

普段当たり前のように使っているパッケージマネージャー。
でもよく考えるとあまり深く調べた事もなかったなぁということで初心に返って視聴することにしました。
![スクリーンショット 2021-09-18 13.08.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/86ee5290-3de6-3cad-4747-47d75723c733.png)

このスライド下部のセリフめっちゃわかる。
パッケージマネージャーでエラーが出た時点ですごく気が重くなるんですよね...w

CocoaPods | Carthage | SPM
:-: | :-: | :-:
![スクリーンショット 2021-09-18 13.12.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/1d958b84-80e6-9153-068e-2da1992c9b72.png)| ![スクリーンショット 2021-09-18 13.12.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/c263d1cd-1b1a-670b-a0cc-45f11a0b389a.png)|![スクリーンショット 2021-09-18 13.13.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/6fd44deb-d935-f76f-2529-289b31430721.png)
![スクリーンショット 2021-09-18 13.17.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/10f7a798-c505-3e8f-723d-0be71a49396e.png) | ![スクリーンショット 2021-09-18 13.18.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/5b3432fe-d847-022b-607c-8da083e8b535.png) | ![スクリーンショット 2021-09-18 13.19.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/66740d91-4565-e976-f2d4-5dcb12592e65.png)
![スクリーンショット 2021-09-18 13.17.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/47fdf5c1-5ca4-5596-8e24-dd57b83ca869.png) | ![スクリーンショット 2021-09-18 13.18.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/e411429b-4afa-3bbd-b35a-7256f9b29755.png) | ![スクリーンショット 2021-09-18 13.20.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172991/04c4e213-fbce-3082-386c-df39f6391072.png)

こうやって比較した事なかったのでとてもわかりやすかったです。
口頭での時代背景など補足説明もあり、各パッケージマネージャーの思想に非常に納得感がありました。
Carthageは昔カルタゴって呼んでいる人も結構いたけど、今はカーセッジ読みしか聞かなくなったなぁ...まだカルタゴ派はいるのかなぁなんて思ったりしました。

セッションの最後では年表を使って各パッケージマネージャーの遍歴を紹介していただき、なぜか感慨深く感じました。笑
現職ではCocoaPods、Carthage、SwiftPackageManager全て使っているので、それぞれの特徴を理解して適材適所な使い方をしていこうと思いました！

# おわりに
今年も前夜祭から素晴らしいセッションが盛り沢山で楽しかったです。
ニコ動で配信されているので、タイムシフトで見てもコメントの反応が当時のリアルタイムで反応するのが面白いと思いました。

一つだけタイムシフトで辛かったのは、各トラックの動画がセッション毎に切られずぶっ通しで1本なので、自分が見たいセッションの開始タイミングをシークバーをこちょこちょしながら探るのが大変でした。。。
本当はもっと簡単に再生できるのかも知れませんが:sweat_drops:
もしご存知の方がいたらニコ動弱者の僕にコメントで教えてください:bow: