@cosmeアプリで部分的にTextureを導入し、パフォーマンスを改善しました。その導入過程や、before/afterを紹介します。
ビデオ通話を実装するにあたり、一般的なWebRTCを用いる代わりに、WebScoketを用いて実装した例をアーキテクチャを示します。WebSocketを用いることで手軽に複数人のビデオ通話が実現できます。また、ビデオ通話をWebRTCとWebSocketで実装した時の利点と欠点を比較します。
「コメントは3ヶ月後の自分へ」とあるように、Gitのコミットログでも同じことが言えます。
「○○のバグに対応」「△△の処理を消す」といったコミットログを見た経験があるはずです。
PRを見ている時は何も問題のないコミットログでしょう。
しかし、未来の自分がコミットログを見返して「なぜ・どんな対応したのか」を読み解くことは可能でしょうか?
このトークでは、コミットログの書き方を変えたことで、改善できたあれこれを発表します。
APIの実装で、Swaggerの定義レビューを導入して、アプリ側・サーバー側の認識を一致させることで手戻りを少なくした話。
導入する前のダメだったところから、導入してどこが変わったのかといったところをアプリエンジニア視点でお話できればと思います。
ピンチズームしながらCellの高さを動的に変えて、同時にスクロールも阻害しないようなUITableViewとCellの連携についての話。
ピンチズームとダブルタップズームを実装し、ピンチズームしながらスクロールもできる、普通の挙動を実現するまでのお話をします。
1画面1UIViewControllerだったのはiOS 4の時代までで、iOS 5からは1画面で複数のUIViewControllerを扱うことが可能になりました。
先日、極端に細かくUIViewControllerを分割して、例えばLineボタン1つでも別のUIViewControllerとして実装する実験をし、Pros/Cons含めて知見が得られましたので、5分でさらっと紹介できればと思います。
DroidKaigi 2018のiOSアプリをリリースしました。DroidくんアイコンやAndroid文字列が含まれることによるReject、初めての特急申請など、iOSアプリエンジニアにとっては日常茶飯事かもしれないことに面食らいつつも奇跡的に当日までに審査が通った時の話をしたいと思います。
iOS 11.3からiOSのSafariでも一部サポートされたPWAを、自作のHPに適用した話をします。
iOS11.3及びiOS 12でのPWAのサポート状況などもご紹介します。
また今からWebサイトをPWA化する人向けに実装の話や、PWA化する上で困った話などをします。
去年の発表から1年、色々な方からのアドバイスによって自社でデザインツールを導入することができました。
さらにデザイナーにxcodeを触ってもらうことで組織的にもデザイン面でもレベルアップ!
swiftを教え、sketchの使い方を教えてもらうなど様々な経験もしました。
今回はその中での様々な挑戦や良かったこと悪かったことを共有したいと思います。
(※タイトルはチャレンジしたことの1つで、メインの話ではありません)
iOS12が発表され、新機能への対応にウズウズしていますか?
iOSアプリは、幸か不幸か新OSへのアップデート可能な端末が多く、新OSの機能に多くのユーザが触れる特性があります。
このことを利用して、担当しているアプリにiOS12からの新機能を入れませんか?
iOS12からの新機能を入れるために、どのように社内への理解を得て、どのようにユーザの期待以上の機能に育て上げるかについてお話します。
こんなことを話そうと思っています。
ライブ配信サービスが流行っている中、WWDC2017で EXT-X-PROGRAM-DATE-TIME
タグのサポートが発表されました。
これにより、複数のAVPlayerに表示されるライブ映像を同期することが可能になりました。
このトークでは、
・複数のライブ映像をズレなく同期再生するノウハウ
・ハマりどころ
・設計のコツ
を実際にプロダクション環境で運用した経験をもとにお話します。
WebTranslateItやOneSkyといったローカライズ管理ツールを使ってプロジェクト内のテキストを管理する方法について説明します。ちょっとした文言の変更をエンジニア以外のメンバーでもできて便利なのですが、実は私の所属するKyashではあまり利用していません。どういう仕組みで実現できるのか、またどういうチームやプロジェクトの進め方で効果を発揮するのかを知った上で、導入するかどうかを検討していただければと思います。
クロージャやRxSwiftを利用していると循環参照によるMemory Leakが発生してしまうことがあります。
実装時やレビュー等で気をつけるのはもちろんのことですが、それでも起きてしまう事があると思います。
その対策としてすぐに検出するための実装についてお話できればと思います。
みなさん、映画「子ぎつねヘレン」を観たことはありますか?
実はこの映画では複数の子ぎつねが代わる代わるヘレンを演じています。気が付いた方も多かったのではないでしょうか?
このセッションでは、Turi Createを使って複数のキツネの写真を学習させて個体の認識を行います。
キツネの写真を撮るために、我々は宮城へと向かった・・・
ARKit1.5から使えるのに全く話題にならないワールド座標の原点更新について話します。
原点更新をするメリットなども合わせて話す予定です。
SDK開発は、アプリ開発と比べると規模が限られる反面、様々なアプリ構成に対応した設計と工夫を要求します。
特に、UIを表示する機能においては、導入先アプリのviewの実装によって大きな影響を受けます。
それらの要求に対して、効率的に且つ再現性を持った手法でテストを実施するにあたって、
XCUITestを利用する方法の提案と工夫を実例交えて紹介します。
スクラムは開発チームを改善し、結果としてプロダクトを改善する事を目的とします。自らが所属する開発チームの改善をすべく、チームの自己組織化、組織的な学習内容の交換などのいくつかのキーワードに基づいて、iOSエンジニア兼スクラムマスターとして活動をしている最近の数ヶ月について、その経過と成果についてのお話をします。
SVG画像はWeb開発でよく使います、iOS でも利用できます。
iOS 12から、OpenType SVGフォントはサポートするようになりました!
(UILabelでカラーフォントを簡単に実装できます。OpenType SVGフォントについて:https://github.com/adobe-type-tools/opentype-svg )
CreateMLやTuriCreateのおかげでiOSエンジニアは機械学習の知識が(あまり)無くてもアプリに組み込むことができるようになりました。
学習、変換などの具体的な方法や、CoreMLはどのような場面で使用するのか、バックエンド側で行う場合とのメリットやデメリットを交えながら話します。