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
[ABC2024Summer]Flutter UX Improvements + α
Search
Kenichi Kambara
June 29, 2024
Technology
0
570
[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
46
[DevFest Singapore] Getting Started with Mobile Development Using Generative AI
korodroid
0
55
[FlutterAlliance]Designing Borderless UX in Flutter: Insights from 50 Countries
korodroid
0
28
[Codex Meetup Japan #1] Codex-Powered Mobile Apps Development
korodroid
2
1.4k
[AgentConHelsinki2025]From Assistant to Agent: How Developer Agents Reshape Mobile Workflows
korodroid
0
27
[FlutterTokyo#10]In-App Language Switching in Flutter
korodroid
0
40
[potatotips #92]Integrating Quick Settings Tiles into Your Android App
korodroid
1
170
[ABC2025Spring]Code Less, Build More: A Practical Guide to Mobile Apps with Generative AI
korodroid
0
230
[DevTalksRomania]Building Augmented Reality Experiences with Flutter and AI-Powered Development
korodroid
0
44
Other Decks in Technology
See All in Technology
20260305_【白金鉱業】分析者が地理情報を武器にするための軽量なアドホック分析環境
yucho147
1
200
男(監査)はつらいよ - Policy as CodeからAIエージェントへ
ken5scal
5
770
開発組織の課題解決を加速するための権限委譲 -する側、される側としての向き合い方-
daitasu
5
310
Agentic Software Modernization - Back to the Roots (Zürich Agentic Coding and Architectures, März 2026)
feststelltaste
1
220
Ultra Ethernet (UEC) v1.0 仕様概説
markunet
3
230
チームメンバー迷わないIaC設計
hayama17
5
4k
AWS DevOps Agent vs SRE俺 / AWS DevOps Agent vs me, the SRE
sms_tech
3
390
タスク管理も1on1も、もう「管理」じゃない ― KiroとBedrock AgentCoreで変わった"判断の仕事"
yusukeshimizu
5
1.9k
技術的負債の泥沼から組織を救う3つの転換点
nwiizo
8
3k
EMからICへ、二周目人材としてAI全振りのプロダクト開発で見つけた武器
yug1224
5
480
Kaggleの経験が実務にどう活きているか / kaggle_findy
sansan_randd
7
1.2k
AWSをCLIで理解したい! / I want to understand AWS using the CLI
mel_27
2
190
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
470
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
210
How to train your dragon (web standard)
notwaldorf
97
6.5k
How to build a perfect <img>
jonoalderson
1
5.2k
From π to Pie charts
rasagy
0
150
GitHub's CSS Performance
jonrohan
1032
470k
Tell your own story through comics
letsgokoyo
1
830
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Automating Front-end Workflow
addyosmani
1370
200k
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