Flutter Integration: Catch the Furniture
Posted: 15 Jan 2021.
Last modified on 14-Feb-25.
This article will take about 1 minute to read.
Compared to react Native, Flutter renders more quickly, has better widget management, is typesafe, and is more intuitive to App developers.
It is poised to be the Next Big Thing with google’s current work on Fuschia OS
This was a prototype of a “Catch The Furniture” game using Flutter
Flutter Hompage
A google framework powered by Dart
used for writing Android and iOS Applications with the same codebase.
Flutter
- Written in Dart, compiles to JS and native
- Allows a single codebase for Android, iOS, Desktop and Web apps
- Focus is UI, whith many small Widgets on the screen, rendering at 60fps via a native graphics library
- Material (Android) and Cupertino (iOS) design systems are baked in, with support for a consistent design language between all platforms.
- Animations can be written more easily than in Android or iOS
- Emerging tech written by Google
Issues that were encountered:
- Hot reload only works in a standalone Flutter app, not integrated Add2App
- Hot reload doesn’t work with specific libraries (SpriteWidget)
- Hot reload cannot handle a class’s superclass changing
- All assets have to be manually imported (migrated with directory level imports)
- Integrated (“Add2App”) Flutter apps seem ready for Development, not Production.
iOS
Carthage blocked a full iOS integration
Issues encountered:
Direct integration of Flutter modules was not possible at the time,
Beacuse:
- requires CocoaPods
- Flutter does not support Carthage
- Flutter compiles directly to iOS .xcworkspace
- this means that CocoaPods dependencies conflict with Carthage dependencies
- iOS AppStore does not allow multi-workspace builds
However, flutter plans to support carthage in the future.
Android
Flutter demo was integrated
It added over 100mb to the app build size
Not feasible for adding to an existing app at the time. Will likely improve in the future.