-
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 the underlying technology works,
- how it’s programming style is little different from other frameworks,
- how Flutter apps are structured on an abstract level and,
- how asynchrony and communication with the web can be implemented.
- A showcase of possible architectural styles you can use to build your app and
- an in-depth guide on one of those possibilities (BLoC Pattern [7]).
- How to test your app.
- Some conventions and best practices for Dart, and the Flutter Framework in general.
- My personal evaluation 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 with 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 chapter 6 References. To put that theoretical knowledge into practice, I built the Wisgen application [11] using the Flutter Framework, the BLoC Pattern [7], and a four-layered architecture.
This Guide is licensed under the Creative Commons License (Attribution-NoDerivatives 4.0 International)
Author: Sebastian Faust.