QuickとNimbleというテスト用ライブラリを知っていますか?XCTestをラップし、テストコードをより楽しく、より効率的に書けます。これらはSwiftとObjective-Cの両方から使え、またSwiftPMにも対応し、Linux(サーバーサイドSwift)でも使えます。
コアコントリビューターが、このMixed LanguageかつCross-Platformという特徴をどのように実現・メンテナンスしているかを解説します。
アルゴリズムはコーディング面接以外にも使います。適切なアルゴリズムとデータ構造を使用して、アポイントスケジューラまたはコレクションビューの画像コラージュを実装しているかどうかは、優れたユーザーエクスペリエンスの鍵です。 この講演では、WWDC2018でSwiftでアルゴリズムを使用する際の主要なポイントをいくつか見直します。また、SwiftらしいSwiftで、アプリでアルゴリズムを効果的に適用する方法についても説明します。
WWDC2018のセッション"Desiging Fluid Interfaces"で、アプリ起動・終了のアニメーション中にも別の画面操作ができるよって話があったので、モーダルViewControllerの開閉アニメーションでそれを実現してみました。作り方を紹介します。
タブレット型端末の中でもトップシェアを占めているiPad端末は、現在私たちの日常において無くてはならないものになっています。
私が担当したiPadリニューアル対応では、主要ページの回遊率が2倍、画面によっては3倍に向上しました。
このトークではiPadの縦・横画面対応やiPhoneと異なるUIを導入した話も交えながら、
iPadに最適化した際の設計やテクニックについてお話します。
東急ハンズのレジは内製開発のiPadアプリで動いています。
そんなレジ用アプリはアプリ間で様々な情報を交換しています。
レジ間を飛び交う通信内容や通信方式の現在に至るまでの変遷を紹介します。
アプリ運営者はユーザに役立つ情報を届けるためにプッシュ通知を使っています。
しかし、一介のアプリユーザとして考えたとき、プッシュ通知はあまりいい印象がありません。届きすぎてうるさかったり、とどいた情報があまり役立たなかったりするからです。
このトークではどういう風にすれば、通知を許可してもらえて、長く使ってもらえるのかをiOS12で追加された機能も盛り込みつつサンプルコードを紹介しながら考えていきます。
ついにきた、あなたが心血を注いで開発したアプリのお披露目の日、プレスも来てハンズオンもある。
このデモでビジネスの結果が変わる!重大な1日。
そんな日に向けて、どんな準備をしておけばいいでしょうか?わずかの準備の差が、印象を大きく変えるのです。
iPhoneを使ったメディアアートの展示会で裏方を長年務めてきたスピーカーが、そのテクニックを語ります。
Visual Studio App Centerに統合されたCode Push。
Code PushとReact Nativeを使うと、Over the Airでアプリの変更点を即座にユーザーの手元に届けることができます。
実際にCode Pushを使用してみて得られた知見を紹介します。
チームメンバーは自分1人!
この状況でiOS/Android向けにアプリを開発するためReact Nativeを選択し、その最初のリリースから2年が経ちました。
その間も、様々な新機能の開発やまずかった設計の見直しなどを続けてきました。
React Native導入の経緯から開発中に立ちはだかった課題、マルチプラットフォーム対応で得られた知見を紹介します。
iOS 12の発表を機に、iOS 9やiOS 10などの古いiOSのサポート終了を考えている方も多いと思います。
サポートバージョンはできるだけ少なくして開発コストを減らし、iOS 12対応に集中したいですよね。
このトークでは、古いiOSのサポート終了を考える際の、
新規アプリの立ち上げの際、憤って流行のアーキテクチャを取り入れたものの汎用性に欠け、結局使い慣れた過去のアーキテクチャを混在させるなんてことが往々にしてあります。
FRESHでは1年ほど前に新たに動画配信用アプリの開発を始めました。
その際新たに考案し、ライブラリ化したVueFluxがいかに私達を楽にしてくれたのかを、動画視聴用アプリで採用していたMVVM+ReactiveSwiftと比較しながら、お話しします。
色んなアプリを使っていて「メニューがなぜモーダル表示?ドロワー表示の方が良いのでは?」など、UIに疑問を覚えたことありませんか?
しかしUIを考える側になってみると、ユーザからUIの指摘を受けるなんてこと、よくあるのではないでしょうか。
私はWWDC18に参加してAppleのデザイナーに直接質問してきました。そこで得た知見をもとに「〇〇の場合に理想的なUIは△△ではないか」という話をしたいと思います。
RxSwiftを採用したプロジェクトでは、多くの関数をObservableを返す関数として実装します。Observableを返す関数は通常の関数と違い、ユニットテストに少し工夫が必要になります。
このトークでは、日々Observableな関数に対してユニットテストを書いている中で見えてきたテストのパターンについてご紹介します。
※関連ライブラリ
Quick、Nimble、RxTest、RxBlocking、Mockingjay
WWDC2018にて「Automatic Strong Passwords and Security Code AutoFill」というセッションが行われました。
かゆいところに手が届くその内容に喜んでいる方も多いのではないでしょうか。
このトークでは、UITextContentTypeによってどのような入力補完が出来るのかについての見直しと、
新たにiOS12から可能になる2つの種別に関して可能な限り紹介をします。
アプリ内のコードにおいて、サーバー連携とUIレイヤーを支えるModelレイヤーについて話します。安定したUIを実現するためにMVVMやFluxなどが存在していますが、それらはバックエンドとなるModelレイヤーについては詳しくは言及していません。ですが、大きなアプリケーションではModelレイヤーの設計と管理が要になります。今回はPairs 海外版iOSアプリで実際に使用している設計をアイデアのひとつとして皆さんに共有します。
普段の業務の中ではどうしてもリリース優先になってしまい、
リファクタリング等の改善活動になかなか時間を割けていない方も多いのではないでしょうか?
弊社では毎月2日間、継続的に開発できるよう開発環境の改善を行っています。
おかげで今ではテストコードを用いたテストができるようになりました。
今回はその中で効果のあった改善施策と、その改善活動をチーム全体で推進するためのポイントについてご紹介します。
セッション数は少なかったですが、今年のWWDCではWeb関係の大きなアップデートがいくつかありました。
その中からJS関係のアップデート、ITPの検証結果、実際現場で使っているデバッグ方法などをご紹介します。
はい!そこのあなた!
Firebaseの話かと思った?あれもWebSocket使ってるもんね!
違います!自社でWebSocket通信用サーバーを立てて、WebとiOSアプリで同時対応した話です!
HTTP通信じゃだめなんです!WebSocketでやる必要があるんです!
決して正解ではないかもしれないですけど、プロダクトに導入して大変な思いをした経験を話します!!
PWAに代表されるように、昨今のWeb技術もネイティブに迎合するように着実に進化しています。Appleもその流れに沿ってSafariにServiceWorkerやWebRTCを実装しています。しかし、iOSアプリエンジニアにとってブラウザはSafariだけではありません。本トークではWeb最新技術が三種類あるiOSブラウザへの対応状況と、ブラウジングとは違ったWebViewの使用例を紹介します。
昔々、勉強がてら作っていた個人アプリを最近リニューアルしました。データは元々アプリ内のSQLiteに保存しており、それらを全てFirebaseに移して、コードは全てSwiftで書き直し、勉強の為にRxSwiftを導入しました。いざリリースしたら「元に戻して」とレビューや問い合わせを頂いてしまい今後どの様に対応していくのか。