こんにちは。iOSアプリ開発のリードをしているFromAtomです。デザイナーさんに「アー写みたいなかっこいい写真撮りたい」と無茶振りしたら、いい感じに撮影と現像をしてくれて感謝感激しています。
2019年9月5日(木)〜9月7日(土)に開催される iOSDC Japan 2019 に、ピクシブから3名のエンジニアが登壇することになりました!まずは、その3つの発表内容に登壇者のコメントを添えてご紹介したいと思います。
スクリーン配信機能の実装が大変だったので知見をお伝えします
iOSで画面を収録してライブ配信を行うにはReplayKit2を利用し、Upload Extension経由で画面を配信する必要があります。
さて、そのUpload ExtensionをXcodeで追加すると BroadcastSetupViewController というUIViewControllerが追加されます。
「これ……なに……?」
なんとか謎のViewControllerの正体を暴いた後、次の壁にぶつかりました。
Upload Extensionの動作時にはiOS側の制限で約50MBのメモリ制限がかかっているため、
気楽に処理を書くとすぐにメモリが枯渇してしまうのです。
「気軽に処理書くとiOSに殺されるんだが……?」
このトークでは、将来スクリーン配信機能をつくる誰かが少しでも楽になることを主目的とし、
スクリーン配信機能の作り方をまとめながら、ハマりどころやデバッグのコツをお話します。
- 登壇者:FromAtom(@FromAtom)
- 登壇日時:Day 0 - 9/5(木)17:50〜 Track A
- コメント:この発表を聞けば急に上司が「時代はライブ配信だ!iPhoneでゲームとかの配信できるようにして!」と言われた時に失神せずに実装にとりかかれるようになります。iOSDC Japan 2019一発目の発表枠にアサインされて、とても緊張して夜しか眠れませんが、未来の誰かを助けるためにがんばります。
縦書きエディタを6プラットフォームで開発してみて
Windows / macOS / Ubuntu / iOS / Android / UWP向けに縦書きのできるテキストエディタを趣味で開発しています。
小説や脚本などでいまだに根強い需要のある縦書きのテキスト入力を6プラットフォームに提供する唯一のプロダクトを目指しています。
(Windows / macOS / Ubuntu / Androidでリリース済み、iOS版リリース予定、UWP版プロトタイプ完成済み)
このプロダクトでは全プラットフォームで同じ描画結果を手に入れるためにテキスト描画エンジンから自前で作っています。
トークでは文字とコンピュータの関係、縦書きという特殊な書字方式とその裏側の実装、テキストエディタや組版、iOSやAndroidに限らないクロスプラットフォームなアプリ開発について話します。
内容
- テキストを表示するために必要な文字コードとフォントの知識
- コア機能をC++で作る理由
- デスクトップアプリとモバイルアプリを開発するための環境
- デスクトップアプリのテキスト入力とモバイルアプリのテキスト入力
- プラットフォームで千差万別なIMEという特異点
- iOS / Androidの標準TextViewのUIとその縦書きでの再実装
- 登壇者:六々(@496_)
- 登壇日時:Day 1 - 9/6(金) 10:50~ Track E
- コメント:去年はiOSで縦書きのTextViewを作る話をしましたが、今年はパッション枠ということでプラットフォームをまたぐ縦書きエディタ開発について60分間語っていこうと思います。
FatViewControllerを安全に書き換える方法が見つからなかったので、どういう痛みを許容するか考えた
安全にリファクタリングを行うには「お約束」があります。
「自動テストを書いてからリファクタリングする」
言葉にしてしまえば簡単で「プログラマであれば当然のことだ」とおっしゃる方もいらっしゃるかもしれません。
でもそれを難しくするのがヤツの存在です。そう、iOSエンジニアならば切っても切れない関係のFatViewControllerです。
前述のお約束を守るために、こんな堂々巡りに陥ったことのある方は少なくないのではないでしょうか。
・「UIテストを書いた上で書き換えを行うか?」「時間がかかりすぎる、ダメだ...!」
・「ユニットテストを充実させて設計を変更しながら書き換えを行うか?」「先にプロダクトコードの変更が発生してしまう、ダメだ...!」
このトークではFatViewControllerの書き換えを「自動テストを書いてから」というお約束を守ってこなすのが難しかった話をします。
そのうえでなるべく安全に、現実的に書き換えていく方法にはどんなものがあったか、どんな部分で安全を切り捨てて痛みに耐える判断をしたのか話をします。
- 登壇者:ダンボー田中📦(@ktanaka117)
- 登壇日時:Day 1 - 9/6(金) 15:10〜 Track A
- コメント:ノベルティの冊子にも載ったダンボールの人です。これまでのiOSDCは毎年前夜祭登壇枠だったのですが、今年はレギュラー登壇枠に入りました!🎉登壇環境が変わっても、僕は変わらないのでぜひ楽しんで見にきてください!!!
今年もスポンサーします!
一昨年・昨年に引き続き、今年もピクシブ株式会社はiOSDC Japan 2019のゴールドスポンサーをさせていただきます。スポンサーをさせていただくからには、やはりiOSDCを盛り上げなくてはいけませんね。ピクシブ株式会社は2つのノベルティをご用意しています。
まず1つめはこちら!
ピクシブのiOSアプリエンジニアの薄い本(テックブック)を作りました!この本は、iOSDC参加者の皆さんに配られるノベルティバックの中に入っています。ピクシブが提供している各iOSアプリのこだわりポイント、エンジニアたちが相互協力するための取り組み、そして中途エンジニア(ダンボー田中)に「なぜ弊社に転職したのか?」をテーマにしたインタビューと盛りだくさんな内容になっています。
そして2つめはこちら!
リジェクト除けの御守を作りました!これを持っていれば、なにかしらのリジェクトを防ぐことができるかもしれませんし、できないかもしれません。こちらの御守は、カンファレンス期間中にピクシブのiOSアプリエンジニアに話しかけることで手に入れることができます。ピクシブのiOSアプリエンジニアは「Waiting For Review」と書かれたTシャツを着て会場を徘徊しています。
なぜか親の顔より見たことがある文字列な気がします。
みなさんぜひともピクシブのiOSアプリエンジニアに話しかけて、御守をゲットして下さい!そうそう、話しかける際には「一番つらかったリジェクトの思い出」を話してくれると、とても嬉しいです。
ブーススポンサー
さらにさらに。今年はブーススポンサーとしても協力させていただきます。ピクシブのブースでは、『3Dキャラをつくって着せ替えて、写真が撮れる、アバターカメラアプリ「VRoidモバイル」』の展示を行います。ブースにはVRoidモバイルのエンジニアが待機しており、3D・AR・UnityといったVRoidを支える技術について語り合うことができます。
VRoid・3D・xR・Unity・VRM・アバターといったキーワードでピンと来た方は、ぜひともブースにお越し頂いて、弊社エンジニアとの技術トークをお楽しみ下さい。
さいごに
今年もiOSエンジニアのお祭りが始まりますね。私は去年と引き続き登壇することができて、嬉しさと緊張と資料間に合うのかこれという気持ちでいっぱいです。
今年もピクシブ株式会社のiOSアプリエンジニア一同、人を巻き込み活性化する、iOSDCコミュニティーの一員として、全力でイベントを盛り上げ、楽しんでいきたいと思います。
それではみなさん、会場で会いましょう!御守も貰いに来てくださいね!