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
380
アラートを効果的に扱おう
KAWASHIMA Yoshiyuki
February 14, 2024
Tweet
Share
More Decks by KAWASHIMA Yoshiyuki
See All by KAWASHIMA Yoshiyuki
SwiftUI Drag & Drop で困った話
ykws
0
62
GitHub PR Milestone Check を使ってみた
ykws
0
55
Kotlin 2.0.20 から標準ライブラリで UUID が使えるようになりました
ykws
1
290
コードの作者がいるうちに聞こう
ykws
2
550
visionOS に備える
ykws
0
260
モバイルアプリの操作方法を疑ってみる
ykws
0
1.6k
Other Decks in Programming
See All in Programming
CSC509 Lecture 04
javiergs
PRO
0
300
プログラミングどうやる? ~テスト駆動開発から学ぶ達人の型~
a_okui
0
190
CSC509 Lecture 03
javiergs
PRO
0
330
CSC305 Lecture 01
javiergs
PRO
1
400
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
980
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.5k
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
340
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
110
クラシルを支える技術と組織
rakutek
0
190
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
680
Чего вы не знали о строках в Python – Василий Рябов, PythoNN
sobolevn
0
160
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
370
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The Pragmatic Product Professional
lauravandoore
36
6.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Into the Great Unknown - MozCon
thekraken
40
2.1k
Become a Pro
speakerdeck
PRO
29
5.5k
Automating Front-end Workflow
addyosmani
1371
200k
Side Projects
sachag
455
43k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
For a Future-Friendly Web
brad_frost
180
9.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
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