最近、アクセシビリティという言葉をよく聞くようになりましたが、実際に導入、考慮をしているアプリはまだまだ少ない現状です。
身近なもので言うと、文字サイズの対応もアクセシビリティの一つです。
※この概要でのアクセシビリティとは、「身体の状態や能力の違いによらず様々な利用者がアプリやサービスを円滑に利用できること」と定義します。
アクセシビリティを考慮することによるメリットは多くあります。 (例) 利用できる人が増える...
今回のトークで話す内容
このトークの後には、明日から導入できるような話をしますので、アクセシビリティ考慮をしたいと思っている方の力になれたらなと思います!
FlutterエンジニアをやっていてSwiftにも挑戦してみたい! iOSエンジニアをやっていてFlutterに挑戦してみたい!ってことありませんか?
今回の登壇で話す内容
今回の登壇は、現役大学生が長期インターンなどの実際の現場で経験した話に基づいてお話しさせていただきます。
FlutterからiOSエンジニア、iOSからFlutterエンジニアに移行する際に、不安や障壁の解消をしたいと思います!!
Core Dataを用いると、背後のデータベース(SQLite)の知識がなくとも、簡単にデータの永続化を行うことができます。しかし、SQLiteの基本知識があればより高性能で安定したアプリを構築できるでしょう。今後、他のSQLiteベースのデータフレームワークを使用する際にも、これらの知識は非常に役立つはずです。
以下のようなトピックに興味がある方は、ぜひ一緒に探求しましょう!
残りはトークで!
MapKitとGoogle Maps SDKは、地図機能を提供するアプリケーションにとって重要なフレームワークです。それぞれに独特な機能やパフォーマンスがあり、使用状況や要件によって最適な選択は異なります。
本トークでは、これら二つのフレームワークを徹底的に比較し、それぞれの独自性、長所、短所、そして適用シーンの詳細や実際のアプリケーション開発での具体的な事例を解説します。フレームワーク選択の際に影響を及ぼす可能性のある要素、例えばアプリのユーザーインターフェース、パフォーマンス要件、開発の複雑さ、コストなどを考慮することで、アプリケーションの要件と目標に最適なフレームワークの選択をサポートします。
このトークを通じて、フレームワーク選択のプロセスをより理解し、現時点での最適な選択を提示します。
SwiftUIは素晴らしいと思いますが、実際の開発現場では、Storyboard,InterfaceBuilder,UIKitを用いての開発の方が、生産性を上げると感じています。
SwiftUIはわかりやすく、コードでの構築になりますので、実装のしやすさを考慮して設計されており、難易度だけでいうと、UIKitを用いて、コードでの実装をするよりは簡易であると感じます、また読みやすさでもSwiftUIでの実装は優れておりますが、やはりコーディングを行うという事は避けられません。
Storyboardでしたら、D&D💪🏿でマウスでレイアウトを構築できます。
また、レイアウトも、Autolayoutを用いてマウスで構築できます。
その点を鑑みますと、読んで構築するUIより、見て構築するUIの方が楽ではないでしょうか?
Flutterを使っていて、UIの構築する際に、SwiftUIぽい書き方をしたいと思いませんか?
最近の海外でFlutterをSwiftUIぽい書き方をするのが流行っています。その導入方法からメリット・デメリットを解説していきたいと思います。
今回はSwiftUI経験者、FlutterでSwiftUIぽい書き方を導入してみたい人向けの内容です。
FlutterでSwiftUIぽい書き方をするメリット
このトークがSwiftUIの障壁、Flutterの障壁をなくすことができたら幸いです。
Xcode Cloudは、2022年夏にリリースされたAppleのCI/CDです。
これまでCircle CIで行っていたテストやApp Distribution、AppStoreConnectへの配信を全てXcode Cloudに移行しました。
移行したことで、アプリのテストや配信がよりスムーズになりました。
さらに、アプリの配信をTestFlightに移行し、効率化のためのAppStore Connect APIを使うスクリプトも作成しました。
しかし、スナップショットテストやdSYMのアップロードなど、移行には一筋縄で行かない点もたくさんありました。
他のタスクで使用しているCIについても触れながら、Xcode Cloudのメリットについてお話しします。
Xcode Cloudを使いこなして、より安価でスムーズな開発を実現しましょう!
Hapticsとは、iPhoneを操作しているときに「ポコッ」と振動するアレです(「ポポポポ」とか「ブーーーン」とかもあります)。
UXを向上させたりアプリのらしさを演出したりできる強力なフィードバックツールですが、その扱い方は公式ドキュメントを軽く読むだけでは理解できないほど難解です。
このトークを聞いて、あなたのアプリをhaptics付きのより魅力的なものにしましょう。
このトークでは以下のことをお話をします:
このトークを聞くと以下のことができるようになります:
昨年のiOSDC JapanではARKit 6のLocation Anchorをはじめとする“Visual Positioning Service/System”のVPSの世界を紹介しました。
その後、Geospatial Creatorが登場したことにより、VPSを生かしたコンテンツ作りがより身近に、よりお手軽になりました!
文字通り街中をキャンバスとして、現実世界とバーチャルな世界を統合できます!
VPSの最新動向にあわせて、Geospatial Creatorの基礎からVPSコンテンツの具体的な制作方法までお伝えします。百聞は一“体験”にしかずなので、iOSDC Japanの会期中は、実際に会場付近などでGeospatial Creatorを使ったVPSコンテンツをお試しいただけます!
iOSDC Japan 2020、2021で発表してきた『iOSではじめるWebAR』シリーズの最新版です!
先日のWWDC23でVision Proが発表されましたが、あわせてSafariのレンダリングエンジンであるWebKitがWebXR Device APIに対応することも公開情報として発表されました。
これまでSafariがWebXR Device APIへの対応を明言してこなかったことも、3Dモデルを表示するAR Quick Lookやmodel要素もすべてはこのVision Proを見据えてのものだったと今ならわかります。
Safariが歩んできたWebXRのこれまでと現状、そしてきたるべきSpatial Webの世界を見据え、想定されるWebXRのこれからをお伝えします。
Swift Concurrencyは、強力な型システムによって、同時並行処理時のデータ競合防止の静的な保証を目標としています。
しかし、クラッシュの発生や期待したスレッドで処理が実行されないなど、実際はさまざまな問題が起きます。これは、デフォルトではSwift6未満で完全なSendabilityチェックが行われない、既存のシステム(DispatchQueueなど)に対してコンパイラが静的に安全性を保証できない、などの原因が考えられます。
そこで、これを補完するための多くのツールが、公式から提供されています。
本トークでは、
「事前に防ぐ」
「問題をすぐに検知する」
「原因を調査する」
という3つのポイントで活用できる、さまざまなツールについて見ていきます。
Swift Concurrencyをより安全に利用し、既存のコードとよりスムーズに連携するためにできることを一緒に整理してみませんか?
iOS 16で登場したGridは、VStackやHStackを使用した従来の2次元のUIレイアウト手法に比べ、より柔軟かつ効率的なUIの実装を可能にします。特に異なるデバイスや画面サイズでの表示において力を発揮するでしょう。しかしながら、VStackやHStackを使用した実装で十分対応できているのにあえてGridを使う必要があるのか?既存の実装をわざわざGridに置き換える価値があるのか?という疑問を抱くかもしれません。
本トークでは、Gridを使用して実現できる様々な可能性、それぞれの実装方式におけるメリットとデメリットについて、同じデザインを従来のVStackやHStackの実装とGridを用いた実装で実現し、比較しながら考察していきます。
新規事業を開始する際、技術選定は重要な意思決定の一つとなります。アプリ開発において、選択した技術は事業の成果を大きく左右する可能性があります。この記事では、昨年リリースした「クラシルリワード」のiOSアプリ開発における技術選定の過程を紹介します。
技術選定は新しい技術の採用可能性、チームメンバーのスキルセットなど様々な要因により変動します。今回のトークを通して我々の経験が、皆様の新規事業開発やアプリ開発における技術選定に役立てば幸いです。
OpenAPIを利用することでAPIの設計・ドキュメント化・テストなどを効率的に管理することが可能です。WWDC2023でのswift-openapi-generatorの登場により、iOS開発におけるOpenAPIの活用に新たな可能性が広がりました。このトークでは、実際のプロダクト開発におけるOpenAPIの利用事例として、API ClientのConcurrency化やRequestとResponseの自動生成などを取り上げます。また、swift-openapi-generatorの登場によって、Swift Package Pluginを使用したクライアント側のコード生成の自動化など、開発プロセスの変化についても解説します。
KotlinMultiplatformForMobileの導入によりアプリ開発者はビジネスロジックの差異という問題を乗り越える事が出来ましたが、一方で独自の問題も待ち構えています。
KMM内でerrorがthrowされそれがKMM内で適切にハンドリングされなかった場合にアプリはクラッシュし、おまけにそのクラッシュはkonan::abort()という一つのクラッシュに纏められてレポートされます。
どの処理でクラッシュしたか詳細なStackTraceは提供さておらず、この状態からクラッシュを解消するための道筋を立てる事は困難でしょう。
本セッションではそのような原因不明な闇のクラッシュに対し、起きる前後それぞれで出来ることを考えていきます。
40分拡大版ではそも何故Kotlin側でerrorがハンドリングされない設計になってしまうのか、検査例外に関する歴史を踏まえた考察もしていきます。
KotlinMultiplatformForMobileの導入によりアプリ開発者はビジネスロジックの差異という問題を乗り越える事が出来ましたが、一方で独自の問題も待ち構えています。
KMM内でerrorがthrowされそれがKMM内で適切にハンドリングされなかった場合にアプリはクラッシュし、おまけにそのクラッシュはkonan::abort()という一つのクラッシュに纏められてレポートされます。
どの処理でクラッシュしたか詳細なStackTraceは提供さておらず、この状態からクラッシュを解消するための道筋を立てる事は困難でしょう。
本セッションではそのような原因不明な闇のクラッシュに対し、起きる前後それぞれで出来ることを考えていきます。
ここ数年でCombineやSwift Concurrencyが登場し、WWDC2023ではObservationの発表もありました。
現在RxSwiftに代わる様々な選択肢があります。
一方で実際のプロダクトへの導入となるとOSバージョンの制約や学習コストなどの課題もあります。
CombineまたはSwift Concurrencyだけで対応する、何かと何かを併用する、そもそもリアクティブプログラミングが必要かなど結局どうすべきか悩んでいる方も多いのではないでしょうか。
このセッションでは、最新のトレンドや今後の展望を踏まえながら選択肢を比較し、スキルマーケット『ココナラ』アプリにおける具体的な導入方針についてお話します。
移行先の選択肢や考え方・テスト設計について具体的な例を学ぶことで、既存プロジェクトにおける移行や新規プロジェクト・個人開発でどの技術を用いるかの判断材料を得られます。
ついにSwift5.9からMacroが使用できるようになります。
SwiftのMacroはCのプリプロセッサマクロのように単純な文字列置換ではなく、ASTを元に任意のコードを展開することができるものです。
Macroの登場により、ボイラーテンプレートは消えさり、あなたのSwiftライフはより快適になること間違いなしでしょう。
そこで本トークでは、Macroを実装するのに必要なSwiftSyntaxの基礎をはじめ、さまざまなMacroの案を考え、実装していきます。
内容:
私たちのチームではSwift Concurrency対応やSwiftUIの導入に向けてFluxベースのアーキテクチャを脱却し、全面的なリアーキテクチャを進めています。
そんなチームである日突然リアーキ担当に任命された新卒2年目の私。
Swift Concurrencyヨクワカラナイ、大規模なプロジェクト初めての若手エンジニアがどのようにしてプロジェクトを推進したのか、その挑戦を5分で紹介します。
本トークでは若手がリーダーシップをとって大きなプロジェクトを推進する際の視点から、以下の内容に焦点を当ててお話しします。
バグのない安全なプログラムであることを確認する方法の一つに、UnitTestがあります。
適切に構築されたUnitTestがあれば、安全なプログラムであることを何度でも高速に確認することができます。
昨今ではXcode CloudなどのCI/CDツールの導入が容易になり、Unit TestをCI上で実行することでプロダクトの品質を高く保ったまま開発を進めることができます。
UnitTestはiOSエンジニアであれば比較的気軽に始められる一方、UnitTestでどこをテストしなければならないのかなど、テストに関する考え方を抑えておかないと適切にUnitTestが構築できない場合があります。
本セッションでは適切なUnitTestの構築のために必要なテスト戦略と、UnitTestの考え方についてお話し、実装について触れます。
皆様がUnitTestに少しでも興味を持っていただければ幸いです。