{"id":13674597,"url":"https://github.com/aaronoe/FlutterCinematic","last_synced_at":"2025-04-28T14:31:46.589Z","repository":{"id":49358491,"uuid":"125712219","full_name":"aaronoe/FlutterCinematic","owner":"aaronoe","description":"Flutter clone of my \"Cinematic\" App","archived":false,"fork":false,"pushed_at":"2020-10-01T18:04:46.000Z","size":20927,"stargazers_count":893,"open_issues_count":23,"forks_count":282,"subscribers_count":47,"default_branch":"master","last_synced_at":"2024-11-11T14:42:26.556Z","etag":null,"topics":["android","cross-platform","dart","flutter","ios"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aaronoe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-18T10:05:16.000Z","updated_at":"2024-11-06T09:39:17.000Z","dependencies_parsed_at":"2022-09-24T02:12:42.081Z","dependency_job_id":null,"html_url":"https://github.com/aaronoe/FlutterCinematic","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronoe%2FFlutterCinematic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronoe%2FFlutterCinematic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronoe%2FFlutterCinematic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronoe%2FFlutterCinematic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aaronoe","download_url":"https://codeload.github.com/aaronoe/FlutterCinematic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251330312,"owners_count":21572266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","cross-platform","dart","flutter","ios"],"created_at":"2024-08-02T11:00:54.683Z","updated_at":"2025-04-28T14:31:41.569Z","avatar_url":"https://github.com/aaronoe.png","language":"Dart","readme":"# Flutter Cinematic\n\nThis app is a Flutter port of the native Android App [Cinematic](https://github.com/aaronoe/Cinematic).\nMy intention in creating this app was understanding the intricacies of building apps in Flutter.\nJust like the native Android App this app does **not make any efforts in being a nicely architectured application**.\nThat being said the whole point is to showcase Flutter's capabilities for building simple apps \nand to understand key difference and advantages to native development.\n\n## Overview\n\nThe app uses the [Movie DB Public API](https://www.themoviedb.org/documentation/api) as a data \nsources and uses the standard dart libraries for making network requests.\n\nIn terms of UI, the goal was replicating the Android design as closely as possible to understand\nthe possibilities that Flutter offers for crafting UIs.\n\n## Building from Source\n\nTo build this app from source you will have to obtain an API-key from [TMDB right here](https://developers.themoviedb.org/3/getting-started/introduction).\nSet this key to the constant `API_KEY` in `constants.dart` to run the app.\nAdditionally, the app now uses Dart2 which means that you should enable that in your IDE if you haven't done so yet.\n\n## Video\n\n![In App Experience](https://github.com/aaronoe/FlutterCinematic/blob/master/screenshots/flutter_cinematic_gif.gif?raw=true)\n\n## Learnings\n\nCreating this app and learning Flutter in general felt like a gift for developers.\nIt significantly increased development velocity by, amongst others, \nreducing development cycles and the ability to create reactive, modular components.\nComing from the realms of Android, those are the things that stood out to me:\n- Creating beautiful UIs is easier with Flutter\n- Avoiding to write boilerplate code (XML layouts, adapters etc.)\n- Creating UIs in a declarative way without dealing with the shortcomings of Android's Databinding\n- Hot Reload - this one is a **game-changer**\n- Dart is not that bad of a language, but it doesn't get close to Kotlin. \nI think for the Usecase of Flutter Dart actually makes a lot of sense\n- The ability to not worry about state changes in the UI. The Widget will take care of the rendering \nusing it's properties or state\n\n## License\n\nThis project utilizes the [MIT License](https://github.com/aaronoe/FlutterCinematic/blob/master/LICENSE \"Project License\")","funding_links":[],"categories":["开源App","开源应用","Dart","Misc","Top [🔝](#readme)","Open Source Apps","Uncategorized"],"sub_categories":["Top","热门的","Flutter","Uncategorized","Misc"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronoe%2FFlutterCinematic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaronoe%2FFlutterCinematic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronoe%2FFlutterCinematic/lists"}