Dart & Flutter – Zero to Mastery [2023] + Clean Architecture

Dart & Flutter – Zero to Mastery [2023] + Clean Architecture

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 122 lectures (39h 49m) | 37.70 GB

Comprehensive Flutter course to quickly and effectively start professional app development. And much more!

With this course, we empower developers worldwide and unite them in a great community!

Get started with app development with Flutter
This course goes far beyond the basics and differs from other courses in that you learn really professional app development based on years of Flutter Freelancer experience.

We’ll show you what really matters in a project. – Not only how to build a cool UI…
We learn how to build a software architecture that is maintainable, scalable and efficient. Here you will learn the things that will accompany you throughout your career and really help you as a clear concept for the architecture of your software, the testing and how we deal with dependencies.

Don’t worry – there’s something for everyone here.
Whether you’re an experienced developer or a complete beginner – We’ll meet you at your level of experience and abstraction and guide you by the hand from the first small Flutter App to professional software architecture, functional programming, testing and much more.

In this still young framework, there are few people who are really good.
This means there are many possibilities here. With the ever-increasing number of apps implemented with the Flutter Framework, so does the demand for capable developers. And you can become one of them!

Also: Flutter and the Dart language are great, really fun to develop and play around with!

Dart Basics

In this course you will first get to know the basics of programming in Dart. We will also dive into the essential parts of programming using Dart language and we will learn how to set up our development environment and deal with the Code Editor VS Code. We’ll start with the basic knowledge of what a variable actually is and then work our way up to object orientation and asynchronous programming.

Flutter Basics

Here we’ll give you an introduction to the most important elements of UI creation with the Flutter Framework and teach you all you need to write your own user interfaces for your apps. From the explanation of how the framework works, to the use of individual UI components, themes, animations, navigation and much more, everything is included!

Clean Architecture

Based on a simple app that we will develop, we will learn how proper app development with clean software architecture works.

We will implement this small and simple app with a bulletproof clean code software architecture (clean layer separation), which you can use for any customer app. Once you have internalized this architecture and type of work, your software will achieve extremely high quality standards. We integrate the BLoC pattern into our project and thus cleanly separate business logic from UI, so we have a very clean and testable project. Dependency injection and functional programming are just a few tools that will support us on our way. Of course, we will also cover unit testing, widget testing and integration testing to check our app for everything.

What you’ll learn

  • Setup Dart&Flutter environment (Windows, Mac..)
  • Dart Syntax. Learn and use the basics of the programming language Dart.
  • All the important basics of the Flutter Framework in one small app. UI, navigation, animations, theming
  • Professional Software Development: Clean software architecture implemented in an app that you can use as a template at any time.
  • Layer Seperation
  • Clean Architecture
  • Dependency Injection
  • State Management with BLoC/Cubit & Provider
  • Unit Testing, Widget Testing, Golden Tests & Integration Testing
  • The course is always CURRENT and will be expanded!
  • Extra: Discord Community !
  • This course is the English version of the best rated german Flutter course on Udemy!
Table of Contents

Start Here – Introduction & Structure
1 Trailer
2 START HERE – Preface
3 Introduction, structure of the course
4 Discord Community
5 Task Introduction

Setup Environment Dart – Hello World
6 Introduction
7 Dart SDK – [MacOS]
8 Dart SDK – [Windows]
9 VS-Code & first programm

Dart Basics
10 Introduction
11 SOURCE CODE – Dart Basics
12 Variables
13 Data types
14 Arithmetic operators
15 List & Map
16 If statement
17 Switch case
18 Loops
19 Do-while-loop
20 For-loop
21 For-each-loop
22 Void-functions
23 Methods with a return value
24 Object orientation
25 Getter & Setter
26 Constructors
27 Inheritance
28 Asynchronous programming
29 Streams
30 New stuff in Dart 3.0
31 Null Safety
32 Dart Basics done – Congratulation!

Setup Environment Flutter – Hello World App
33 Introduction
34 Flutter SDK – [MacOS]
35 Flutter SDK – [Windows]
36 VS-Code & hello World
37 Flutter Basic Commands + Cheat Sheet

Flutter Basics
38 Introduction
39 SOURCE CODE – Flutter Basics
40 Flutter project structure
41 Widgets – Flutter widgets
42 Hot Reload – Hot Restart
43 Widgets – Shortcuts & VS-Code helper
44 Widgets – Scaffold & Material App
45 Widgets – Container & Text
46 Widgets – Column & Padding & SizedBox
47 Widgets – Row & Expanded + Flex
48 Widgets – Stack + add Assets
49 Widgets – ScrollView
50 Widgets – Media Query
51 Widgets – Layout Builder
52 Widgets – Structure
53 Widgets – Buttons
54 Widgets – custom Button
55 Widgets – Real life example
56 Widgets – Switch + Stateful Widget
57 Widgets – ListView + Builder
58 Navigation – BottomNavBar + IndexedStack
59 Navigation – basic
60 Navigation – named Routes
61 Theme – create and use Theme
62 Theme Service – State Management with Provider
63 Animations I – Sunrise Sky
64 Animations II – Sunrise Sun, Moon & Stars
65 Flutter Basics done – Congratulation!

Clean Architecture – App Project
66 Introduction
67 Clean Architecture – What & Why
68 Project Setup
69 SOURCE CODE – Clean Architecture
70 Application Layer – UI
71 Application Layer – BLoC State Management
72 Application Layer – BLoC Provider
73 Application Layer – Equatable
74 Application Layer – Cubit
75 Domain Layer – Entities & UseCases
76 Domain Layer – Failures & Dartz
77 Data Layer – Models & Datasources
78 Data Layer – Exceptions & Failures
79 Clean Architecture – Dependency Injection

Clean Architecture – Testing
80 Introduction – Testing
81 Unit Testing – datasources
82 Unit Testing – repositories
83 Unit Testing – usecases
84 Unit Testing – business logic (bloccubit)
85 Widget Testing
86 Golden Tests
87 Integration Tests
88 Flutter 3.10.x update

ToDo-App [Adaptive Layout, Go Router, Hive, Mock]
89 Section Intro
90 Project and folder setup
91 go router
92 Adaptive Layout
93 Named Routes
94 ToDo Collection – domain & data
95 ToDo Collection – application
96 ToDo Entry – domain & data
97 ToDo Entry – application
98 ToDo Entry – update
99 Navigation Cubit
100 create todo collection
101 create todo entry
102 Reloading data after adding new items
103 local data source – memory
104 locale data source – hive
105 Polishing & Finish
106 Update to flutter 3.10.x

WIP ToDo-App [Firebase, Crashlytics, Firestore, Auth]
107 What is Firebase
108 Setup firebase project
109 Add app to firebase
110 Add authentication provider to firebase
111 auth cubit
112 Firebase UI auth config
113 Add Login Button
114 Login button for small breakpoint
115 Create Firestore database
116 Add remote data source interface
117 Firestore remote data source – collection
118 Firestore remote data source – entry
119 Firestore repository
120 Implement firestore update entry
121 Improve firestsore security
122 Create a advanced repository

Homepage