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

From 0 to production with Flutter in a month*

Luca Nicoletti
November 30, 2024
8

From 0 to production with Flutter in a month*

Slides of my talk at DroidconItaly 2024: From 0 to production with Flutter in a month*

Luca Nicoletti

November 30, 2024
Tweet

Transcript

  1. Luca Nicoletti • Android Engineer ~7 years • Jetpack Compose

    enthusiast • Youtuber (ish) • Into Multiplatform • Not only KMP 👋
  2. The timeline Years before 2024 Coding job The idea 💡

    2013 May - Jun 2017 } Flutter test*
  3. The switch 🔄 Facing a wall 🧱 • Slow rendering

    (with Jetpack Compose) • Would need a second project for the Native iOS • With 0-ish knowledge of the platform
  4. The switch 🔄 Why not React? • Adversion through Js

    • ReactNative uses native components • Would the rendering problem occur again?
  5. The switch 🔄 Why not KMP? • Love for Kotlin

    • Compose Multiplatform • Would face the same problem? • LocalDB? • Still too early?
  6. Tools What I used • Visual Studio Code + Terminal

    • Android Studio • Mac OS • iPhone • Emulators • Physical Android
  7. The development Libraries • Navigation: `go_router` • Persistence: `provider` •

    Storage: `shared_preferences` & `sq f lite` • Interactions: • Sounds: `soundpool` • Vibrations: ` f lutter_vibrate` • Upgrade dialog: `upgrader`
  8. The development Libraries • Others • ` f irebase_analytics` •

    ` f irebase_crashlytics` • ` f irebase_database` • `cached_network_image` • ` f lutter_svg`
  9. The development Libraries • UI • Confetti: `confetti` • Intro:

    `page_view_dot_indicator`, `carousel_slider` • Intro: `rotated_corner_decoration` • Capturing the Widget: `widgets_to_image` • Sharing the result: `share_plus`
  10. First feedbacks What to improve • The timer gives anxiety

    😥 • Haptic feedback 📳 • Sound 🔊 • Multiple games at the same time ♟👾🕹🎲
  11. Release Now what? Task iOS Android Setup Developer account ❌

    ✅ Pay the fees ❌ ✅ Generate release builds ❌ ✅ Beta release ✅ ❌ Promote the release ✅ ✅
  12. Release Now what? Task iOS Android Setup Developer account 🟰

    🟰 Pay the fees ❌ ✅ Generate release builds 🟰 🟰 Beta release ✅ ❌ Promote the release 🟰 🟰
  13. Problems What went wrong • ChatGPT is ok, not good

    • ZoomableWidget* • Apps size! • Users really notice that!
  14. Problems What I did wrong • Simple approach (Provider 👀)

    • Complexity kept adding • No structure
  15. Future Would I use it again? • Yes • Framework

    knowledge • Enjoyment of development • Multi-platform • Good support & libraries • No
  16. Future Would I use it again? • Yes • No

    • App size • Language lacks features • Lacking knowledge (Architecture, best practices, etc…)