Flutter clone of my "Cinematic" App
Switch branches/tags
Clone or download
aaronoe type: documentation
- fix dart 2 search
Latest commit 3929f70 Jun 26, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
android type: documentation Jun 3, 2018
assets Initial commit Mar 18, 2018
ios Initial commit Mar 18, 2018
lib type: documentation Jun 26, 2018
screenshots type: readme Mar 28, 2018
test type: feat Mar 18, 2018
.gitignore type: documentation Jun 3, 2018
.metadata Initial commit Mar 18, 2018
LICENSE Create LICENSE Mar 27, 2018
README.md type: documentation Jun 3, 2018
android.iml Initial commit Mar 18, 2018
movies_flutter.iml type: readme Mar 27, 2018
movies_flutter_android.iml type: readme Mar 28, 2018
pubspec.lock type: documentation Jun 26, 2018
pubspec.yaml type: feat Apr 18, 2018

README.md

Flutter Cinematic

This app is a Flutter port of the native Android App Cinematic. My intention in creating this app was understanding the intricacies of building apps in Flutter. Just like the native Android App this app does not make any efforts in being a nicely architectured application. That being said the whole point is to showcase Flutter's capabilities for building simple apps and to understand key difference and advantages to native development.

Overview

The app uses the Movie DB Public API as a data sources and uses the standard dart libraries for making network requests.

In terms of UI, the goal was replicating the Android design as closely as possible to understand the possibilities that Flutter offers for crafting UIs.

Building from Source

To build this app from source you will have to obtain an API-key from TMDB right here. Set this key to the constant API_KEY in constants.dart to run the app. Additionally, the app now uses Dart2 which means that you should enable that in your IDE if you haven't done so yet.

Video

In App Experience

Learnings

Creating this app and learning Flutter in general felt like a gift for developers. It significantly increased development velocity by, amongst others, reducing development cycles and the ability to create reactive, modular components. Coming from the realms of Android, those are the things that stood out to me:

  • Creating beautiful UIs is easier with Flutter
  • Avoiding to write boilerplate code (XML layouts, adapters etc.)
  • Creating UIs in a declarative way without dealing with the shortcomings of Android's Databinding
  • Hot Reload - this one is a game-changer
  • Dart is not that bad of a language, but it doesn't get close to Kotlin. I think for the Usecase of Flutter Dart actually makes a lot of sense
  • The ability to not worry about state changes in the UI. The Widget will take care of the rendering using it's properties or state

License

This project utilizes the MIT License