Beginning Flutter 3.0 with Dart
Beginning Flutter 3.0 with Dart
A Beginner to Pro. Learn how to build Advanced Flutter 3.0 Apps
About the Book
Start as a Beginner and learn how to build Advanced Flutter 3.0 Apps in a few months.
What is the main advantage of this Book? It will always upgrade with Flutter.
It is at an advantage because I regularly write Flutter blog at my website https://sanjibsinha.com, and besides, I keep updating this book.
As a result you can update your knowledge from lesser known facts to unknown facts about Flutter.
Consequently the pages and words have been increasing since I have first published this book. If you get the book, it will always give you the most recent development that takes place in Flutter widget and user interface world.
In addition, as you progress, you'll find that more concise and succinct detail about the Flutter widgets, and besides that, inherent concepts regarding widgets are getting added in a regular basis. I hope, that'll help you to understand firstly, and secondly, build more robust Flutter applications.
For example, although in the first part we used old Provider package, we've updated that to the new version in the later section.
As you know, Flutter is a free and open-source mobile User Interface framework created by Google. Therefore, it doesn't cost you any money to build and test applications.
There are other tools for the mobile application developers. But Flutter has distinguished itself for its simplicity.
Moreover, Flutter has one single codebase that runs everywhere.
By the way, Flutter uses on programming language in the background – Dart.
Therefore, if you’re a beginner and want to learn Flutter from scratch, you must have a knowledge of Dart, as well. And, this book will help you to achieve this.
Now, if you learn Flutter, with the help of one programming language Dart, you will be able to create two mobile applications at the same time.
One for Android and the other for iOS.
However, to start with you need to install Flutter that consists of SDK or Software Development Kit.
In addition, the Flutter framework that consists of User Interface library based Widget will help you to build any design you want to do.
This book will teach you from the very beginning. How to install Flutter, what IDE you need. Above all, how to build your first mobile application.
Because Flutter uses Dart programming language, we will start with Flutter. But side by side we will also learn Dart and its implementation on Flutter.
As time passes by, we’ll keep updating this book as Flutter gets upgraded, adding new features. Moreover, you’ll learn them also in this book.
Bundles that include this book
Table of Contents
-
1. Getting Started with Flutter 3.0
- Download or Upgrade to the latest Flutter 3.0
- What is new in Flutter 3.0
- Who should read this book?
- Flutter for Windows
- Flutter for macOS and Linux
-
What are important concepts in Dart
- A Few Words About DART IDE
- Why Dart Language?
- Variable in Dart
- What is null safety in Dart
- What is Null Safety in Flutter
- What is “type” in Dart and Flutter
- How to implement types in Flutter
- Difference between final and constant
- Introduction to core libraries in Dart
- What is a Boolean in Dart and Flutter
- What are String values in Dart and Flutter
- Lists in Dart
- Why Map is important in Dart
- Arithmetic Operators in Dart
- Equality and relational operators
- What are Logical Operators
- Logical Operators in Dart
- Assignment Operators
- What is Conditional Expressions in Dart
- Relation between Flutter and Dart
- Functions and Objects
- Building the mobile application from scratch
-
2. Flutter and Dart Architecture: Understanding Class and Object
- Does Flutter require Dart
- What is Dart and Flutter function
- What are parameters in Dart
- What are top level functions in Dart
- What is Class in Dart
- How to use Dart and Flutter Class
- Flutter Structure for Beginner
- More In-Depth Introduction to Class and Objects
- How two objects interact
- More about classes and objects
- How Flutter and Dart work together
- Positional and Named argument
-
3. Dart Language Basic and its implementation in Flutter
- Variables Store References
- Built-in Types in Dart
- Suppose, you don’t like Variables
- More about built-in types
- Understanding Strings
- To be True or to be False
- Introduction to Collections: Arrays are Lists in Dart
- Get, Set and Go
- Operators are Useful
- Equality and relational operators
- Type test operators
- Assignment operators
- Summary of this Part
- Implementing Dart concepts to Flutter
-
4. Digging Deep into Dart to learn Flutter Logic
- Control the flow of your code
- If and Else
- Conditional Expression
- Looking at Looping
- While and Do-While
- Understanding the Looping Patterns
- For Loop Labels
- Continue with For Loop
- Decision making with Switch and case
- Digging Deep into Object-Oriented Programming
- More about Constructors
- How to implement Classes
- More on Functions or Methods
- Lexical Scope in Function
- A few words about Getter and Setter
- More than one Constructor
- Changing the UI of the Flutter projects
- What are constraints in flutter
- What are BoxConstraints in Flutter
- What is widget in Flutter
- What is element in Flutter
-
5. How to build Flutter UI using Widgets
- Common Widgets in Flutter
- Powerful Basic Widgets
- Anonymous Functions: Lambda, Higher Order Functions, and Lexical Closures
- Exploring Higher-Order Functions
- Inheritance and Mixins in Dart
- Mixins: Adding more Features to a Class
-
6. Layouts in Flutter, Tips and Tricks
- Customize child Widgets
- Layout mechanism of Flutter
- Library of layout widgets
- Abstract Class and Methods
- Advantage of Interfaces
- Static Variables and Methods
- The ‘Closure’ is a Special Function
- Data Structures and Collections
- Lists: Fixed Length and Growable
- Set: An Unordered Collections of Unique Items
- Maps: the Key, Value Pair
- Queue is Open-Ended
- Callable Classes
- Exception Handling
- Dart Packages and Libraries
-
7. Introduction to State Management and Form Validation in Flutter and Dart
- State is mutable
- Life cycle of State
- Role of Controller in TextField Widget
- How List and Map used in StateFul DropdownButton Widget
- How to Valiadate a Form using State Management
-
8. Provider: A recommended approach to manage State and Model-View-Controller Pattern
- Different approaches to state management
- A Step by Step guide to use Provider
- Riverpod, another state management package, Riverpod migration, WidgetRef ref, and What is new in Riverpod
- Why we need the latest Flutter and Dart SDK?
- Is Riverpod better than Provider?
- What is a WidgetRef?
- Model class with StateNotifierProvider in new Riverpod
- Model-View-Controller Patterns
-
9. Everything about Flutter Navigation and Route
- Why do you use onGenerateRoute in flutter?
- How do you use onGenerateRoute in Flutter?
- How to use a dynamic initial route?
- What is Flutter Navigation and how does Flutter Navigator work?
- How do you pass data from one class to another in flutter?
- What is enum in Dart flutter? How to use enum in Flutter?
- How do you change the theme on Flutter?
- How do you name a route in Flutter?
- How do you pass data from one screen to another in flutter?
- How do you make a Flutter app from scratch?
-
10. More on Flutter UI, List, Map, and Provider Best Practices
- How do you use decoration in a container in Flutter?
- What is a RichText in flutter?
- Stateful vs Stateless Flutter
- What is GridTile Flutter? How do you use grid tiles in Flutter?
- What is change notifier provider in Flutter?
- How do you change the font on flutter?
- How do I store persistent data in Flutter?
- What is data model in Flutter?
- How do you pass data between screens in flutter?
- How do you pass data with provider in Flutter?
- What is provider pattern Flutter?
- How do you use ChangeNotifierProvider in Flutter?
- What is ChangeNotifierProvider value?
- What is navigator and route in Flutter?
- How do you pass arguments in Navigator pushNamed?
-
11. Google’s Flutter 2.5 and Dart 2.14, What’s New
- What is MaterialBanner?
- How do you Map a dart list in Flutter 2.5?
- How to start with an app template in Flutter 2.5
- The latest version of Flutter comes with many new features
- How do you do localization in flutter 2.5?
- How do you pass data to a widget in flutter 2.5?
- How to Pass and Receive data in Flutter 2.5
-
12. Understanding Material Design in Flutter
- What is Material Design in flutter?
- AppBar Flutter: How Do I use AppBar?
- How do I use BottomNavigationBar in flutter?
- What is a drawer in flutter?
- What is Material App in Flutter?
- What is a theme in Flutter?
- What is scaffold in Flutter?
- How do you make a TabBar in flutter?
- How do I create a DropdownButton in flutter?
- What is Material State in Flutter?
- How do I add a checkbox in flutter?
- How do I use a checkbox widget in flutter?
- What is elevated Button in flutter?
- What is text button in Flutter?
- What is outlined button in flutter?
- How do you use the icon button flutter?
- How do you use a TextField in Flutter?
- How do you make a flutter card?
- What is the grid view in Flutter?
- What is GridView count in flutter?
- What is GridView.extent in Flutter?
- How do you use chip in flutter?
-
13. Slivers and Scrolling Widgets
- What is SliverAppBar in flutter?
- How do I make my collapsing toolbar flutter?
- What is SliverGrid in flutter?
- SliverPersistentHeader Flutter, a sliver whose size varies
- How do you use slivers flutter?
- How to use CustomScrollView in Flutter?
- How to use NestedScrollView in flutter?
- How to use PageView in Flutter
- What is PageView builder in flutter?
- What is PageView custom in flutter?
- How to use DraggableScrollableSheet
- Flutter Scrollbar Interactive
- How to use Scrollbar in flutter
- How to use ReorderableListView
- How to rearrange list in flutter
- What is Scrollable in flutter
- What is ListView in flutter
- What is ListView builder in flutter
- What is ListView separated
- What is ListView custom
- What is single child ScrollView in flutter
-
14. A Close Encounter with Provider package and State Management
- What is provider in Flutter?
- What is Consumer Flutter?
- What is Flutter Selector?
- How to use Selector Flutter
- What is Flutter Selector child
-
15. User Interface, Style, Theme and App Design
- What are constraints in flutter
- What are BoxConstraints in Flutter
- What is widget in Flutter
- What is element in Flutter
- What is Align in Flutter
- How to use aspect ratio widget
- What is Baseline in Flutter
- How to use theme in Flutter
- How to use theme with Provider on flutter
-
16. Flutter 2.8, Future, await, async and Database
- What is new in Flutter 2.8
- Future, await and async
- Which database we use in Flutter
- SQLite Database and Flutter
-
17. Create, Retrieve, Update and Delete with SQLite Database: Build A Blog and My Diary Application in Flutter
- SQLite Blog in Flutter: First Part
- SQLite Blog, Flutter: Second Part
- SQLite Blog, Flutter: Final Part
-
18. Scoped Model, Provider, SQLite Database and FutureBuilder
- SQLite with Provider in Flutter
- What is Scoped Model in flutter
- Scoped Model and SQLite in Flutter
- What is future builder in Flutter
-
19. Future then, aync, await, API, JSON: Let’s build a Current Weather Tracker App
- Future Flutter: WithHer App – Step 1
- Geolocator plugin makes our life easier
- What is asynchronous programming?
- What is Future in Flutter?
- What are async and await?
- Flutter State: WithHer App – Step 2
- API Flutter: WithHer App – Step 3
- What is an API?
- How can we use API in Flutter?
- JSON Flutter: WithHer App – Step 4
- What is JSON in Flutter?
- Future Then: WithHer App – Step 5
- What is Future.then() method?
- The difference between Future then and async, await
- Future in Flutter: WithHer App – Step 6
- What is Future in Flutter?
- Display data with Future in Flutter
- Pass data to State Flutter: Final Weather App
- Passing data from a Stateful Widget
- Pass data to a State object in Flutter
-
20. Building Two Flutter Chat Apps with Firebase, and Firestore - First app with Stateful Widget, Second App with Provider
- Chat App with Stateful widget – Step One
- Is Flutter and Firebase full stack?
- Is Firebase easy to learn?
- How to Initialise Chat App and Avoid Errors
- What is Firebase in Flutter?
- Initialise App and avoid errors
- Firebase Chat App authentication
- How Firebase authentication works
- Stateful Chat App Final Step
- How does Firestore work in Flutter?
- How do you fetch data from Firestore database in Flutter?
- Flutter Chat app with Provider, Firebase and Firestore
- Firebase, Firestore rules for Flutter Chat App
- Firestore collection rules playground
- How to deal with the Business logic
- The Business Logic and Provider
- The Authentication flow
- Flutter Chat app UI: designing the pages
- How Flutter Chat app UI works
- Chat Apps for Android with Flutter and Firebase
- 21. What Next?
Causes Supported
Amazon Watch
Supporting Indigenous Peoples. Protecting the Amazon.
http://amazonwatch.orgAmazon Watch is a nonprofit organization founded in 1996 to protect the rainforest and advance the rights of indigenous peoples in the Amazon Basin. We partner with indigenous and environmental organizations in campaigns for human rights, corporate accountability and the preservation of the Amazon's ecological systems.
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them