Home

Awesome

Banner

The guide is published in the Wiki of this repository. This repository just holds a copy of the Wiki to make the commit history more readable. The README.md is a copy of the introduction chapter.

Introduction

Page Table of Contents

The Goal of this Guide

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.

Who is this Guide for?

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.

Topics that will be Covered

Creation Context

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 DevonFw [9]. DevonFw 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.

Structure

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:

SymbolMeaning
📙Definition
🕐Shortened version (TLDR)
Important

My Sources

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.

Creation Process

If you are interested in how this guide was created, how Wisgen was built, how a bridge between a citation software and Markdown was realized, or any other details about the creation process, check out the Meta-Documentation.

<p align="right"><a href="https://github.com/devonfw-forge/devonfw4flutter/wiki/100-The-Flutter-Framework">Next Chapter: The Flutter Framework ></a></p> <p align="center"><a href="#">Back to Top</a></p>