怠慢プログラマーの備忘録

怠慢でナマケモノなプログラマーの備忘録です。

iOSDC Japan 2018で登壇してきました

f:id:ka0in:20180902222736j:plain 8/31 ~ 9/2にiOSDC 2018にSpeakerとして参加してきました。

カンファレンスはブログを書くまでがカンファレンスなので忘れないうちに書いておこうと思います。 (なお全てのセッションは書ききれませんのであしからず)

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

Swiftは2014年に登場しましたがオープンソース化や2->3への破壊的アップデートを経て、数多くのプログラミング言語の中でも優秀な言語に育ってきているのがうまくまとめられていました。

私は丁度3.0がリリースされるタイミングで初めてSwiftに触り始めたので、2以前の資産はない状態でしたのでアップデートによるリファクタリングには遭遇できませんでしたが、Swiftがどのような変化をしてきたかが改めて再確認できました。

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

チャットアプリ(機能)の設計はとても大変です。 ユーザーの操作性が一番重要になる箇所でもあり、各ステータス毎の状態を最適な状態でユーザーに知らせる必要があります。

今ではLINEは連絡手段のインフラ化してる時代なので、ユーザーが日頃から慣れている機能を担保しつつ独自性を表現できるような設計はとても難しい中、各ステータスの状態を綺麗に表現できている事例でした。

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

アプリの起動経路に関するお話です。 アプリケーションが起動するパターンとしてはいくつかのパターンが考えられますよね(Push通知からとかSiri Shortcutとか)。 全てAppDelegateに収めてしまうとFatなAppDelegateが出来上がってしまいますが、それをどうにか整理してテストできるとこまで持っていくのは非常に勉強になりました。 ただ、直接的にテストできないシーン(Local or Remote Pushなど)に遭遇してしまった場合、デバッグと同様に間接的に担保できればいいしそれ以上は(ユニットテストはあくまでも手段であるとの理由から)あきらめるというのは斬新なように一瞬思いましたが非常に腑に落ちた言葉でした。

スピーカーディナー

f:id:ka0in:20180902222727j:plain 今回スピーカーとして参加させてもらっていたので、スピーカーとその他応募者数名の方達でのスピーカーディナーにも参加することができました。 正直ほぼ誰も知らない状態でしたのでどうしたものか状態でしたが、akatsuki174さんやスタッフの方々、それにd_dateさんともお話させていただけた貴重な機会でした。

色々考えてみてることもあり、ひたすら質問ばっかりしてたような気がしますが聞いてみたいことほぼ全て聞くことができました。

ただ一応お話する方々に年齢聞いてみたのですが、みんなほとんど歳上ですねはい。頑張ります。

iPhone が数秒おきにクラッシュするんだけど!/atura

2017年12月のZaimのアプリに関連するクラッシュ事件の真相でした(Zaimアプリは悪くない!)

まだ記憶に新しいことでもあったので、どういう経緯で発生したのか・どこが原因だったのか・その後の対応などiOSエンジニアならあの現象に関してそういう視点で興味があった方も大勢いると思いますが、その辺りを全てお話してくださいました。 つまり「Zaimアプリは悪くない!」です。

詳解Fastfile /giginet

詳解Fastlanefileです。 最強は「何も書かないこと!」です。おっしゃる通りでした。 ある程度色々書きたくなるfastfileですがそれを避けるためにという観点で実例があったので非常に理解できましたし共感できるとこがありました。 ちなみに弊社プロダクトではなぜか使ってない(入れなきゃと思って放置)のですが、私個人で開発しているアプリでは導入してて申し訳なくなりました。。。

IRT Storyboard/AutoLayout

午後はほとんどこれに時間を費やしました。IRTに関しての詳細はiOSDC公式ブログをご覧ください。 簡単にいうと、議題をみんなで出してそれについてわいわい話すやつです。 これに関して私も「Storyboard or xib(autolayout)使う派」と「コードで書く派」でそれぞれありますが〜みたいな議題を出してしまい、ほぼ3コマ全てがそれになってしまい申し訳なく思っています。。。

個人的にはまず・アサインされるエンジニアの数やプロダクトの規模にかなり影響はされるよね。の認識でしたのですがそれに関して多くの方が同じことを言ってくれていたので安心しました。 さらにそれぞれにメリット・デメリットある上で綺麗に使い分けるのが理想だね。という見解が多くなんとかそれに沿うような作り方をできていたので、それもまた安心しました。

またAndroidGUIXMLと同期していて、XMLで変更したものはGUIに切り替えれば反映している状態ですし、またその逆も同様なのでAndroidの開発環境素晴らしいと改めて思いました。

