Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
画面遷移 〜iOSとAndroid〜
Search
みっちゃん
August 23, 2024
Programming
0
310
画面遷移 〜iOSとAndroid〜
社内LTで発表した
みっちゃん
August 23, 2024
Tweet
Share
More Decks by みっちゃん
See All by みっちゃん
Android値受け渡し大全 〜 設計を制する者が「渡す」を制す 〜
mitchan
1
6.5k
2024年にチャレンジしたことを振り返るぞ
mitchan
0
270
DroidKaigi初めて登壇したレポ
mitchan
1
200
実践!難読化ガイド
mitchan
0
3.4k
「実践!難読化ガイド」事前予告編
mitchan
0
290
パソコン音痴な私がモバイル開発界隈でぬくぬく成長している理由
mitchan
0
530
ドキュメントから adbコマンドの仕組みを読み解く
mitchan
1
340
2024年は難読化と仲良くなりたい
mitchan
0
390
STORES二年生が得た新しい視点
mitchan
0
310
Other Decks in Programming
See All in Programming
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
290
関数実行の裏側では何が起きているのか?
minop1205
1
660
モダンJSフレームワークのビルドプロセス 〜なぜReactは503行、Svelteは12行なのか〜
fuuki12
0
210
AIコーディングエージェント(Manus)
kondai24
0
150
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
250
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.2k
分散DBって何者なんだ... Spannerから学ぶRDBとの違い
iwashi623
0
180
sbt 2
xuwei_k
0
220
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
290
無秩序からの脱却 / Emergence from chaos
nrslib
2
12k
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
1.2k
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
160
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Code Reviewing Like a Champion
maltzj
527
40k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Site-Speed That Sticks
csswizardry
13
990
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Designing Experiences People Love
moore
143
24k
BBQ
matthewcrist
89
9.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.8k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Transcript
画面遷移 〜iOSとAndroid〜 登壇者:STORES 決済 Androidチーム みっちゃん 1
自己紹介 名前:みっちゃん 所属:STORES 決済 Androidチーム (3年目) ナワバリ:おおさか DroidKaigiのスタッフをしています! アイコンは、ドロイドくん柄のお布団ですよ!♡ →→→
ドロイドくんを吸い込んだバケモノではありません! Twitter: @mimimi_engineer 2
今日はiOSエンジニアもAndroidエンジニアもいますね
私は平和主義者です せっかくなので、、、 AndroidエンジニアとiOSエンジニアが歩み寄れる内容にしたい!ハート そうだ、画面遷移だ。(?) 4
iOSの画面遷移って、なんかいっぱいある。 Push遷移 Modal遷移 Tab遷移
プッシュ遷移 < 設定 目的 A 目的 B 目的 C •
階層型ナビゲーション • 画面ごとにひとつの選択 を行い、次のステップへ 進む • 前のステップへ戻るボタ ンは取り消しの意味を持 たない(その画面での変 更は保存されるべき)
タブ遷移 • 並列型ナビゲーション • 複数の動線を保持しま す。保持する画面の目的 はどれも同じ 同じ目的
モーダル遷移 • 分岐型ナビゲーション • 現在のメインタスクとは 外れた、サブタスクを取 り扱う一時的な画面が Modalで表示 サブタスク A’
メインタスク A
Androidの画面遷移 ActivityがBack stackというところにpushされたりpopされたりしてる 9 ログイン Back stack LoginActivity LoginActivity ホーム画面
だよ HomeActivity 戻る push! HomeActivity Back stack pop! HomeActivity
iOSの画面遷移はAndroidと同様に Back stackにpush・popじゃないの? Push遷移とかModal遷移は見た目が違うだけで 内部的な画面遷移の仕組みは同じなの??
iOSの画面遷移の内部的な仕組み TreeBasedとStackBasedがある
iOSは遷移の種類によって内部の仕組みが違うようだ • モーダル遷移はTreeBasedを使うぽい(多分) • プッシュ遷移はStackBasedを使うっぽい(多分) • Androidの画面遷移に近いのはStackBasedのようだ(知らんけど) (ウ゛、ムズい・・正直なにもわからない・・・・)
結論 iOSでは画面遷移の種類によって内部的な仕組みも違う という意味で、それぞれの遷移の種類を区別しているように思いました。 一方Androidは基本Back stackにActivityを積んだり出したりする仕組みだけで 画面遷移しているので、iOSほど遷移の種類を特別に区別しているわけでは ないのかなと思いました。
おわり
参考資料 • 🔗iOSにおける3つの画面遷移を知る • 🔗タスクとバックスタックについて学ぶ • 🔗What is navigation?