~/talk

Frankenstein's Monster: How we migrated two native apps into a single Flutter app

Talkat Fluttercon Europe 2023 · 2023-07-05..07-07· [flutter]
links:none on file
links:none on file
slides:none on file

Migrated two messy native apps into one working Flutter app by incrementally embedding Flutter with add-to-app, keeping a single long‑lived Flutter engine to avoid memory leaks and using method channels for bidirectional calls. Web UIs moved into a unified WebView, C Bluetooth stacks accessed via Dart FFI and FFI‑gen, and flutter_reactive_ble handled BLE with platform workarounds for MTU and scan rate limits. Built prototype modules, added CI/CD to legacy apps, and completed a full migration that runs in production.

AI-written summary · about

  1. 0:00Introduction to project
  2. 3:39Migration challenges overview
  3. 7:31Add-to-app approach explained
  4. 11:46User-facing migration plan
  5. 13:52Android integration details
  6. 14:34iOS integration details
  7. 17:00Avoiding memory leaks
  8. 19:28Method channels communication
  9. 23:43Web view migration tips
  10. 27:01Debugging cross-platform
  11. 27:43Working with C libraries
  12. 31:00Bluetooth implementation
  13. 32:48Final migration to Flutter
  14. 34:11Q&A and closing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.