A story about how we tried to solve the problem of making users fill in their profiles. Typically these profiles have lots of data and possible states. We solved this problem using ReactorKit.
私の担当するアプリでは、Auto-Renewable Subscriptionsを長らく運用してきました。
しかし、その運用を続ける上でぶつかった問題も多くありました。
Auto-Renewable Subscriptionsの運用事例を元に、ユーザにとって最高の形でプレミアムな機能を提供するために学んだことについてお話します。
ReactorKitは、Fluxからインスパイアされた軽量なフレームワークで、Reduxなどと比べてより簡単に使い始めることができます。Wantedly Visitのアプリでは昨年から導入し、本格的に全面導入をしています。セルクラスでの状態管理や各View Controller間での状態共有など実践的な課題に対してどのように実装していったかについてお話します。
ピンチズームしながらCellの高さを動的に変えて、同時にスクロールも阻害しないようなUITableViewとCellの連携についての話。
ピンチズームとダブルタップズームを実装し、ピンチズームしながらスクロールもできる、普通の挙動を実現するまでのお話をします。
iOS 11.3からiOSのSafariでも一部サポートされたPWAを、自作のHPに適用した話をします。
iOS11.3及びiOS 12でのPWAのサポート状況などもご紹介します。
また今からWebサイトをPWA化する人向けに実装の話や、PWA化する上で困った話などをします。
昨年のiOSDCではFatViewController問題に関する概要と、いかに責務分散していくかを話しました。
https://dev.classmethod.jp/smartphone/iosdc-2017-setsuko/
今年のトークではFatVCとはどういうものか簡単な説明をして、実際にありそうなFatVCにメスを入れ、責務分散していく様子をライブコーディングでお伝えします。
節子のその後の成長に乞うご期待!
私はこの半年、ARの使用事例を集めると共にその拡張した使い方を検討してきました。その中で得たTipsを共有するとともにAREnvironmentProbeAnchor、ARWorldMapなどの効果的な使い方、空間共有の実例などをデモを交え熱く深く語りたいと思います。
アトミックデザインは、デザインコンポーネントの共通化により開発プロセスの効率化を図るためのフレームワークです。Wantedly VisitのiOS Appでは、このフレームワークを導入し、開発の効率化とデザインの一貫性を向上させることができました。このトークでは、具体的にどのようにコンポーネントを分類し、どのようにプロセスを回していったかについて、実際に作成したコンポーネントと共にご紹介します。
TableView, CollectionViewの部分更新の為に、Dwifft, Differ, RxDataSourcesなどのライブラリが開発されて来ました。
効率的な計算のために内部では差分アルゴリズムが使われています。そして、ライブラリを使う上でその原理を理解しておくことはとても重要です。
理解と実装を照らし合わせられれば、ライブラリ選定の役にも立つと思います。
今回、Myersのアルゴリズムについて解説させて頂きます。
バイトルでは、昨年大規模リニューアルを行いました。
このトークでは、バイトルのリニューアルの舞台裏と、失敗事例を交えながら、バイトルアプリでのリニューアル後のヤバいバグの対応方法や、星1の悲しいレビューを如何に回復してきたかについてお話します。
皆さんは、Google AnalyticsとFirebase Analyticsのどちらを使用していますか?
Google AnalyticsからFirebase Analyticsへの以降の注意点について話しします。
具体的には、
・Google AnalyticsとFirebase Analyticsの違い
・大規模アプリに置いてどのように実装し移行を行うか
についてお話します。
Things we tried to do to make a collection of UIViewController(s)
horizontally swipeable with pages, the issues we ran into, + also implementing of "pull-to-dismiss" with interactive transitioning for a downward swipe.
ライブ配信サービスが流行っている中、WWDC2017で EXT-X-PROGRAM-DATE-TIME
タグのサポートが発表されました。
これにより、複数のAVPlayerに表示されるライブ映像を同期することが可能になりました。
このトークでは、
・複数のライブ映像をズレなく同期再生するノウハウ
・ハマりどころ
・設計のコツ
を実際にプロダクション環境で運用した経験をもとにお話します。
Java, Kotlin, Android Studio, adb, Gradle...
それらとの決別、Xcodeとの出会い、Data Bindingの不在、立ちふさがるAutoLayoutの壁
これは、とあるAndroidエンジニアが如何にしてiOSエンジニアにジョブチェンジし、それぞれの違いに苦しみ、時に喜びを感じてきた物語である
ちょっとした気遣いの積み重ねが人に優しく美しいコードを支えます。
「Swift という素晴らしい言語の力を存分に使い、人を導くコードを書く」「UIKit の癖とうまく付き合う」
これらを実現する、今すぐ小さく始められる、コード上での気遣いのテクニックをお話しします。
(iOS 開発における初級者向けセッションです)
気づけばいつのまにか増えているApplication Extension
使ってみると便利なものもありますが、多くの人はあまり触ったことがないのではないでしょうか。
現在存在するApplication Extensionを説明するとともに、全てのApplication Extensionを入れたアプリは作成可能なのかをお伝えします。
今回、初めてカメラアプリの開発を行いましたが、Webにまとまった情報が見つかりませんでした。
AVFoundationを用いてiPhone標準のカメラアプリの各機能を実装する方法を紹介します。
VIPERはiOSアプリ開発において共通の設計パターンの一つになっています。
アプリ全体の設計がしっかりとできる反面、同じような記述を繰り返さなければならないという面もあります。
今回はGenericsを用いることで繰り返しの記述を減らし、よりスッキリとVIPERを使用するための方法をご紹介したいと思います。