-
Notifications
You must be signed in to change notification settings - Fork 37
Home
Page Table of Contents
This guide aims to bridge the gap between the absolute Flutter [1] basics and clean, structured Flutter development. It should bring you from the basics of knowing how to build an app with Flutter to an understanding of how to do it properly. Or at least show you one possible way to make large scale Flutter projects clean and manageable.
For people with a basic knowledge of the Flutter Framework. I recommend following this tutorial by the Flutter team [2]. It will walk you through developing your first Flutter application. You should also have a basic understanding of the Dart programming language [3]. No worries, it is very similar to Java [4], Kotlin [5] and JavaScript [6]. So if you know 1 or 2 of those languages you should be fine.
- A brief introduction to the Flutter Framework in general. How it works under the hood and its underlying structure.
- One possible architecture for your Flutter app and how to implement it (BLoC [7])
- How to test your app
- Some conventions and best practices for Dart, BLoC and the Flutter Framework
- My personal opinion of the framework
This guide was written by a student in the Bachelor of Science Program “Computer Science and Media Technology” at Technical University Cologne [8], and it was created for one of the modules in that Bachelor. In addition to this, the guide was written in collaboration with Capgemini Cologne [9]. Capgemini released a guide on building an application in Angular [10] in May of 2019, this guide is meant to be the Flutter version of that.
The guide is designed to be read in order, from Chapter 0 (this one) to Chapter 5. Code examples throughout the chapters will mainly be taken from Wisgen [11], an example Flutter Application that was specifically built for the purposes of this guide. If you want to search for any specific terms in the guide, you can use this page. It is all chapters of the guide combined into one page. There is going to be a few common symbols throughout the guide, this is what they stand for:
Symbol | Meaning |
---|---|
📙 | Definition |
🕐 | Shortened version (TLDR) |
⚠ | Important |
I am basing this guide on a combination of conference talks, blog articles by respected Flutter developers, the official documentation, scientific papers that cover cross-platform mobile development in general and many other sources. All sources used in the guide are listed in the chapter References. To better understand all the theory, I also developed the Wisgen app [11] using the Flutter Framework and the BLoC Pattern [7].
This Guide is licensed under the Creative Commons License (Attribution-NoDerivatives 4.0 International)
Author: Sebastian Faust.