iOSは、SwiftUIやUIKitなど複数のフレームワークで構成される強力なプラットフォームです。私たちのアプリは、これらのフレームワークが公開しているAPIを利用して構築しますが、実際にはまだ見ぬ多くの機能がフレームワークに隠されています。
このトークでは、iOSの隠されたAPIを解き明かし、その活用方法について詳しく説明します。具体的には、以下のポイントに焦点を当てます。
CPUにはSIMDと呼ばれる、一つのCPU命令で複数の値を演算できる高速演算機能が存在し
画像・動画・音声処理などパフォーマンスが求められるシーンで広く活用することができます。
実はSwiftにもSIMDがStandard Libraryに存在しており、VisionOS開発にも用いるRealityKitでも必要になることがあります。
このトークでは、SwiftのSIMDの利用方法を解説し、
パフォーマンスが求められるシーンでSIMDを利用できるようになったり
RealityKitなどでSIMD出てきた際に恐れず正しく使えるようになることを目指します。
具体的には以下のトピックを取り扱います。
・SIMDの基本的な型と役割
・SIMDの演算子と用途
SIMD自体の概要も説明しますのでSIMDを知らない人でも理解できる内容にしています。
また、SwiftのSIMDの設計アプローチも同時に解説することでSIMDへの理解を深めます。
Swiftは演算子オーバーロードやジェネリクスなどを活用し、C++などのSIMDに比べ簡潔にSIMDを利用することができます。
Swiftにおけるクロスプラットフォーム対応は、この1年で目覚ましい発展を遂げたトピックです。その中でも、Windows環境で動かすSwift、つまりSwift on Windowsは非常に大きな変化を迎えました。
iOS、iPadOS、macOS向けに開発したアプリケーションやフレームワークをWindowsでも動かせるようにすることは、非常に価値のある取り組みです。
しかし、Swift on Windowsに挑戦するためにはどのように取り組めば良いのかご存知でしょうか?
本トークでは、Swift on Windowsで開発を始めるための方法と、Swift Packagesで開発したライブラリをWindowsに持ち込む方法についてお話しします。
具体的には、GRDB.swiftやThe Composable ArchitectureをWindowsで動くようにした取り組みから学んだWindows対応の方法や、Swift on Windowsで開発したアプリを配布する際に考える必要があることなどを紹介します。
このトークを通じて、Swift on Windowsを活用して世界のデスクトップOSシェアの7割を超えるWindows向けにプロダクトを提供する新たな選択肢を紹介します。また、自信を持ってクロスプラットフォーム対応のSwiftコードを書くための考え方も提供します。
SF SymbolsはAppleプラットフォーム向けのアイコンライブラリーであり、iOSアプリ開発における強力なツールです。システムフォントにシームレスに統合されるため、コンテキストやユーザーのアクセシビリティ設定に従い、スケールやウェイトの調整もOSが自動でしてくれます。現在は5000を超えるシンボルが存在しており、アニメーション効果により表現豊かなインターフェースの実装が可能となっています。
そんなSF Symbolsですが目的に合ったものが必ず見つかるというわけでもなく、意外とSF Symbolsだけでは事足りないということが多々あります。そこで、シンボルの代わりとして画像を使うとスケールやウェイトの調整ができないため、SF Symbolsを自作するのが最善です!
しかし、SF Symbolsの自作にあたって、ベースラインやカーニングなどのグリフ要素を調整してシステムフォントや他のSF Symbolsに馴染ませたり、パスのアンカーポイントとコントロールポイントの写像を厳守するようにしないと有効なSF Symbolsにならずアプリで使えません。本トークでは私のSF Symbols作製経験を基に自作の極意を紹介します。
話すこと
・自作の手順
・コツ、押さえておくべきポイント
・既存シンボルのカスタマイズ
話さないこと
・シンボルのデザイン手法
「App Clipをご存知ですか?」
iOSの勉強会等で問いかけると、おおよそ参加者の半数は「知らない」と回答します。
世に出て5年は経過しているにも関わらず、App Clipはあまりパッとしない存在でした。
ところが、2024年に入りApp ClipをUI/UXのプロトタイプ共有に活用するアイデアが知られるようになりました。
ざっくり説明すると、App Clipが実質iOSアプリの「一部分」であることを利用し、UIやUXの部分のみを抽出した「ミニアプリ」を配布するというものです。
これまである種面倒な方法で共有を強いられてきたデザイン開発の世界から見ればブレークスルーと言えるものでした。
iPhoneを持っていれば、QR/NFCなどで直ちにデザインの確認ができるのですから、iOS開発に詳しくない方は勿論、「iOSアプリを任意のiPhoneで動かすのがいかに難しいか」を知っているみなさんにとっても、まさに魔法と言えましょう。
本トークでは、AppClipの概要を再確認しつつ、App Clipによるデザイン共有のアイデアを実際にどのようにプロジェクトで活用できるかを見ていきます。
ウェブサービス、画像、あるいはExcelなどでiOSデザインを共有することに課題を感じる方も多いのではないでしょうか?
iOSデザイン共有の最新アイデアが気になる皆様、よろしければぜひお越しください!
Ignite は Swift 製の静的 Web サイトビルダーで、表現力豊かでパワフルな API を提供し、あらゆるデバイスで優れた機能を発揮する美しい Web サイトを構築します。
HTML や CSS の知識がなくても、SwiftUI のような構文を使用して素晴らしい Web サイトを構築できます。
本トークでは、試しに iOS 関連のニュースを定期的に配信する Web サイト「iOS Osushi🍣」を Ignite にリプレイスする過程で得られた知見を紹介します。具体的には、以下のポイントについて解説します。
このトークを通じて、Swift を使った Web サイト構築にチャレンジしてみましょう!
iOSアプリケーション開発におきましては、市場の規模や開発ツールの成熟度、エコシステムの安定性といった観点から「成熟期」を迎えていると思います。そんな中、サービス開始から10年以上継続しているサービスも多くなってきており、フルリプレイスを進めているアプリも多く見受けられるのではないでしょうか。
私自身、現在iOSアプリのフルリプレイスに携わり、仕様の再設計から始まり、UI、UXの再設計、機能実装など、多くの意思決定をチームと共に行って参りました。
本トークでは、実際にリプレイスを進めていく中で、以下の観点を元にお話しさせていただきたいと思います。
・リプレイスを進めていく上での判断基準をどのように設定したのか
・どのように意思決定を進めて行ったのか、
・iOSアプリエンジニアとしての知識を活かし、どのようにチームに貢献をしたか
・成功例、失敗例、悩んだところなど
「そろそろやらなきゃな」、「リプレイス考えているよ」、「すでに始まっている」など、今現在、そして未来のプロダクトのために動かれるすべてのエンジニアの方々に、
ちょっとだけでもプラスになるようなトーク内容としたいと思います。
以上です。