Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[DevFest Singapore] Getting Started with Mobile...

[DevFest Singapore] Getting Started with Mobile Development Using Generative AI

This is the slide, "Getting Started with Mobile Development Using Generative AI" at DevFest Singapore 2025. It's an 80-Minute Hands-On Session.
#DevFest #DevFestSG25 #DevFestSingapore2025
#GoogleForDevelopers #GDGSingapore

Avatar for Kenichi Kambara

Kenichi Kambara

November 21, 2025
Tweet

More Decks by Kenichi Kambara

Other Decks in Technology

Transcript

  1. Singapore 2025 Kenichi Kambara Principal Evangelist@NTT TechnoCross November 22, 2025

    Getting Started with Mobile Development Using Generative AI
 
 - An 80-Minute Hands-On Session -
  2. •Mobile App Development •Talks (24 Int’l/100+ Domestic) •Writings (10 Dev/Edu

    Books) •[Of fi cial] Evangelist at NTT TechnoCross e.g. ChatTX ;Enterprise GenAI services, AI- powered call analysis, smart livestock monitoring •[Private] iplatform.org About me Kenichi Kambara (X:@korodroid)
  3. Agenda & Timeline [80-Minute Session] 📱 🤖 AI & Mobile:

    Fundamentals & Trends Generative AI Hands-On Workshop Wrap-Up & Takeaways (including Q&A) 💻 📌 10 min 55 min 15 min
  4. AI & Mobile: Fundamentals & Trends 1. ɾAccelerating development with

    Generative AI ɾSimplifying debugging through conversation AI × Mobile — The New Era Begins ɾDevice and OS fragmentation ɾComplex app release workflows 🤖 AI Innovations 📱 Mobile Evolution
  5. The Complexity of Mobile Apps Development  • Platform Support

    iOS Android Cross-platform Device diversity Coding Debugging Testing Refactoring Performance Versioning Review guidelines Metadata Release Accessibility Responsive design Localization Usability • Development Process • App Store Requirements • UI/UX
  6. My MotivationɿA lot of things to do…  •Maintaining compatibility

    for the latest/old OS •Satisfying each App store requirements •Coding / Debugging / Testing •Refactoring / Modernization •etc.
  7. (3) Uses Dart as the programming language  Shares similarities

    with Java and JavaScript import 'package:flutter/material.dart'; void main() { runApp( Center( child: Text( ‘Hello, Flutter’, textDirection: TextDirection.ltr, ), ), ); }
  8. Evolving the Developer Work fl ow  $IBUCBTFE"* 🧠Gemini 🧠ChatGPT

    🧠Claude 🧠Perplexity AI "HFOUCBTFE"* 🛠Gemini CLI 🛠Claude Code 🛠Cursor 🛠GitHub Copilot Conversational interface for Q&A, guidance, and ideation. Autonomous, tool-using agents that plan, act, and deliver outcomes.
  9. Evolving the Developer Work fl ow  $IBUCBTFE"* 🧠Gemini 🧠ChatGPT

    🧠Claude 🧠Perplexity AI "HFOUCBTFE"* 🛠Gemini CLI 🛠Claude Code 🛠Cursor 🛠GitHub Copilot Conversational interface for Q&A, guidance, and ideation. Autonomous, tool-using agents that plan, act, and deliver outcomes.
  10. Why We Focus on Chat-based AI in this Workshop? 

    •Develop through dialogue, not automation •Explore how AI thinks and helps •Learn more compared to Agent-based AI •Quick to start — no setup needed $IBUCBTFE"* 💡*OUIJTXPSLTIPQ XF`MMVTF(FNJOJBTBDPOWFSTBUJPOBMDPEJOHQBSUOFS 💡*OUIF fi OBMQBSU *`MMBMTPDPWFSUIFUPQJDPGl"HFOUCBTFE"*z
  11. Generative AI Hands-On Workshop 2. ɾCreate apps from natural language

    ɾGenerate UI and logic automatically Learn by building from code generation to testing ɾFix build errors with AI help ɾWrite and simulate widget tests 💻 Code Generation 💻 Debugging & Testing
  12. Using Generative AI for App Development  🖥(FOFSBUJOH$PEF 🔄3FGBDUPSJOH .PEFSOJ[JOH

    ✍8SJUJOH5FTU$BTFT 🧐3FWJFXJOH$PEF 🐞%FCVHHJOH ⚡*NQSPWJOH1FSGPSNBODF
  13. Flutter Development Environment  •Web Browser: Cloud •DartPad •IDE: Local

    •Android Studio •Visual Studio Code •IntelliJ IDEA
  14.  Quick Approach (This time, I’ll go with this) •Web

    Browser: Cloud •DartPad •IDE: Local •Android Studio •Visual Studio Code •IntelliJ IDEA Regular Approach (for experienced devs) Flutter Development Environment
  15.  •Chat-based AI — Collaborative Partner •Gemini 🧠 •How We’ll

    Use It: •Generate UI and code snippets •Debug and refactor through conversation •Create tests and documentation collaboratively Generative AI Environment
  16. Gemini: Operation Check  Generate a simple Flutter app that

    displays ‘Hello, Flutter!’ in the center of the screen. 🔧)BOETPO 💬
  17. First Code Generation  Create code to display an analog

    clock with Flutter. 🔧)BOETPO 💬
  18. Adding New Features  Feature Addition Examples 🎨 Changing the

    clock's color 🔍 Clock appears too small ⏰ Adding a clock face ⚙ Additional customizations
  19.  e.g.) I want to change the hour hand to

    red and the minute hand to yellow. ? 💬 Adding 2nd new feature
  20. 💡Clear Instructions are crucial.  🔧)BOETPO Change the color of

    the hour hand to red and the minute hand to yellow. 💬
  21. Adding 3rd new feature  Change the background color of

    the clock to green. Do not modify any other elements. 💬 🔧)BOETPO
  22. Debugging and Testing  Create a Flutter app with a

    green “Press me” button centered on the screen. 💬 🔧)BOETPO
  23. Debugging  🔧)BOETPO If you don’t have any issues, replace

    “TextButton” with “FlatButton” manually.
  24. Testing  Write a widget test to verify that the

    text ‘Pushed’ appears after the button is pressed. 🔧)BOETPO 💬
  25. ⚠ Why the Error Occurred?: DartPad Limitations  Packages Currently

    Supported on DartPad https://github.com/dart-lang/dart-pad/wiki/Package-and-plugin-support • animations • basics • bloc • characters • collection • cross_ fi le • dartz • english_words • equatable • fast_immutable_collections • fl ame • fl ame_ fi re_atlas • fl ame_forge2d • fl ame_splash_screen • fl ame_tiled • fl utter_bloc • fl utter_hooks • fl utter_riverpod • google_fonts • hooks_riverpod • http • intl • meta • path • petitparser • provider • quiver • riverpod • rohd • rohd_vf • rxdart • timezone • vector_math • video_player • yaml • yaml_edit
  26. 🧩 Extra Exercises  Choose one you like👇 1⃣ Enhance

    the analog clock (make it more stylish or functional) 2⃣ Create a calculator app 3⃣ Create a To-Do list app 4⃣ Create anything you like!
  27. 1⃣ Enhance the analog clock  💬 Show the year,

    month, day, and weekday below the clock. 💬 Add numbers 1 to 12 around the clock face. 💡*NQMFNFOUJODSFNFOUBMMZ TU1SPNQU OE1SPNQU
  28.  2⃣ Create a calculator app 💡$POUFYUJTLFZ 💬 Create a

    calculator app. 💬 Create a calculator app using Flutter. 1SPNQUTGPS(FNJOJPO%BSU1BE 1SPNQUTGPS4UBOEBMPOF(FNJOJ
  29. 3⃣ Create a To-Do list app  💡#FTQFDJ fi DXJUIZPVSTUBDL

    💬 Create a To-Do list app. 💬 Use Riverpod for state management. TU1SPNQU OE1SPNQU
  30. 4⃣ Create anything you like!  🚀 Time to Share

    Your Creations! Did anyone build anything new?✋
  31. AI Paradigm Shift  From Passive to Active Key Transitions

    Evolved from waiting for prompts to acting on context •From isolated commands to continuous collaboration •From single- fi le focus to project-wide understanding •From reactive suggestions to proactive improvements
  32. “Chat-based AI” vs. “Agent-based AI”  Aspect Chat ‑ based

    AI Agent ‑ based AI Learning curve Easy to get started; simple chat interface. Higher learning effort; know its abilities and limits. Interaction model Conversation ‑ driven; explicit prompts; manual copy between tools Goal ‑ driven; plan → act → review; orchestrates tools/APIs Project awareness Limited context window; no project ‑ wide understanding Understands codebase & dependencies; workspace indexing Execution capability Suggests code; user applies changes; no direct code manipulation Direct edits, runs tests/builds; multi ‑ step operations across files Context & state Session resets disrupt continuity; weak persistence/ memory Persistent context across sessions; memory & artifacts Delivery workflow Human handoffs; PR/tests/reports done manually Draft PRs, tests, profiling & reports automated; human approval gate
  33. Deep Dive into “Agent-based AI”  Plan → Act →

    Check — context-aware, tool-using, outcome-driven Key Characteristics Context Awareness Multi ‑ step Reasoning Direct Execution Persistent State Understands codebase, dependencies, and developer intent. Plans tasks and executes across fi les/functions. Edits code, runs tests/builds, generates draft PRs. Keeps memory and artifacts across sessions.
  34. Processing with Claude Code  You are an autonomous code

    agent in a Flutter repo. Goal: A screen scrolls slowly. Diagnose → improve → verify → open a draft PR. Proceed without approval. Guardrails: - Keep business logic & public APIs unchanged. - Limit edits to the affected screen (e.g., MyHomePage) and minimal helpers. - Keep the diff small and self-explanatory. Plan: - List 3 hypotheses for the slowdown. - Add lightweight measurements ( fi rst-frame builds, per-screen scroll rebuilds) using debug-only logs. - Start measuring immediately. Diagnose: - Run measurements ( fl utter run/test/analyze). - Output key numbers on one line and choose up to 2 approaches with a brief rationale. Act: - Apply a minimal design that reduces fi rst-frame builds and scroll rebuilds while preserving visuals/API. - Show the diff and apply it. Check: - Run analyze/test; report green/red. - Show Before → After numbers on one line each. Draft PR: - Branch: perf/scroll-optimization - Commits: perf(ui)… ; chore(debug) remove counters - Create a draft PR with problem, root cause (numbers), changes, diff size, key metrics, and checks. Start now. If anything fails, propose a fallback and continue. Plan → Diagnose → Act → Check → Draft PR
  35. Safe Agent-Based AI  🔧 Permission Scope 🗝 Data &

    secrets 🛡 Prompt/tool safety 🚧 Execution guardrails 📝 Quality & change control 📊 Cost & Ops Monitoring
  36. The Story of Accelerating Release Cycles  $IBUCBTFE"* "HFOUCBTFE"* “Instruct

    → execute → con fi rm” remains human-driven: answers, not completion. Releases queue behind human availability. Give a goal → Agent plans → implements → tests → measures → creates a draft PR in an automated loop. Humans focus on approval. 💬 Chat-based AI 🧑💻 Human Work ⚙ CI ✅ Human Review 📝 Draft PR ✅ Approval Gate Plan Act Test Measure Loop
  37. AI + Human Collaboration  •Translate quickly •Ensure consistency •Generate

    Drafts Continuous Learning < > > > AI •Design from Real Experience •Re fi ne Nuance •Review & Improve Human
  38. 💡Key Takeaways: 3 Keys to Agent-based AI •Read diffs as

    data (Small PRs, intent labels) •Gate changes via draft PRs (Draft- fi rst) •Keep Humans on risky edits (Risk-based reviews)