Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アラートを効果的に扱おう
Search
KAWASHIMA Yoshiyuki
February 14, 2024
Programming
1
360
アラートを効果的に扱おう
KAWASHIMA Yoshiyuki
February 14, 2024
Tweet
Share
More Decks by KAWASHIMA Yoshiyuki
See All by KAWASHIMA Yoshiyuki
SwiftUI Drag & Drop で困った話
ykws
0
32
GitHub PR Milestone Check を使ってみた
ykws
0
29
Kotlin 2.0.20 から標準ライブラリで UUID が使えるようになりました
ykws
1
240
コードの作者がいるうちに聞こう
ykws
2
520
visionOS に備える
ykws
0
230
モバイルアプリの操作方法を疑ってみる
ykws
0
1.5k
Other Decks in Programming
See All in Programming
Bedrock × Confluenceで簡単(?)社内RAG
iharuoru
1
120
In geheimer Mission: AI Agents entwickeln
joergneumann
0
110
AIコーディングエージェントを 「使いこなす」ための実践知と現在地 in ログラス / How to Use AI Coding Agent in Loglass
rkaga
4
1.3k
知識0からカンファレンスやってみたらこうなった!
syossan27
4
200
REALITY コマンド作成チュートリアル
nishiuriraku
0
120
Ruby で作る RISC-V CPU エミュレーター / RISC-V CPU emulator made with Ruby
hayaokimura
5
1k
20250429 - CNTUG Meetup #67 / DevOps Taiwan Meetup #69 - Deep Dive into Tetragon: Building Runtime Security and Observability with eBPF
tico88612
0
180
Storybookの情報をMCPサーバー化する
shota_tech
2
1k
ウォンテッドリーの「ココロオドル」モバイル開発 / Wantedly's "kokoro odoru" mobile development
kubode
2
530
Jakarta EE Meets AI
ivargrimstad
0
880
VitestのIn-Source Testingが便利
taro28
8
2.4k
ASP.NETアプリケーションのモダナイゼーションについて
tomokusaba
0
260
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
Gamification - CAS2011
davidbonilla
81
5.3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
The Cost Of JavaScript in 2023
addyosmani
49
7.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
How STYLIGHT went responsive
nonsquared
100
5.5k
Practical Orchestrator
shlominoach
187
11k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Transcript
YUMEMI.grow Mobile #10 2024.2.14 ΞϥʔτΛޮՌతʹѻ͓͏ KAWASHIMA Yoshiyuki
͍͑ͨ͜ͱ • Ϣʔβ͕ΞϥʔτΛܰࢹ͠ͳ͍Α͏ʹ
ใݯ ώϡʔϚϯΠϯλʔϑΣʔεΨΠυϥΠϯ https://developer.apple.com/jp/design/human-interface-guidelines/ ϚςϦΞϧσβΠϯ https://m3.material.io/
લఏ ৄࡉώϡʔϚϯΠϯλʔϑΣʔεΨΠυϥΠϯɺϚςϦΞϧσβΠϯ ʹॻ͍ͯ͋Γ·͢ɻ ࠓճͷൃදͰɺ۩ମྫͱݟൺͳ͕ΒཧղΛਂΊ͍͖͍ͯͨͱࢥ͍ ·͢ɻ
༻ޠͷཧ • ώϡʔϚϯΠϯλϑΣʔεΨΠυϥΠϯ Alert • SwiftUI alert • UIKit UIAlertController
• ϚςϦΞϧσβΠϯ Dialogs • Flutter AlertDialog • Jetpack Compose Dialog • Android View AlertDialog
ώϡʔϚϯΠϯλʔϑΣʔεΨΠυϥΠϯ
Ξϥʔτ߇͑Ίʹ͏
https://developer.apple.com/jp/design/human-interface-guidelines/alerts Ξϥʔτॏཁͳใͷఏࣔʹ͑Δͱ͍͑ɺͦͷͨͼʹϢʔ βͷૢ࡞͕தஅ͞Ε·͢ɻͲͷΞϥʔτʹඞͣෆՄܽͳใ ༗༻ͳΞΫγϣϯؚ͕·Ε͍ͯΔΑ͏ʹ͠ͳ͍ͱɺϢʔβ͕ ΞϥʔτΛܰࢹ͢ΔΑ͏ʹͳΓ͔Ͷ·ͤΜɻ
ϚςϦΞϧσβΠϯΨΠυϥΠϯ
None
https://m3.material.io/components/dialogs/guidelines#c395b8a7-a125-42f4-9d19-77f535b2c873 ΞϓϦͷ௨ৗͷૢ࡞Λதஅ͢ΔରɺಛఆͷϢ ʔβʔλεΫɺܾఆɺ͘͠ಉҙʹඞཁͱͳΔ ॏཁͳใʹ Dialogs Λ༻͍ͯͩ͘͠͞
https://m3.material.io/components/dialogs/guidelines#c395b8a7-a125-42f4-9d19-77f535b2c873 ·ͨத͘Β͍ͷ༏ઌͷใʹ Dialogs ༻͠ ͳ͍Ͱ͍ͩ͘͞ɻΘΓʹ Snackbar Λͬͯͩ͘ ͍͞ɻফڈͰ͖Δ͠ɺࣗಈతʹඇදࣔʹͰ͖·͢
ώϡʔϚϯΠϯλʔϑΣʔεΨΠυϥΠϯ
https://developer.apple.com/jp/design/human-interface-guidelines/alerts#iOS-iPadOS Ϣʔβ͕ҙਤͨ͠ΞΫγϣϯʹؔ࿈͢Δબࢶ Λఏࣔ͢Δ߹ɺΞϥʔτͰͳ͘ΞΫγ ϣϯγʔτΛ༻͢Δ
https://developer.apple.com/jp/design/human-interface-guidelines/alerts#Best-practices Ωϟογϡ͞ΕͨσʔλϓϨʔεϗϧμͷσʔλ Λදࣔͨ͠ΓɺϢʔβͷૢ࡞Λதஅ͠ͳ͍ܗͰ ʹ͍ͭͯઆ໌͢ΔϥϕϧΛදࣔ͢Δ͜ͱ͕Ͱ͖·͢
۩ମྫ
Airplane • Ωϟογϡ͕͋ΕΩϟογϡ Λදࣔʢ͓ͦΒ͘ͷΩϟο γϡͷ༗ແʣ Apple Weather App
Airplane Apple Music
Airplane Apple Home
Airplane Apple Books
ϚςϦΞϧσβΠϯΨΠυϥΠϯ
None
https://m3.material.io/components/dialogs/accessibility#a253a077-28be-4e66-b89e-a328db8a40dc ॏཁͰͳ͍ใɺΞϓϦͷίϯςϯπͷ ྲྀΕͷதͰଞͷ UI ͬͯఏ͍ࣔͯͩ͘͠͞
https://m3.material.io/components/dialogs/accessibility#a253a077-28be-4e66-b89e-a328db8a40dc μΠΞϩάʹॏཁͰͳ͍ใΛஔ͘͜ͱΛ ආ͚͍ͯͩ͘͞
ίϯςϯπ
؆͔ܿͭ໌֬ʹঢ়گΛઆ໌͢ΔλΠτϧʹ͢Δ
https://developer.apple.com/jp/design/human-interface-guidelines/alerts#Content Ϣʔβʹঢ়گΛૉૣ͘ཧղͯ͠Β͏ඞཁ͕͋ΔͷͰɺͳදݱΛආ͚ɺ࿙Εͳ͘۩ମతʹهड़͠· ͢ɻͰ͖ΔݶΓɺى͖ͨ͜ͱɺى͖ͨঢ়گɺى͖ͨཧ༝ʹ͍ͭͯઆ໌͠·͠ΐ͏ɻʮΤϥʔʯʮΤ ϥʔ329347͕ൃੜ͠·ͨ͠ʯͷΑ͏ͳɺ༗༻ͳใΛୡ͠ͳ͍λΠτϧʹ͠ͳ͍Ͱ͍ͩ͘͞ɻ2 ߦΛ͑ͯંΓฦ͞ΕΔΑ͏ͳ͗͢ΔλΠτϧආ͚·͢ɻλΠτϧ͕શͳจͰ͋Δ߹ɺη ϯςϯεελΠϧͷେจࣈԽʢӳޠͷ߹ʣΛ༻͠ɺదͳจه߸Λ͚·͢ɻஅยతͳจΛλ Πτϧʹ͢Δ߹ɺλΠτϧʹ;͞Θ͍͠දݱʹ͠ɺจه߸͚ͳ͍Α͏ʹ͠·͢ɻ
Θ͔Γʹ͍͘
ຊʹ༗ҙٛͳΤϥʔϝοηʔδΛॻ͘ʹ
“࣮֬ʹΰϛശΛۭʹ͢Δ”Λ ༻͢Δͱɺ“ΰϛശ”ʹ͋Δ ߲͕શʹফڈ͞Ε·͢ɻ શʹফڈͯ͠ΑΖ͍͠Ͱ ͔͢ʁ ؆͔ܿͭ໌֬ʹঢ়گΛઆ໌͢ΔλΠτϧ https://postd.cc/how-to-write-an-error-message/
None
https://m3.material.io/components/dialogs/guidelines#0c ff 8b6b-d4f3-4442-8194-31212f5d1a12 ͜ͷμΠΞϩάͷλΠτϧɺ۩ମతͳ࣭Λ ఏࣔ͠ɺϦΫΤετʹؔΘΔ༰Λ؆ܿʹઆ ໌͠ɺ໌֬ͳΞΫγϣϯΛఏڙ͠·͢
https://m3.material.io/components/dialogs/guidelines#0c ff 8b6b-d4f3-4442-8194-31212f5d1a12 μΠΞϩάͷλΠτϧͰᐆດͳ࣭Λ͠ͳ ͍Ͱ͍ͩ͘͞
͍ͭΞϥʔτΛͬͨΒྑ͍͔ʁ
ΞϓϦͰͷόϥϯεͳͷͰਖ਼ղͳ͍
ΞϓϦͰΞϥʔτΛ૿͢͜ͱʹͳͬͨΒ ଞͷΞϥʔτ͕ඞཁ͔ઈ͑ͣݟ͕͠ඞཁ
ݸʑͷΞϓϦ͕ରԠ͢Δ͚ͩͰෆे
·ͣݸʑͷΞϓϦ͔ΒରԠΛ ෭࣍తޮՌͰϨϏϡʔͷ৺͕Α͘ͳΔ ʢͣʣ
͓ΘΓʹ ڞ௨ݴޠΛ࡞Ζ͏ ώϡʔϚϯΠϯλʔϑΣʔεΨΠυϥΠϯ https://developer.apple.com/jp/design/human-interface-guidelines/ ϚςϦΞϧσβΠϯ https://m3.material.io/
͓ΘΓʹ هࣄհ iOS ʹ͍ͭͯͷ·ͱΊ https://zenn.dev/yumemi_inc/articles/effective-alert ݩωλͷεΫϥοϓ https://zenn.dev/ykws/scraps/1bd34b3f414206