Table of Contents
- Custom Clippers in Flutter
- Check if Website is Up or Down in Dart
- Section Titles on ListView in Flutter
- Circular Progress in Flutter
- Displaying Scroll Wheels in Flutter
- Post Messages to Slack with Dart
- Unwrap
List<T?>?
in Dart - Avoiding UI Jitters When Switching Widgets in Flutter
- Detect Redirects in Dart
- Proportional Constraints in Flutter
- Displaying Cupertino Action Sheets in Flutter
- Rotating
List<T>
in Dart - Displaying SnackBars in Flutter
- Custom Tab Bar Using ToggleButtons in Flutter
- Hashable Mixins in Dart
- Flutter Tips and Tricks in Terminal
- Searching
List<List<T>>
in Dart - Cloning Objects in Dart
- Color Filters in Flutter
- Flattening Lists in Dart
- Managing Duplicates in
List<T>
in Dart - FlatMap and CompactMap in Dart
- Equality of
List<T>
in Dart - Constants in Dart
- Displaying Scrollable Bottom Sheets in Flutter
- YouTube Ad Remover in Dart
- Fade Between Widgets in Flutter
- Sort Descriptors in Dart
- User Sortable Columns and Tables in Flutter
- Content-Length of
List<Uri>
in Dart - Recursive Dot Notation on Maps in Dart
- Allow User Selection of Text in Flutter
- Placing Constraints on Widgets in Flutter
- Animating Position Changes in Flutter
- Transitioning Between Widgets in Flutter
- Doubly Linked Lists in Dart
- Reordering Items Inside List Views in Flutter
- Custom Stream Transformers in Dart
- Expanding Stream Elements in Dart
- Consume Streams for a Duration in Dart
- Shortening URLs in Dart
- LimitedBox Widget as ListView Items in Flutter
- Generically Convert Anything to Int in Dart
- Validating URL Certificates in Dart
- Displaying Popup Menus in Flutter
- Implementing Drag and Drop in Flutter
- Dismissing List Items in Flutter
- Animating Widgets with Ease in Flutter
- Displaying Tool Tips in Flutter
- Displaying Assorted Widgets Inside TableView in Flutter
- Page Indicator with Page View in Flutter
- Animating and Moving a Floating Action Button in Flutter
- Fading Network Image Widget in Flutter
- Transparent Alert Dialogs in Flutter
- Network Image Size in Dart
- Animated Icons in Flutter
- Custom Scroll Views in Flutter
- Parallax App Bar in Flutter
- JSON HTTP Requests in Dart
- URL Timeouts in Dart
- Detecting URL File Types in Dart
- Paginated Lists in Dart
- Requesting DELETE on APIs in Dart
- Animated Containers in Flutter
- Hiding Widgets in Flutter
- Simple Opacity Animation in Flutter
- Vignette Widget in Flutter
- Drop Down Button Configuration and Usage in Flutter
- Expandable List Items in Flutter
- Infinite Scrolling in Flutter
- Infinite Arrays in Dart
- Custom Color Picker Component in Flutter
- Displaying and Reacting to Switches in Flutter
- Displaying Bottom Bars in Flutter
- Displaying Buttons on AppBar in Flutter
- Displaying Bottom Sheets in Flutter
- Converting Enums to Radio Buttons in Flutter
- Check Existence of Websites in Flutter
- Images inside AlertDialog in Flutter
- Returning Values from AlertDialog in Flutter
- Simple Grid View in Flutter
- Rendering Bullet Points in Flutter
- Retrying Futures in Flutter
- Containers as ClipOvals in Flutter
- Rich Texts in Flutter
- Wrapping Widgets in Flutter
- Sweep Gradients in Flutter
Stream
andStreamBuilder
in Flutter- Blur Effect in Flutter
- Convert Enums to Strings in Dart
- Replacing Text in TextField in Flutter
- Aspect Ratio in Flutter
- Zoom and Pan in Flutter
- Resizing Images in Flutter to Fit Screen Height
- Validating URLs in Flutter
- FrameBuilder for Network Images in Flutter
- Adding Shadow to Icons in Flutter
- Calculating Median of Lists in Dart
- Generic Functions with Reduce in Dart
- Passing Back Data From a Screen to the Previous One in Flutter
- Flinging an Animation in Flutter
- Fade Animations in Flutter
- Throttling User Input in Flutter
- Censoring TextFields in Flutter
- Customizing TextButton in Flutter
- Multiline TextFields in Flutter
- Filtering TextField Input in Flutter
- Focusing Manually on TextFields in Flutter
- Data Streams Over HTTP/HTTPs in Dart
- Catching Nonexistent Accessors or Methods in Dart
- Using Expando in Dart
- Implementing Custom Maps in Dart
- Dynamically Calling Functions in Dart
- Factory Constructors in Dart
- Calculating the Sum of List Items in Dart
- Removing Duplicate Strings in Lists in Dart (Case-Insensitive)
- Implementing Range in Dart
- Converting Lists to Maps in Dart
- Implementing Hashable in Dart
- Random Name Generator in Dart
- Capturing Stack Traces in Dart Exceptions
- Removing Duplicates from Lists in Dart
- Optional Spread Operator in Dart
- Calling Optional Functions in Dart
- Odd-Even Sort in Dart
- Implementing Zip and Tuples in Dart
- Swapping Values in Lists with XOR in Dart
- Waiting for Multiple Futures in Dart
- Using Queues as Stacks in Dart
- Custom Iterators in Dart
- Iterables as Ranges + Transform in Dart
- Errors vs Exceptions in Dart
- Custom Annotations in Dart
- Classes as Enums in Dart
- Spread Operator in Collection Literals in Dart
StreamBuilder
andStreamController
in Dart- Almost Equal in Dart
- Enum Associated Values in Dart
- Implementing
Comparable
in Dart - Implementing Custom Integer Types in Dart
- Custom Subscripts in Dart
- Dart List Enumeration with Index
- Applying Mixins to Other Mixins in Dart
- Parameter Types in Dart
- Custom Exceptions in Dart
rethrow
ing Exceptions in Dartmixin
s and JSON Parsing in Dartmixin
s vsabstract class
es in Dart- Drawing Shapes in Flutter with
LayoutBuilder
,CustomPaint
andCustomPainter
- Generic Type Aliases in Dart
- Callable Classes in Dart
- Synchronous Generators in Dart
- Implicit Interfaces in Dart
const
Constructors in Dartasync
-await
Over RawFuture
s in Dart- Initializer List and Default Values as Convenience Intializers in Dart
- Extract Elements of Certain Type from Lists in Dart
- Type Promotion in Dart
- Extract Minimum and Maximum Values in
List<num>
in Dart - Functions as First Class Citizens in Dart
Custom Clippers in Flutter
Check if Website is Up or Down in Dart
Section Titles on ListView in Flutter
Circular Progress in Flutter
Displaying Scroll Wheels in Flutter
Post Messages to Slack with Dart
List<T?>?
in Dart
Unwrap
Avoiding UI Jitters When Switching Widgets in Flutter
Detect Redirects in Dart
Proportional Constraints in Flutter
Displaying Cupertino Action Sheets in Flutter
List<T>
in Dart
Rotating
Displaying SnackBars in Flutter
Custom Tab Bar Using ToggleButtons in Flutter
Hashable Mixins in Dart
Flutter Tips and Tricks in Terminal
List<List<T>>
in Dart
Searching
Cloning Objects in Dart
Color Filters in Flutter
Flattening Lists in Dart
List<T>
in Dart
Managing Duplicates in
FlatMap and CompactMap in Dart
List<T>
in Dart
Equality of
Constants in Dart
Displaying Scrollable Bottom Sheets in Flutter
YouTube Ad Remover in Dart
Fade Between Widgets in Flutter
Sort Descriptors in Dart
User Sortable Columns and Tables in Flutter
List<Uri>
in Dart
Content-Length of
Recursive Dot Notation on Maps in Dart
Allow User Selection of Text in Flutter
Placing Constraints on Widgets in Flutter
Animating Position Changes in Flutter
Transitioning Between Widgets in Flutter
Doubly Linked Lists in Dart
Reordering Items Inside List Views in Flutter
Custom Stream Transformers in Dart
Expanding Stream Elements in Dart
Consume Streams for a Duration in Dart
Shortening URLs in Dart
LimitedBox Widget as ListView Items in Flutter
Generically Convert Anything to Int in Dart
Validating URL Certificates in Dart
Displaying Popup Menus in Flutter
Implementing Drag and Drop in Flutter
Dismissing List Items in Flutter
Animating Widgets with Ease in Flutter
Displaying Tool Tips in Flutter
Displaying Assorted Widgets Inside TableView in Flutter
Page Indicator with Page View in Flutter
Animating and Moving a Floating Action Button in Flutter
Fading Network Image Widget in Flutter
Transparent Alert Dialogs in Flutter
Network Image Size in Dart
Animated Icons in Flutter
Custom Scroll Views in Flutter
Parallax App Bar in Flutter
JSON HTTP Requests in Dart
URL Timeouts in Dart
Detecting URL File Types in Dart
Paginated Lists in Dart
Requesting DELETE on APIs in Dart
Animated Containers in Flutter
Hiding Widgets in Flutter
Simple Opacity Animation in Flutter
Vignette Widget in Flutter
Drop Down Button Configuration and Usage in Flutter
Expandable List Items in Flutter
Infinite Scrolling in Flutter
Infinite Arrays in Dart
Custom Color Picker Component in Flutter
Displaying and Reacting to Switches in Flutter
Displaying Bottom Bars in Flutter
Displaying Buttons on AppBar in Flutter
Displaying Bottom Sheets in Flutter
Converting Enums to Radio Buttons in Flutter
Check Existence of Websites in Flutter
Images inside AlertDialog in Flutter
Returning Values from AlertDialog in Flutter
Simple Grid View in Flutter
Rendering Bullet Points in Flutter
Retrying Futures in Flutter
Containers as ClipOvals in Flutter
Rich Texts in Flutter
Wrapping Widgets in Flutter
Sweep Gradients in Flutter
Stream
and StreamBuilder
in Flutter
Blur Effect in Flutter
Convert Enums to Strings in Dart
Replacing Text in TextField in Flutter
Aspect Ratio in Flutter
Zoom and Pan in Flutter
Resizing Images in Flutter to Fit Screen Height
Validating URLs in Flutter
FrameBuilder for Network Images in Flutter
Adding Shadow to Icons in Flutter
Calculating Median of Lists in Dart
Generic Functions with Reduce in Dart
Passing Back Data From a Screen to the Previous One in Flutter
Flinging an Animation in Flutter
Fade Animations in Flutter
Throttling User Input in Flutter
Censoring TextFields in Flutter
Customizing TextButton in Flutter
Multiline TextFields in Flutter
Filtering TextField Input in Flutter
Focusing Manually on TextFields in Flutter
Data Streams Over HTTP/HTTPs in Dart
Catching Nonexistent Accessors or Methods in Dart
Using Expando in Dart
Implementing Custom Maps in Dart
Dynamically Calling Functions in Dart
Factory Constructors in Dart
Calculating the Sum of List Items in Dart
Removing Duplicate Strings in Lists in Dart (Case-Insensitive)
Implementing Range in Dart
Converting Lists to Maps in Dart
Implementing Hashable in Dart
Random Name Generator in Dart
Capturing Stack Traces in Dart Exceptions
Removing Duplicates from Lists in Dart
Optional Spread Operator in Dart
Calling Optional Functions in Dart
Odd-Even Sort in Dart
Implementing Zip and Tuples in Dart
Swapping Values in Lists with XOR in Dart
Waiting for Multiple Futures in Dart
Using Queues as Stacks in Dart
Custom Iterators in Dart
Iterables as Ranges and Transform in Dart
Errors vs Exceptions in Dart
Custom Annotations in Dart
Classes as Enums in Dart
Spread Operator in Collection Literals in Dart
StreamBuilder
and StreamController
in Dart
Almost Equal in Dart
Enum Associated Values in Dart
Comparable
in Dart
Implementing
Implementing Custom Integer Types in Dart
Custom Subscripts in Dart
Dart List Enumeration with Index
Applying Mixins to Other Mixins in Dart
Parameter Types in Dart
Custom Exceptions in Dart
rethrow
ing Exceptions in Dart
mixin
s and JSON Parsing in Dart
mixin
s vs abstract class
es in Dart
LayoutBuilder
, CustomPaint
and CustomPainter
Drawing Shapes in Flutter with
Generic Type Aliases in Dart
Callable Classes in Dart
Synchronous Generators in Dart
Implicit Interfaces in Dart
Did you know that in #Dart, every #class implicitly exports an #interface that can be #implemented (as opposed to #extended) by other classes? This is called "implicit interface".
Do you know how "const" constructors work in #Dart?
Did you know that in #Dart, it is actually preferred to use #async and #await over using raw #Futures?
In #Dart, you can use a combination of #Initializer #List plus default values for your class #member #fields to create elegant and handy convenience initializers
Did you know that in #Dart, you can extract elements of a certain type from your Lists using the #whereType #generic #function instead of calculating the #equality yourselves?
Do you know about #Type #Promotion in Dart?
"address" is an optional field of the "Person" class. If you look at the "doThis()" function you see that I'm saving the value of address in a local variable and then comparing it with null and then returning if it's null. The Dart compiler is intelligent enough to understand that after the if-statement, "address" is NOT null anymore since you've already compared it with null and returned from the function.
If you look at the "insteadOfThis" function, the first one, the Dart compiler cannot make the same assumption if you don't first store the value of address in a local variable. In that first function the Dart compiler, even after the if-statement, needs you to refer to address as an optional, using "address?" syntax.
The mechanism the Dart compiler uses in the "doThis()" function is called Type Promotion.