Flutter Presentation showed in Qvik Beers & Pizza event where we showed the pros and cons of different cross platform technologies.
We presented how Flutter is used in Freska as main mobile development framework.
4. My Background
- +10 years back… Backend engineer using Java
- 2009 Started doing Android development
- February 2017, used Kotlin in a production app.
- 4th November 2018, O lines of code written in Dart.
- 19th December 2018, Freska app in Flutter completed
- Layered architecture
- Tests
- CI/CD setup
- Integrated POEditor translations into CI
- 4th January 2019, Freska app released
Pizza and beers meetup @Qvik
5. Freska App in Flutter vs iOS Native App
DEMO
Flutter in Freska
Pizza and beers meetup @Qvik
6. What is Flutter?
- Open source mobile for now development SDK by
Google
- No OEM Widgets, WebViews, JavaScript bridges, etc.
- Flutter architecture:
- Framework (Dart)
- SKIA
- Dart
- C++
Pizza and beers meetup @Qvik
7. Who is Flutter for?
- Developers who want to build faster and easier apps
- Single source code, used in Android & iOS
- Good performance
- Native look and feel
- Fast prototyping
Pizza and beers meetup @Qvik
- Companies:
- Single team for both platforms
- Launch features Android & iOS together
- Lower maintenance
- Stable release since December 2018
10. How to write Flutter
- Dart!
- Java-ish styled
- … need to generate equals && hashCode methods :(
- Easy to learn & read
- How I learned -> https://www.dartlang.org/guides/language/language-tour
class FAQContent {
const FAQContent(this.question, this.answer);
final String question;
final String answer;
}
Pizza and beers meetup @Qvik
main() {
Box box1 = new Box();
box1?.destroy();
}
11. How to write Flutter
Pizza and beers meetup @Qvik
- Dart!
- Optional parameters
- Mixins
- Functions as first class citizens
- Good IDEs: Android Studio, IntelliJ, Visual Studio
- Futures, Streams, RxDart
- But…
- Back to NPE hell! Lack of Null Safety types
- No extension functions
- No data classes
- No sealed classes
12. What did you like about Flutter?
Pizza and beers meetup @Qvik
- Stateful hot reload
- It makes you extremely efficient!!
- Everything you need to build apps
- Widget compositions
- Suggested architecture since beginning
- For ex. BLoC pattern (kind of MVVM)
- Firebase!
- Easy to create plugins
- Stability
- Upgrading versions does not break the build
- Simplicity
- Rotating the screen is not as complex as solving a NP problem
13. What did you NOT like about Flutter?
Pizza and beers meetup @Qvik
- Figuring out how to save screen state
- Localisation is complex (compared to native)
- Dart is good, but not that good
- Error logs are confusing
- You still need to go to native
- Some 3rd party SDK
- Accessing sensors
- WebViews?
15. How to get started?
Pizza and beers meetup @Qvik
- Materials:
- https://dartlang.org/
- https://flutter.dev/
- https://github.com/flutter/flutter
- https://flutter.dev/docs/codelabs
- Flutter youtube channel
- Widget of the week videos!
- Code, code, code, code!
- Flutter create
- Create a novel experience with Flutter in 5KB or less of Dart code
- Prizes up to 10K$
- https://flutter.dev/create