iOSは、SwiftUIやUIKitなど複数のフレームワークで構成される強力なプラットフォームです。私たちのアプリは、これらのフレームワークが公開しているAPIを利用して構築しますが、実際にはまだ見ぬ多くの機能がフレームワークに隠されています。
このトークでは、iOSの隠されたAPIを解き明かし、その活用方法について詳しく説明します。具体的には、以下のポイントに焦点を当てます。
コードレビューの場面で「定量的なレビューが難しい」「レビューアーの育成が停滞している」と感じたことはありませんか?これらは多くのチームが直面する共通の課題です。
本セッションでは、レビューガイドラインを活用した定量的なコードレビュー手法を紹介し、チームの技術力向上を目指します。実際に以下の7つの観点について具体的に説明します。
これらの観点をSwiftデザインパターンの具体例を交えて解説し、定量的なコードレビュー手法を学びます。例えば、設計では責務原則、命名ではモデリングのベストプラクティスを紹介します。
さらに、レビューコメントから技術力を可視化するKPI戦術も紹介します。この手法でチームメンバーの弱点を明確にし、育成やオンボーディングの指標として活用できます。どのようなメトリクスを収集し、分析するかを詳しく説明します。
また、PR-AgentやCodeRabbitを活用したAIコードレビューの手法や、効率化するプロンプトも紹介します。属人的なコードレビュー前にAIを用いることで手戻りを削減し、生産性を向上させる方法を具体的に紹介します。
このセッションに参加することで、効果的なコードレビュー戦術を学び、チームの技術力向上に役立つ実践的な手法を得ることができるでしょう。
あなたが Swift とはじめて出会ったときのバージョンはいくつだったか覚えていますか…?
私たちはそれぞれ異なるバージョンで Swift と出会い、その進化を目の当たりにしてきました。
Swift が一般に発表されたのは2014年の Apple WWDC。その後、Xcode 6 に搭載されて Swift 1.0 が私たちのもとへとやってきました。
モダンで安全、速くてインタラクティブであるとされ、プロトコル指向プログラミングの考え方を持ち、Objective-C との連係によって過去のコードとも共存できるなど、私たちはその魅力に取り憑かれました。
その後 Swift はオープンソース化、破壊的変更、ABI 安定、対応プラットフォームの拡大…… といった歴史を経ながら、「Swift らしさ」という概念も築き上げてきました。
そして2024年、Swift が10周年を迎える今年、バージョンは 6.0 に到達しようとしています。
この LT では Swift 1.0 から 6.0 まで、どのような変化を遂げてきたのかを一気に振り返ります。飲み物を片手に、みなさんと「あぁ、そんなこともあったなぁ!」と懐かしみつつ、みなさんと一緒に Swift の未来への期待を膨らませる時間にします。
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を利用することができます。
「Vimは設定している時が一番楽しいんだよ(ウホーレン)」
有名なテキストエディタのひとつに「Vim(ヴィム)」があります。
私はVimが好きです。もっというとVimから派生した「Neovim(ネオヴィム)」が大好きです。
私はNeovimを使ってiOSアプリ開発できないか、日々模索しています。
Microsoftが公開している「LSP(Language Server Protocol)」や「DAP(Debug Adapter Protocol)」などのプロトコルを使い、かなりいい感じにコーディングできるようになってきました。
NeovimにはLSPやDAPのクライアントプラグインが存在します。
それを使うことで、Appleが公開している言語サーバー(SourceKit-LSP)や、サードパーティ製のLLDB拡張(CodeLLDB)をNeovimから呼び出して使えます。
つまり、Neovimで補完やシンタックスハイライト、ブレークポイントを貼ったデバッグなどが可能になります。
本LTでは、まず私のNeovimによるSwiftのライブコーディングをお見せし、次にそれを実現するための技術をキーワードベースで紹介します。
「必要なものはvimrcだけだったのです。必死に積み上げてきたvimrcは決して裏切りません(ウェルン)」
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コードを書くための考え方も提供します。
Swiftにおけるクロスプラットフォーム対応はこの1年で目覚ましい発展を遂げたトピックです。その中でも、Windows環境で動かすSwift、つまりSwift on Windowsは非常に大きな変化を迎えました。
iOS、iPadOS、macOS向けに開発したアプリケーションやフレームワークをWindowsでも動かせるようにすることは、非常に価値のある取り組みです。
しかし、Swift on Windowsに挑戦するためにはどのように取り組めば良いのかご存知でしょうか?
本トークでは、Swift on Windowsでの開発を始めるためのセットアップ方法、ライブラリの選定や自らによるWindows対応、クロスプラットフォームの設計、デバッグのコツなどを詳しく話します。
具体例として、スタンドアロンのWindowsアプリの開発方法や、Open Broadcaster Software(OBS)のプラグイン開発を例に上げて、実践的な開発方法を解説します。
このトークを通じて、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 サイトを構築できます。
本 LT では、試しに iOS 関連のニュースを定期的に配信する Web サイト「iOS Osushi🍣」を Ignite にリプレイスする過程で得られた知見から以下のポイントについて解説します。
このLTを通じて、Swift と Ignite を使った素晴らしい Web サイトを作る方法を学ぶことができます。
みなさんは Swift で Web サイトを作ったことはありますか?
Ignite は Swift 製の静的 Web サイトビルダーで、表現力豊かでパワフルな API を提供します。これにより、あらゆるデバイスで優れた機能を発揮する、美しい Web サイトを構築できます。
HTMLやCSSの知識がなくても、SwiftUI のような構文を使用して素晴らしいWebサイトを作成できます。
本 LT では、試しに iOS 関連のニュースを定期的に配信する Web サイト「iOS Osushi🍣」を Ignite にリプレイスする過程で得られた知見を紹介します。具体的には、以下のポイントについて解説します。
このLTを通じて、Swift と Ignite を使った素晴らしい Web サイトを作ってみましょう!
Ignite は Swift 製の静的 Web サイトビルダーで、表現力豊かでパワフルな API を提供し、あらゆるデバイスで優れた機能を発揮する美しい Web サイトを構築します。
HTML や CSS の知識がなくても、SwiftUI のような構文を使用して素晴らしい Web サイトを構築できます。
本トークでは、試しに iOS 関連のニュースを定期的に配信する Web サイト「iOS Osushi🍣」を Ignite にリプレイスする過程で得られた知見を紹介します。具体的には、以下のポイントについて解説します。
このトークを通じて、Swift を使った Web サイト構築にチャレンジしてみましょう!
iOSDCをはじめとして、様々なテックカンファレンスが過去のトーク・セッションの動画を公開してくださっています。みなさんはそれらの動画をうまく活用できているでしょうか?
私たちは、そういったカンファレンス動画を少人数で集まって鑑賞する会を開催しています。1〜2ヶ月に一度くらいのペースで活動をしていて、開催回数は25回を超えました。わいわい楽しく開催するのに必要な十分な知見も溜まってきたので、その開催方法をみなさんに共有します。
誰にでも始められる再現性の高いものになっているので、ぜひみなさんも鑑賞会を開いてみてください!
iOSアプリケーション開発におきましては、市場の規模や開発ツールの成熟度、エコシステムの安定性といった観点から「成熟期」を迎えていると思います。そんな中、サービス開始から10年以上継続しているサービスも多くなってきており、フルリプレイスを進めているアプリも多く見受けられるのではないでしょうか。
私自身、現在iOSアプリのフルリプレイスに携わり、仕様の再設計から始まり、UI、UXの再設計、機能実装など、多くの意思決定をチームと共に行って参りました。
本トークでは、実際にリプレイスを進めていく中で、以下の観点を元にお話しさせていただきたいと思います。
・リプレイスを進めていく上での判断基準をどのように設定したのか
・どのように意思決定を進めて行ったのか、
・iOSアプリエンジニアとしての知識を活かし、どのようにチームに貢献をしたか
・成功例、失敗例、悩んだところなど
「そろそろやらなきゃな」、「リプレイス考えているよ」、「すでに始まっている」など、今現在、そして未来のプロダクトのために動かれるすべてのエンジニアの方々に、
ちょっとだけでもプラスになるようなトーク内容としたいと思います。
以上です。
はじめまして、私は特別支援学校の教員をしてます、駒路と申します。今回初めて参加してみました。
参加した理由としては、昨年アプリを作りまして、それをいろんな人に知っていただければと思ったからです。
どのようなアプリかと言うと、AR(拡張現実)と言う技術を使って、目だけで操作ができるアプリをつくりました。
このようなアプリは今までいくつかあったのですが、他のアプリとの1番の違いは、このアプリは、障害を持った生徒のために作られたということが1番の違いです。つまり、「教材」です。
重い障害を持った生徒がどのようなアプリを求めているかどうかを考え、作成に至りました。
また、ギガスクール構想端末(1人1台端末)で動くと言うことも大きな特徴の1つです。重い障害を持った生徒は、iPadをもらっても活用する機会があまりないため、何とか活用する機会を作るために、このようなアプリ作ったという背景もあります。
具体的なアプリは、お絵かきアプリやVOCAアプリになります。視線で絵を描いたり、視線で絵を選択することで、自分の考えを表出することにつながります。
障害を持った方の福祉用アプリという位置づけですが、誰でも簡単に使えるようなアプリになっておりますので、もしご興味がございましたら、ダウンロードしてみてください。
以上です。