Skip to content

A complete roadmap for learning Flutter and Dart, covering key concepts like widgets, state management, Firebase, and app deployment. Includes tutorials and project examples for both beginners and advanced learners.

Notifications You must be signed in to change notification settings

chaitanyasai-2021/Flutter-Roadmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 

Repository files navigation

Flutter-Roadmap

In this repository you will learn Flutter from scratch .Throughout this roadmap, you will have a better understanding of the programming language Dart and the framework Flutter.

If you believe that a topic may be made better or that a comprehensive topic is missing? Then

Throughout this Flutter roadmap, there are checkboxes for every topic and projects that you can cover. You can track your progress by forking this project and marking the checkboxes accordingly.

What is Flutter ?

The open-source mobile application development platform called Flutter, developed by Google, has been quite popular in recent years, and this development is only expected to continue. Flutter is anticipated to become even more well-known among programmers and businesses trying to create cross-platform mobile applications in 2023.

Why Flutter ?

You might already know that there are several frameworks available that offer cross-platform capability, but what sets flutter apart from the competition?

Alt Text

Fast Development The quick reload feature of Flutter makes it effortless and speedy to test out new ideas, design UI, incorporate new features, and fix mistakes. Whether you are using iOS or Android devices, simulators or emulators, you can experience reload times in less than a second without losing any previous data. Read More..

Alt Text

Native Performance To provide full native performance on both iOS and Android, Flutter's widgets consider all major platform differences, such as scrolling, navigation, icons, and fonts. You can find examples of applications built with Flutter. Apps built with Flutter

Alt Text

Better UI The Users will be pleased with Flutter's appealing in-built Material Design and Cupertino (iOS style) widgets, dynamic motion APIs, smooth and natural scrolling, and its ability to adapt to different platforms. Check out the widget collection.

Alt Text

What is Dart ?

Okay, so now you know what Flutter is. We'll examine Dart's definition next because that is the programming language you will be using. Once more, there is a YouTube video that might assist you there:

Google Developers - Introducing Dart: https://www.youtube.com/watch?v=5KlnlCq2M5Q

Perhaps you feel that this explanation falls short for you and that a more in-depth understanding of Dart is necessary. You should be aware that Dart and Flutter have excellent documentation, from which you could potentially learn everything. Because of this, I discovered an overview of Dart here:

https://dart.dev/overview

Okay, now that we have learned what Flutter & Dart are, let's start installing Flutter & Dart.

🔧 Installation

Once you know how to do it, installing Flutter & Dart is not too difficult.

Given how excellent Flutter's documentation is, I've linked to every article you'll need to have a full Flutter setup here.

Windows Install: https://flutter.dev/docs/get-started/install/windows

Macos Install: https://flutter.dev/docs/get-started/install/macos

Linux Install: https://flutter.dev/docs/get-started/install/linux

Chrome OS Install: https://flutter.dev/docs/get-started/install/chromeos


Install Visual Studio Code: https://code.visualstudio.com/

Visual Studio Code Flutter Extension: https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

Install Android Studio: https://developer.android.com/studio/

💻 Online Courses To Learn Flutter:

If you are a total newbie and are searching for some YouTube playlists or Udemy classes, I would suggest the following:

🎯Dart Basics:

Before we can start, it’s quite important to understand the programming language we will be using over here for this reason, we will take a closer look at Dart's syntax.

If you're a beginner programmer, understanding OOP and stack data structures is a bonus! Otherwise, you don't need to study Dart explicitly because it is pretty comparable to Java, C++, and C# and you will learn it as you go.

Alt Text

The Dart documentation includes a Language Tour, which is well-written and comprehensive. Although the article may be lengthy, if you have read it thoroughly and comprehended its content, you can confidently say that you are familiar with Dart syntax and capable of writing Dart code.

📚 Resources to learn Dart


DartPad (Dart Language Online Compiler): https://dartpad.dev/?

JavatPoint: https://www.javatpoint.com/dart-first-program

Dart_Tutorial: https://dart-tutorial.com/introduction-and-basics/

Geeks_for_Geeks: https://www.geeksforgeeks.org/dart-tutorial/

Tutorials_Point: https://www.tutorialspoint.com/dart_programming/dart_programming_async.htm

freecodecamp youtube: https://www.youtube.com/watch?v=Ej_Pcr4uC2Q


Dart Basics Concepts Sub-Topics
  • Data Types and Variables
var, dynamic, int, String, double, bool, runes, symbols
  • Operators
bitwise AND &, bitwise XOR ^, bitwise OR, logical AND &&, logical OR, if null ?? , cascade ..,
  • Control Flow Statement
if and else, for loops, while and do-while, break and continue, switch and case, assert
  • Function
