Week 1 of 30 Days of Flutter - Summary
Tags: flutter, dart, events
Published: 2021-02-07 15:07:23

---
title: Week 1 of 30 Days of Flutter - Summary
published: true
description: What is Flutter and Dart?
tags: flutter, dart, events
cover_image: https://images.unsplash.com/photo-1535303311164-664fc9ec6532?ixid=MXwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=934&q=80
---

# Introduction
Hello there! In this post i want to share my experience with my first week of learning Flutter.

This month Google announced the 30 days of flutter event and i said to myself: 
> New year, time to learn a new skill and mobile development is something i wanted to learn for a long time!

Each week i will now share my learning process with you guys and maybe i can catch some of you guys to try out Flutter because in my opinion this could be the next really big framework that can be used for mobile (iOS and Android), web and even desktop apps.

So what i have learned throughout this week?

# Resources
Lets start with the resources i used to learn Flutter.

First of all i really enjoy video courses and this one is really a great one: [Flutter Course](https://www.udemy.com/course/flutter-bootcamp-with-dart/)

Angela is a really great instructor and knows how to teach a subject. This course was created by Angela with the help of the official Flutter team at Google so it covers all the important stuff that you need to know about Flutter and Dart. You may ask yourself what the heck is Dart? Dart is the programming language that is used within Flutter but we will cover this topic later on.

Most of the resources that i used (and still using) are  [here](https://events.withgoogle.com/30-daysofflutter/#content). This is the official 30 days of flutter event page where you can find all the links to resources that help you to start learning.

In addition the Flutter Community  [YouTube](https://www.youtube.com/channel/UCNUzIz3TsiHSbgn_66kLIww) Channel does livestreams where you can participate and ask all your questions regarding Flutter.

# Flutter
In my last blog post i introduced Flutter and quickly explained what it is but let me introduce it to you once again.

Flutter is an open source Framework from Google to develop cross-platform apps. This means you only need one codebase to write iOS and android apps! Also its possible to use it to build websites and even desktop apps. Its really an allrounder.

### Widgets
Within Flutter anything is a Widget. Widgets are like lego blocks you can stick together to create stuff. You want to create a button? Use a button Widget! You want to create a text inside the button? Use a text Widget!

I think you know where this goes... Flutter gives you tons of prebuild widgets that you can use to create awesome layouts! You can put the widgets together to build even new more complex widgets. Its really fun to use Flutter!

### Anatomy of a Flutter App
The widget tree describes your Flutter app and could be something like this (all credits to Angela and the course i mentioned above):

![Bildschirmfoto 2021-02-07 um 15.21.00.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1612709261692/xG2tjC7HN.png)

# Dart
Dart is the programming language that is used by Flutter. There are many reasons why the Google Team decided to use Dart but the main reason is because with Dart they can use JIT(Just in time compilation) and AOT(ahead of time compilation). With JIT Flutter can use its best feature - **Hot Reload**.
Everytime you develop within Flutter and change something Flutter will detect these changes and updates your project and you can see it instantly on your emulator or phone! Hell jeah this makes development really fun!

Dart is a statically typed language but offers the "dynamic" type that is, jeah you may know it, dynamic. So a variable that is declared as dynamic can change its type. But be careful! Only use it when its really necessary.

On [DartPad](https://dartpad.dev/dart?null_safety=true) you can play around this this language and get familiar with it. But when you come from languages like Java, Javascript, Typescript, C# etc. you get into it really fast.

The [Dart docs](https://dart.dev/guides) are also really good and there are some challenges for you to learn the basics and get into Dart and the specific features that Dart offers.

# Hot Reload
This feature is probably the best feature when you develop in Flutter. Like i wrote above everytime you change something for example you change the background color from your button from blue to red Flutter will detect these changes and renders the Widgets new and display your changes more or less instantly! Its like you are painting a picture.

# How to get started?
Maybe i catched your interest and you may ask yourself how to start with flutter. If so im really happy! I really really enjoy Flutter and think its something worth to invest time and passion in to learn and master it!

First of all check out the 30 days of flutter event page [here](https://events.withgoogle.com/30-daysofflutter/#content). Here you find all the links you need to start. I know this might be a bit overwhelming but dont worry. Just invest like one hour a day into it and you will be fine. Step by step you will get into Flutter and Dart and in one Week you can build your first app if you want to!

If you are like me and enjoy video courses i really suggest Angelas [Flutter Course](https://www.udemy.com/course/flutter-bootcamp-with-dart/).

On the official Flutter docs you can find [this section](https://flutter.dev/docs/get-started/install) to get started and install Flutter on your operating system. It will cost you maybe one hour to set up your development environment and the SDK and write your first line!

And last but not least join the Flutter Community on your favorite social platform! You can find all communitys here:  [Flutter Community](https://flutter.dev/community)

Lets connect and spread Flutter across the world!

# Summary
I really hope you enjoyed this article and this first introduction to Flutter and Dart!

Spoiler: Next week will be more in depth and technically!

Stay connected to me and my content on [Twitter](https://twitter.com/danytulumidis).

I love to improve myself every single day even if its just a tiny bit!

Stay save and healthy guys!

And as always: develop yourself!