中々テーマが抽象的にも関わらず、かなり深い話にまで発展していたのでかなり勉強になりました。(多分iOSDC通してこれが1番かも...) あとで思いついたのは、「Storyboard使う派と使わないで全てxibのみでやっちゃう派」もあると思うので、それに関しても聞いてみたかったです。 (本当にここだけで話しきれない。。。)

おそらく最終的に10名弱くらいの席数しか用意してなかったのに20名くらいになっていたのではないでしょうか。 何よりFolioのk_katsumiさんの話聞いてるだけでかなり勉強になりました。

あと、takasekさんが内容を綺麗にまとめてくれてくださいました!すごい!嬉しい!!ありがとうございます!!(takasekさんと今回話す機会がなかった...)

workflowy.com

アンカンファレンス iOSアプリ設計パターン著者の方達の雑談

peaks.cc

PEAKSから制作が決定している「iOSアプリ設計パターン」の著者の方達で行われた臨時セッション(?)です。 設計・アーキテクトとは何か?どこからアーキテクトが必要か?今の進捗などやんわりとした雰囲気ではありましたが非常に内容の濃い印象があります。(多分満席だったはず)

他の会社・エンジニアさんの設計思想を聞いたり、ソースをみたりするのは本当に勉強になるので(実際それで前職でお世話になった会社さんのプロダクトのアーキテクトを今でも選ぶことが多いです)

個人的に開発合宿に行きたいのは前から思ってて、羨ましくなったので今月?に弊社でも社員旅行?研修?があるらしいので1人で決行しようかと思ってるくらいです。 だからゴーカートもテニスもしない代わりにディスプレイ持参しようかと思います。

懇親会(写真撮るの忘れたw)

一般の参加者の方も含めた懇親会がありました。

主に新潟のフラー社の方やフェンリルさん、アイリッジさんの方達とお話してました。

フェンリルさんの方で新潟出身の方がいたのですが、僕の前職を退職された方でちょっとびっくりしてました。ちなみに西区でした。もう驚きです。

田舎のWebベンチャー企業にアプリ事業を持ち込んだらこーなった/yutaabe200

午前中は完全準備でこもってました。 あと、前日のホテルのエアコンでダメージを受けた喉のケアを行なっていました。いちごミルクで。

なんとかやりきった感。

まあ、同時刻にこれから本番目前の僕ですら行きたいセッションが2つほど被っていたので、人数はぼちぼちな感じで想定内ではあったのですが、それにしては聞いてくれる方がたくさんいたと思います(本当に弊社からの2名くらい+ちょっとを覚悟してた)

一応みなさんには部屋を間違えてないか確認を取ってからスタートしました。

今回は完全に技術的な話でもなく、かつiOSだけのことでもない中だったのでiOSの技術的なことを期待して参加している方には申し訳ない内容だったかもしれません。

俺コンの「Androidを考えたiOSアンチパターン」では全く逆な構成内容になり、かつAndroidのこともいっぱい喋るし、なんならここわかんないから知ってる人教えて!もあると思うので、今回期待外れだった方はぜひ俺コンに来ていただけると嬉しいです。(まだスライド作ってないくせに大きなこと言ってみた)

IRT Firebase

IRTが素晴らしいものだと知ったので途中参加して来ました。 主にやはりFirestoreの話題が多かったようです。 FJUGの1amageekさんが基本的なことからちょっとしたGoogleの内部事情もお話してくれていたので得した感があります。 RTDBの扱いにはやはりFirestoreに以降しないとなのか...

まとめ

大きなカンファレンスに参加すること自体DroidKaigi合わせて2回目だったのにも関わらず登壇までさせていただいて非常にいい経験がありました。 お粗末な内容にも関わらず登壇後に色々お話にきてくれる方もいて、またTwitterでも呟いてくれる方もいてスピーカーとしての醍醐味を少し味わえました。

来年も頑張ってcfp出そうと思ってます! でもみんなのお話もいっぱい聞きたいのでみんなも応募してね!! あと俺コンでも登壇させてもらえる機会をいただけたので俺コン頑張ります!!!(やっぱり登壇できるとなんやかんや嬉しい。)

最後に 何よりiOSDCのスタッフの方お疲れ様でした!すごくいい経験ができました!また来年も行きます!! f:id:ka0in:20180902222723j:plain

あと、、、

f:id:ka0in:20180903015541j:plain

これがもらえた。。。 ダウンロード版を購入しようか迷ってたのですが、製本版の方がどうしても読みやすいと感じてしまう機械音痴だったので... 俺コンにもお話いただきましたし、スピーカーディナーでも色々教えてくださったし、d_dateさんには本当に感謝しきれないiOSDCでした。はい。