コーディネーターパターンは、画面間の遷移や表示などの責務をコーディネーターと呼ばれるクラスに任せるデザインパターンです。このトークでは、コーディネーターパターンの実践的な使い方、DIやディープリンクなどアプリケーションの設計には欠かせない要素とどのように組み合わせて使うのかについてご紹介します。
私はこの半年、ARの使用事例を集めると共にその拡張した使い方を検討してきました。その中で得たTipsを共有するとともにAREnvironmentProbeAnchor、ARWorldMapなどの効果的な使い方、空間共有の実例などをデモを交え熱く深く語りたいと思います。
Genericsは、Swiftの中でも異色のパワーを秘めた記述方法です。しかし、一方では非常に抽象化された概念だけあってか、どこかフワッとしています。関数型言語に馴染みがない、Swiftを使い始めてまもない...など、理由はともあれ、本トークではジェネリクスだけにフォーカスして、Genericsと仲良くやるTipsをお話したいと思います。すでにSwift❤️な人だけでなく、まだGenericsにピンとこない人も是非お楽しみください!
アトミックデザインは、デザインコンポーネントの共通化により開発プロセスの効率化を図るためのフレームワークです。Wantedly VisitのiOS Appでは、このフレームワークを導入し、開発の効率化とデザインの一貫性を向上させることができました。このトークでは、具体的にどのようにコンポーネントを分類し、どのようにプロセスを回していったかについて、実際に作成したコンポーネントと共にご紹介します。
皆さんは、Google AnalyticsとFirebase Analyticsのどちらを使用していますか?
Google AnalyticsからFirebase Analyticsへの以降の注意点についてお話しします。
具体的には、
・Google AnalyticsとFirebase Analyticsの違い
・大規模アプリに置いてどのように実装し移行を行うか
についてお話します。
普段の業務で少し手間だったりすることがあったりしないでしょうか。
もしかするとその作業をCLIルーツにしてしまえば、業務効率化が図れるかもしれません。
本トークでは、Remote Notificationの送信をCLIツールにしたことで通知からの画面遷移テストが手軽にできるようになった話や、🐳cujiraを使ってQA期間中のチケットの状態を可視化しやすくした話をしていきたいと思います。
ReSwiftを用いて開発の中で得られた開発チップスを紹介します。
具体的には以下の内容を話します。
・ReSwiftが向いているアプリ
・Stateの設計について
・Actionの設計について
広く普及しているレイヤードアーキテクチャが紹介される時、それらが持つ汎用的なパターンに注目が行きがちです。しかしアプリ開発の現場で具体的な課題を解決する場合、その裏側にある考え方・そのパターンができるまでの過程が重要です。 本トークは以前別のイベントで発表した「漸進的にViewControllerの肥大化を防ぐ」から更に一歩踏み込んで形式化を試みつつ、パターンを自分たちで作っていくという従来とは別のアプローチを提案したいと思います。
動画や配信サービスの流行している昨今、iOSアプリ側で動画のデコードする需要は大きくなりました。
このセッションではiOS上でVideoToolbox.framework,AudioToolbox.frameworkを使い、mp4のh264/avc・aacをデコードする手法を紹介します。
低レイヤーAPIを利用することで独自の暗号化をかけたり、パフォーマンスやカスタマイズ性の高いデコーダーを実装することができます。
画面遷移は実行時に複数のUIViewController(VC)間で暗黙に情報が伝達されながら、適切なオブジェクトを使ってコントロールされます。 本トークではそういったUIKitの特徴を紐解き、遷移がVCから分離・抽象化されることにより発生するコスト・リスクを整理します。それを前提にできる限りUIKitのレールに乗った画面遷移実装を議論したいと思います。
スマホは多くの人にとって生活に欠かせないものとなってきており、様々な環境、境遇の方がアプリに触れる機会も増えています。
そんな時、アクセシビリティは一つの大きなテーマになってくると思います。
iOSにはGPUの性質を活かしたデザインが様々なところで使われています。シェーダーを使うとグラフィカルでインタラクティブなデザインが可能になります。本トークではGPUの特徴を活かしたグラフィックプログラミングで独自のUIを作る方法について説明します。
SDK開発は、アプリ開発と比べると規模が限られる反面、様々なアプリ構成に対応した設計と工夫を要求します。
特に、UIを表示する機能においては、導入先アプリのviewの実装によって大きな影響を受けます。
それらの要求に対して、効率的に且つ再現性を持った手法でテストを実施するにあたって、
XCUITestを利用する方法の提案と工夫を実例交えて紹介します。
LIFULL HOME'S「かざして検索」は建物をかざすだけでその建物の物件情報を閲覧できるUXを提供する機能です。この機能は新たな住まいの探し方として話題となり、各種メディアで取り上げていただいています。
機能の提案からリリースに至るまでのプロジェクトの話だけでなく、物体検出機能をCoreML+Visionで実装する方法、ARKitと併用する方法、実際のプロダクトに組み込む為のテクニックなどの技術的な要素も交えてお話しします。
最強プログラマが誕生していたかもしれないのに…、開発の魅力を伝えられないエンジニアには大きな責任があります。
初心者にアプリ開発の魅力を知ってもらい、自発的に急成長させる勉強会のノウハウをご紹介します。この勉強会は大学のサークル活動の一環として行ったものです。
RxSwift は非同期処理やデータバインディングを統一的に扱うことができる、強力なフレームワークです。
しかし、強力な反面、何でもできてしまうために、使い方に注意を払う必要があります。
無計画にあちこちで RxSwift を使ってしまうと、メンテナンスが困難な実装になってしまいます。
上手に活用するためには、どのような点に気を配るべきなのかを考えていきましょう。
RxSwift は iOS アプリ開発で広く使われるようになってきました。
しかし、RxSwift は学習コストが高いという問題を抱えています。
ここでは、初学者がつまづきやすく経験者にも誤解されやすい点のひとつ、スケジューラについて詳しく見てみます。
非同期のイベントをうまく扱えるという RxSwift の良さを活かすには、どの処理がどのスレッドで実行されるのかを理解することが大事です。
ARKitは非常に簡単に扱えるよう設計されていますが、同時に柔軟性・拡張性も備えており、iOSの他のフレームワークと連携させることで無限の可能性を秘めています。その中でもカメラから得た画像や設置する仮想オブジェクトに対して、もっとも低レイヤで自由度高く画像処理や描画処理を行える手段がGPUを制御するフレームワークであるMetalです。本セッションではARにおけるMetalの使い所、Metalの基礎、具体的な実装方法を解説します。
ついに発表されたApp Store Connect API。これを使えば何ができるのでしょうか?
公開されている情報からいくつかの業務改善のアイディアをお話しします。
また、実際にApp Store Connect APIクライアントを実装してみて、Swiftで簡単なタスクを記述する方法をお伝えします。
このトークの内容はトーク時にApp Store Connect APIが公開されているかによって変わります。
今の自分の姿に飽きていませんか?
このトークではiPhoneを通じて、あなたを俗世から解放し、バーチャルな世界で生きるための技術について紹介します。