Swiftで書かれたOSSのBDD FrameworkとしてQuickがあります。
Quickは独自のDSLによりテストを構造化できていますが、それをSwiftでどのように実現しているのでしょうか?
本トークでは実際のソースコードを元に、Quickがどのような仕組みで構造化されたテスト・DSLを実現しているのか解説します。
UITextViewを使わずにUITextViewのようなViewを作ることで縦書きテキストエディタを作った話。
UITextViewのあの機能が実はUITextInput由来だったりといった話や、AndroidやUWP, Windows / macOS / Gtkで同様の縦書きエディタを作った経験を交えてお話しします。
私の担当するアプリでは、Auto-Renewable Subscriptionsを長らく運用してきました。
しかし、その運用を続ける上でぶつかった問題も多くありました。
Auto-Renewable Subscriptionsの運用事例を元に、ユーザにとって最高の形でプレミアムな機能を提供するために学んだことについてお話します。
In this talk I’ll introduce our deployment bot that we use at Eureka in the Pairs Japan team.
I’ll give a quick rundown of its features and commands, then show the frameworks used to build it.
ReactorKitは、Fluxからインスパイアされた軽量なフレームワークで、Reduxなどと比べてより簡単に使い始めることができます。Wantedly Visitのアプリでは昨年から導入し、本格的に全面導入をしています。セルクラスでの状態管理や各View Controller間での状態共有など実践的な課題に対してどのように実装していったかについてお話します。
Xcode 10 から Swift 4.2 に変更となりますが、変更点のチェックはお済みでしょうか?
CfPを出す現時点で Swift 4.2 には 18個の Proposal が実装されています。
本トークでは時間の許す限りで、すべての Proposal についてその解説を努めていきたいと思います。
昨年のiOSDCではFatViewController問題に関する概要と、いかに責務分散していくかを話しました。
https://dev.classmethod.jp/smartphone/iosdc-2017-setsuko/
今年のトークではFatVCとはどういうものか簡単な説明をして、実際にありそうなFatVCにメスを入れ、責務分散していく様子をライブコーディングでお伝えします。
節子のその後の成長に乞うご期待!
コーディネーターパターンは、画面間の遷移や表示などの責務をコーディネーターと呼ばれるクラスに任せるデザインパターンです。このトークでは、コーディネーターパターンの実践的な使い方、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を利用する方法の提案と工夫を実例交えて紹介します。