Function as a variable, optional and required parameters, fat arrow, named parameters, @required keyword, positional parameters, default parameter values, Function as first-class objects, Anonymous functions, lexical scopes, Lexical closures
  • Classes
Class members, Constructors, Getting object type, instance variables, getters and setters, Named constructors, Initializer, lists, Constant constructors, Redirecting constructors, Factory constructors, instance methods, abstract methods, abstract classes, Inheritance, Overriding, Overriding operators, noSuchMethod(), Extension methods, Enums, Mixins (on keyword in mixins), Static keyword, static variables and methods
  • Lists
List (Fixed and Growable), methods
  • Map
Map (Fixed and Growable), methods
  • Async
Futures, await, async, Streams, Stream methods
  • OOP
Objects, Class and Objects, Constructor, Default Constructor, Parameterized Constructor, Named Constructor, Constant Constructor, Encapsulation, Getter, Setter, Inheritance, Inheritance of Constructors, Super Keyword, Polymorphism, Static, Enum, Abstract Class, Interface, Mixin, Factory Constructor, and Generics in Dart.
Advance Concepts
  • Streams
  • Futures
  • Functional Programming
  • ASync/Await

Flutter Basics:

Widgets Assets Vs Control Animations Responsive Project Examples
  • Stateless Widget
  • Images
  • Git and Github
  • Animated Widgets
  • Media Query
  • Signup and Login App Using Splash
  • Stateful Widget
  • App Icons
  • Tween Animations
  • Layout Builders
  • Sound Play App (imort various songs and play them with a tap)
  • Material Widget
  • Sounds/Audio
  • Curved Animations
  • Responsive Widgets
  • Create an App UI of your own
  • Cupertino Widget
  • Fonts
  • Hero Animations
  • Cupertino Widget
  • Video
  • Rive and Flare

State Management:

State Management Project Examples
  • Provider
  • Counter App
  • Riverpod
  • Weather App
  • Bloc
  • Todo App
  • Redux
  • GetX

💾 Local Storage:

Local Storage Project Examples
  • Hive
  • Counter App
  • SQfLite
  • Todo App
  • Shared Preferences
  • Theme Switcher App

📱Device Features:

Device Features Project Examples
  • Camera Access
Check internet connection
  • Image Picker
Picker App (where you should add an image, sound, and video access permission)
  • Apps Permissions
  • Contacts from a Phone

🔥Firebase:

| Firebase | Project Examples |
|------------|
|

  • Authentication
| Chat App (Whatsapp clone) | |
  • OTP Verification
| Facebook clone | |
  • CRUD
| Todo App | |
  • Storage
| Notes App | |
  • Firestone
|| |
  • Push Notification
|| |
  • Remote Config
||

🔗Working with API’s:

API'S
  • Rest API
  • HTTP/DIO
  • Jason Parsing
  • Networking
  • GraphQL
  • Web Socket

🌍Google Map in Flutter:

Google Maps in Flutter
  • Google Map API
  • Current Location
  • Multiple Markers
  • Tracker
  • Route Polylines
  • Zoom in/out

🏢Architecture:

Architecture
  • MVC
  • MVP
  • MVVM

⌨️Testing Flutter:

Testing Flutter
  • Unit Testing
  • Widget Testing
  • Integration Testing
  • TDD
  • BDD

🚀Deployment:

Deployment
  • App Store
  • Play Store

Additional

🎨Design Principles:

Design Principles
  • Design Patterns
  • SOLID Principles

📊Analytics:

Analytics
  • Google Analytics
  • Firebase Analytics
  • Segment
  • MixPanel

CI / CD in Flutter:

CI/CD in Flutter
  • CodeMagic
  • Bitrise
  • Github Actions
  • Firebase App Dist

🗃️Database for Flutter:

Database for Flutter
  • SQL
  • MySQL
  • SQL Servers
  • No SQL
  • MangoDB

🔗Important Links

This is the end of the Flutter Roadmap, but there is still a lot more to learn about Flutter.To delve deeper into Flutter, we recommend exploring resources such as other websites, and other learning materials.

🎥YouTube Channels

Flutter (Official channel) - https://www.youtube.com/c/flutterdev

Flutter Community - https://www.youtube.com/c/FlutterCommunityVideos

Code with Andrea - https://www.youtube.com/c/CodeWithAndrea

👀Medium Channel

Flutter - https://medium.com/flutter

👥Discord

/r/Flutter - https://discord.gg/ckUeC6fsrg


Make sure to 🌟 the Repo!

Visitor Count

About

A complete roadmap for learning Flutter and Dart, covering key concepts like widgets, state management, Firebase, and app deployment. Includes tutorials and project examples for both beginners and advanced learners.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published