家で過ごす時間が増えた今、iPadなどで動画コンテンツを楽しむ機会が増えた方も多いのではないでしょうか。
コンテンツ保護はクリエイターや作品を守るのにとても重要なものです。Appleのプラットフォームで動画を再生するクラスであるAVPlayerは、かつてのQuickTime APIを置き換える形で登場し、以降現在に至るまで機能の充実、拡張、ブラッシュアップが続けられ、時代とともに高品質化する動画形式をサポートし、時にはHLSのように自ら仕様を牽引しながら成長を続けてきました。コンテンツ保護機能についても例外ではなく、WWDC15でDRMとして紹介されたFairPlay streamingを扱うAPIは今や成熟し、昨今の高品質な作品を楽しめる世界の実現に一役買っています。
このトークではAVPlayerの持つコンテンツ保護の仕組みについて幅広く解説します。一言でコンテンツ保護と言っても、トピックは再生や配信だけでなく、ダウンロードやAirPlayなどさまざまです。普段から利用することはない方が大半だと思いますが、いつも楽しんでいる動画を支える技術について「へ〜、そうやって動いているのか」と感じていただき、知識のストックとして役立てていただければ幸いです。
SceneKitはUIViewやCALayerでは難しい3Dやパーティクルの表現を非常に簡単に使用できるフレームワークです。
「3Dモデルのレンダリングなどで使用するフレームワークだから私には関係ない」
「AR系のアプリ開発に携わっているわけではないので使用する機会はなさそう」
このように思っていませんか?
これは大きな間違いです。
SceneKitはUIKitと非常に親和性が高くUIKitにそのままViewとして統合できます。
そして何より、UIKitだけでは実現が難しいリッチな表現(アニメーション)がとても簡単に実装できるのです!
本トークでは「SceneKit × UIKitの導入事例を軸にアプリのクオリティを上げるtips」をご紹介します。
具体的には下記の話を予定しています。
「個人開発でアプリをリリースしていてアプリのクオリティに磨きをかけたい方」や「デザイナーからの無理難題に少しでも立ち向かいたい方」にはぜひ聞いてほしい内容となっています。
明日からすぐに使える強力な武器、手に入れませんか?
iOS 15からSwiftで念願のasync/awaitが使えるようになりました。
これでSwiftでAPI通信を書くときにコールバック地獄の悩みが解消されるようになります。
Flutterでのアプリ開発でもasync/awaitを標準で使用することができます。
Flutterの場合はDartで書く必要があります。
Swiftの場合はiOS 15から使用できるという制限を突破できれば、その柔軟な言語仕様から痒い所に手が届く書き方が可能になります。
Dartの場合はenumの貧弱さなど「Swiftだったらこう書けるのに」という場面が多いです。
このように、Flutterとネイティブアプリとでもasync/awaitの使い心地が変わります。
本セッションではFlutterアプリとネイティブアプリの差からasync/awaitの違いを比較していきます。
WWDCの動画で紹介されているSiri Shortcutsのサンプル、Soup ChefのようにSiriと対話してアプリを操作する機能を作りたい―――
ところが担当しているアプリで「入れるならここしかない!」という機能、想定される入力パターンがとても多く対話設計が困難だった。
Studyplusの勉強記録入力機能にて、Siriとの音声対話により全てのパラメータ入力を受け付ける想定を捨て、利用頻度が多い見込みパターンに絞り込んだSiri ShortcutsのカスタムIntentを実装してリリースしました。
AppleがWWDCで推奨していた望ましい対話設計を途中で諦めて実装を進めたものの、リリースした機能は少なくない一定数のユーザーへ定着しています。
このトークでは、Studyplusの勉強記録入力機能での設計や実装を例としてあげつつ、ここさえ抑えておけばSiri ShortcutsのIntentsを用いたサポートを形にできると考える要点をお話します。
1人でも多くのiOSユーザーが日頃利用するアプリをより快適に操作できるよう、Siri Shortcutsのサポートを行うアプリが少しでも増えるきっかけになれば嬉しいです。