Upgrade to PRO for Only $50/Yearβ€”Limited-Time Offer! πŸ”₯

From 0 to production with Flutter in a month*

Avatar for Luca Nicoletti Luca Nicoletti
November 30, 2024
27

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*

Avatar for Luca Nicoletti

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 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
  3. The switch πŸ”„ Why not React? β€’ Adversion through Js

    β€’ ReactNative uses native components β€’ Would the rendering problem occur again?
  4. The switch πŸ”„ Why not KMP? β€’ Love for Kotlin

    β€’ Compose Multiplatform β€’ Would face the same problem? β€’ LocalDB? β€’ Still too early?
  5. Tools What I used β€’ Visual Studio Code + Terminal

    β€’ Android Studio β€’ Mac OS β€’ iPhone β€’ Emulators β€’ Physical Android
  6. The development Libraries β€’ Navigation: `go_router` β€’ Persistence: `provider` β€’

    Storage: `shared_preferences` & `sq f lite` β€’ Interactions: β€’ Sounds: `soundpool` β€’ Vibrations: ` f lutter_vibrate` β€’ Upgrade dialog: `upgrader`
  7. The development Libraries β€’ Others β€’ ` f irebase_analytics` β€’

    ` f irebase_crashlytics` β€’ ` f irebase_database` β€’ `cached_network_image` β€’ ` f lutter_svg`
  8. 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`
  9. First feedbacks What to improve β€’ The timer gives anxiety

    πŸ˜₯ β€’ Haptic feedback πŸ“³ β€’ Sound πŸ”Š β€’ Multiple games at the same time β™ŸπŸ‘ΎπŸ•ΉπŸŽ²
  10. First feedbacks What to improve β€’ 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…)