Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[ABC2024Summer]Flutter UX Improvements + α
Search
Kenichi Kambara
June 29, 2024
Technology
0
560
[ABC2024Summer]Flutter UX Improvements + α
ABC 2024 Summerの講演資料"Flutter UX Improvements + α"です。
#abc2024s #日本Androidの会 #flutterjp #flutter
Kenichi Kambara
June 29, 2024
Tweet
Share
More Decks by Kenichi Kambara
See All by Kenichi Kambara
[爆速開発LT #2] Codex-Powered Mobile Apps Development - Deep Dive Edition -
korodroid
0
29
[DevFest Singapore] Getting Started with Mobile Development Using Generative AI
korodroid
0
42
[FlutterAlliance]Designing Borderless UX in Flutter: Insights from 50 Countries
korodroid
0
17
[Codex Meetup Japan #1] Codex-Powered Mobile Apps Development
korodroid
2
1.3k
[AgentConHelsinki2025]From Assistant to Agent: How Developer Agents Reshape Mobile Workflows
korodroid
0
16
[FlutterTokyo#10]In-App Language Switching in Flutter
korodroid
0
31
[potatotips #92]Integrating Quick Settings Tiles into Your Android App
korodroid
1
150
[ABC2025Spring]Code Less, Build More: A Practical Guide to Mobile Apps with Generative AI
korodroid
0
210
[DevTalksRomania]Building Augmented Reality Experiences with Flutter and AI-Powered Development
korodroid
0
25
Other Decks in Technology
See All in Technology
AWSセキュリティアップデートとAWSを育てる話
cmusudakeisuke
0
250
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
120
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
6
1.5k
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
240
MapKitとオープンデータで実現する地図情報の拡張と可視化
zozotech
PRO
1
140
手動から自動へ、そしてその先へ
moritamasami
0
300
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.5k
生成AIでテスト設計はどこまでできる? 「テスト粒度」を操るテーラリング術
shota_kusaba
0
710
AWS CLIの新しい認証情報設定方法aws loginコマンドの実態
wkm2
6
710
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
210
品質のための共通認識
kakehashi
PRO
3
250
初めてのDatabricks AI/BI Genie
taka_aki
0
120
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Why Our Code Smells
bkeepers
PRO
340
57k
Speed Design
sergeychernyshev
33
1.4k
Writing Fast Ruby
sferik
630
62k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Mobile First: as difficult as doing things right
swwweet
225
10k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Making Projects Easy
brettharned
120
6.5k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Transcript
2024.06.29 ਆݪ ݈Ұ (@korodroid) ABC 2024 Summer Flutter UX Improvements
+ α
About me •Mobile App Development •Speeches (e.g. 16 Int’l/100+ Domestic)
•Writings (e.g. 9 Dev Books) •[Of fi cial] Evangelist at NTT TechnoCross •[Private] iplatform.org ਆݪ ݈Ұ (X:@korodroid) NEW NEW
Agenda •FlutterΞϓϦʹ͓͚ΔUXվળࣄྫ •ੜAIΛ׆༻ͨ͠FlutterΞϓϦ։ൃೖ
FlutterΞϓϦʹ͓͚ΔUXվળࣄྫ
Sekaiphone Pro(Flutter/Kotlin/Swift) About my Flutter product (Private works)
ߨԋςʔϚͷഎܠ 47 Countries
1. ૢ࡞ੑ 2. νϡʔτϦΞϧ 3. ίʔνϚʔΫ 4. ΞμϓςΟϒϨΠΞτ 5.
֎෦σόΠε׆༻ 6. ଟݴޠαϙʔτ(ϩʔΧϥΠζ) 7. ଟݴޠαϙʔτ(RTLݴޠ) FlutterΞϓϦʹ͓͚ΔUXվળͷ࣮ྫ
1. ૢ࡞ੑ 2. νϡʔτϦΞϧ 3. ίʔνϚʔΫ 4. ΞμϓςΟϒϨΠΞτ 5.
֎෦σόΠε׆༻ 6. ଟݴޠαϙʔτ(ϩʔΧϥΠζ) 7. ଟݴޠαϙʔτ(RTLݴޠ) FlutterΞϓϦʹ͓͚ΔUXվળͷ࣮ྫ
1. ૢ࡞ੑ
ղܾࡦ: TexSpan(&TextStyle)ͷར༻
2. νϡʔτϦΞϧ
ղܾࡦ: intro_sliderͷར༻ https://pub.dev/packages/intro_slider
ίʔυྫ
ίʔυྫ
Tips. ΧελϚΠζ
3. ίʔνϚʔΫ
ղܾࡦ: tutorial_coach_markͷར༻ https://pub.dev/packages/tutorial_coach_mark
Ϣʔεέʔε
ίʔυྫ
ίʔυྫ
ίʔυྫ
Tips. ΧελϚΠζ
4. ΞμϓςΟϒϨΠΞτ
՝ͦͷ(1): ը໘αΠζͷࠩҟʹΑΔӨڹ
ղܾࡦ: MediaQuery/DiplayFeatures https://api. fl utter.dev/ fl utter/dart-ui/DisplayFeatureType.html
ίʔυྫ Display Type Layout
՝ͦͷ(2): ը໘ͷ͖ʹΑΔϨΠΞτ่Ε
εϚϗ →Portlaitݻఆ λϒϨοτ →Portlait/Landscape྆ରԠ ࠓճͷରࡦ: Ұ෦ը໘αΠζͰը໘ͷ͖Λݻఆ
ղܾࡦ: SystemChrome/setPreferredOrientations https://api. fl utter.dev/ fl utter/services/SystemChrome/setPreferredOrientations.html
ίʔυྫ
5.֎෦σόΠε׆༻
ղܾࡦ ɿը໘Θͳ͍ +
ղܾࡦ: audio_serviceͷར༻ https://pub.dev/packages/audio_service
ίʔυྫ Dart code
ίʔυྫ AndroidManifest.xml(for Android)
ૺ۰ͨ͠Ճͷ՝[on Android] .&%*"@#6550/ &WFOU #MVFUPPUI <DPNBOESPJECMVFUPPUI> 0UIFS"QQT <FH:PV5VCF> .Z"QQ
ղܾࡦ: ActiveͳϝσΟΞηογϣϯͷऔಘ
1. ૢ࡞ੑ 2. νϡʔτϦΞϧ 3. ίʔνϚʔΫ 4. ΞμϓςΟϒϨΠΞτ 5.
֎෦σόΠε׆༻ 6. ଟݴޠαϙʔτ(ϩʔΧϥΠζ) 7. ଟݴޠαϙʔτ(RTLݴޠ) FlutterΞϓϦʹ͓͚ΔUXվળͷ࣮ྫ
ଟݴޠαϙʔτ: ରԠޙͷը໘(൛) ӳޠ ΞϥϏΞޠ ͷݴޠઃఆ
6. ଟݴޠαϙʔτ(ϩʔΧϥΠζ)
ଟݴޠରԠ(ඪ४ύοέʔδ fl utter_localizations) https://docs. fl utter.dev/ui/accessibility-and-internationalization/internationalization
ඪ४ύοέʔδҎ֎ͷΞϓϩʔν • fl utter_localizations •easy_localization • fl utter_translate •slang
(fast_i18n)
7. ଟݴޠαϙʔτ(RTLݴޠ) ӳޠ/ຊޠ… ΞϥϏΞޠ…
ӳޠͱΞϥϏΞޠ͕ࠞࡏ͢Δγʔϯ
จࣈΛॻ͘ํ(&ஔ)ɿLTR&RTL
RTLݴޠͷجૅ(1)จࣈ https://m2.material.io/design/usability/bidirectionality.html
RTLݴޠͷجૅ(2)ΞΠίϯ
ΞΠίϯͷରࡦྫ Image.asset( 'assets/images/chara.png', matchTextDirection: true, ), on LTR on
RTL
ϨΠΞτͷରࡦྫ Row( children: [ BlueArea(), GreyArea(), ], ), on
LTR on RTL
άϩʔόϧରԠͷଓ͖ͪ͜Β Go Global with Flutter Apps@ABC 2023 Autumn https://abc.android-group.jp/abc2023a/
Wear OS ΞϓϦ։ൃೖ with Jetpack Compose ੜAIΛ׆༻ͨ͠FlutterΞϓϦ։ൃೖ
ΞϓϦ։ൃʹ͓͚ΔੜAI׆༻(ྫ) ίʔυͷੜ ϦϑΝΫλϦϯά ˍϞμφΠζ ςετέʔεͷੜ ίʔυͷϨϏϡʔ σόοά ύϑΥʔϚϯεվળ
ΞϓϦ։ൃʹ͓͚ΔੜAI׆༻(ྫ) ίʔυͷੜ ϦϑΝΫλϦϯά ˍϞμφΠζ ςετέʔεͷੜ ίʔυͷϨϏϡʔ σόοά ύϑΥʔϚϯεվળ
FlutterΞϓϦ։ൃͷ͡Ίํ for Beginner •Flutter(+Dart)ͷجૅ •։ൃɾ࣮ߦڥߏங •؆୯ͳΞϓϦ։ൃ
FlutterΞϓϦ։ൃͷ͡Ίํ for Beginner •Flutter(+Dart)ͷجૅ •։ൃɾ࣮ߦڥߏங •؆୯ͳΞϓϦ։ൃ
ࠓճ։ൃ͢ΔFlutterΞϓϦ
• DartPad • ੜAI ։ൃɾ࣮ߦڥߏங
DartPad Webϒϥβ্ͰίʔυΛॻ͘ˠಈ࡞֬ೝ https://dartpad.dev
Dart͚ͩͰͳ͘FlutterʹରԠ DartPad ˞ ※ར༻Մೳͳύοέʔδ͕ݶΒΕ͍ͯΔͳͲͷ੍͋Γ
ੜAI ࠓճίʔυͷࣗಈੜɾิॿʹ׆༻ $IBU(15 (FNJOJ $MBVEF ※ຊࢿྉChatGPT 4o/Gemini 1.5 Pro/Claude 3.5
SonnetΛར༻ͨ݁͠ՌΛݩʹ࡞
ੜAIΛ׆༻ͨ͠FlutterΞϓϦ։ൃͷྲྀΕ 4UFQϕʔεͱͳΔίʔυͷੜ 4UFQΞϓϦͷվ 4UFQಉ༷ʹ4UFQCZ4UFQͰ ͋͘·Ͱ1ͭͷྫ
Step1. ϕʔεͱͳΔίʔυͷੜ $IBU(15
Step1. ϕʔεͱͳΔίʔυͷੜ
$IBU(15 (FNJOJ $MBVEF ˞ ※ݕূ࣌ͷڍಈͱͯ͠ɺmainؚ͕ؔ·Εͳ͍ίʔυ͕ੜ͞ΕͨɻͦͷͨΊՃࢦࣔΛ࣮ࢪ Step1. ϕʔεͱͳΔίʔυͷੜ
Step2. ΞϓϦͷվ ҰԠͰ͖͚ͨͲɺΧελϚΠζ ͍ͨ͠… •࣌ܭͷഎܠ৭Λม͍͑ͨ •࣌ܭ͕খ͍͞ •จࣈ൫ΛՃ͍ͨ͠ ΄͔ʹ…
Step2. ΞϓϦͷվ: ࣌ܭͷഎܠ৭Λม͍͑ͨ
Step2. ΞϓϦͷվ: ࣌ܭ͕খ͍͞
Step2. ΞϓϦͷվ: ࣌ܭ͕খ͍͞
Step2. ΞϓϦͷվ: ࣌ܭ͕খ͍͞(ଓ͖)
Step3. ಉ༷ʹStep by StepͰ ՃͰ࣮ݱͨ͠༰ •ඵͷ৭ͷมߋ •ࣈͷՃ(1-12) •12࣌ʹϚʔΫՃ
Wear OS ΞϓϦ։ൃೖ with Jetpack Compose ੜAIΛ׆༻ͨ͠FlutterΞϓϦ։ൃߴԽ(ྫ)
Ԡ༻ฤɿੜAIΛ׆༻ͨ͠ଟݴޠରԠ ຊޠ ӳޠ ΞϥϏΞޠ
ݴޠϦιʔεͷྫ // ӳޠϦιʔε "en": { // τοϓը໘ "appName": "SekaiPhone
Pro", "modeTalkSpeech": "Talk Mode\n(Speech)", "modeTalkText": "Talk Mode\n(Text)", "modePhone": "Phone Mode", "modeCamera": "Camera Mode", // XXը໘ // … }, // ຊޠϦιʔε "jp": { // τοϓը໘ "appName": "SekaiPhone Pro", "modeTalkSpeech": “͜ͷͰ༁\n(Ի)”, …
ݴޠϦιʔεͷ४උ with ChatGPT
ࣗͷؾ͖ͮ(ੜAIͱͷ͖߹͍ํ) ຊͷΑ͏ͳӕΛͭ͘͜ͱ͋Δͷͷ ಓ۩ͱͯ͠༏लͳนଧͪ૬खʹ💪 •۩ମతͳࢦ͕ࣔϕλʔʢϢʔεέʔε࣍ୈʣ •ࠩͷΈੜͰ࣌ؒઅ •ਖ਼ղͱݶΒͳ͍(ਅͷٕज़ྗͷॏཁੑʂʂʂ)
UXվળͰ͞Βʹ৺Α͍ΞϓϦΛ🙌 ಓ۩ͱͯ͠ੜAI׆༻ͰΞϓϦ։ൃߴԽ🚀 ·ͱΊ
Please let me know if you have any requests such
as technical speeches, technical writings and so on. Facebook:http://fb.com/kanbara.kenichi X:@korodroid LinkedIn:http://www.linkedin.com/in/korodroid Thank you so much