Fun with Flutter
Publishing a Flutter Package
updated
🐦 Twitter: twitter.com/gordonphayes
Twitter: twitter.com/gordonphayes
Github: github.com/HayesGordon
Fun with Flutter Github: github.com/funwithflutter
Medium: medium.com/@gordon.hayes
Courses: http://courses.funwith.app
#Shorts
🔗 Where you can find me:
Twitter: twitter.com/gordonphayes
Courses: http://courses.funwith.app
Github: github.com/HayesGordon
Fun with Flutter Github: github.com/funwithflutter
Medium: medium.com/@gordon.hayes
#Shorts #Flutter
🖇 LINKS
1️⃣ Appwrite
bit.ly/3OrDE7T
2️⃣ Appwrite Documentation
bit.ly/3K0yD30
3️⃣ Appwrite Github
bit.ly/3Exma5s
4️⃣ Appwrite Discord
bit.ly/37yHaNh
5️⃣ Google Docs Clone: Source Code 👨💻
github.com/funwithflutter/google-docs-clone-flutter
6️⃣ Robert’s Video on Appwrite
youtube.com/watch?v=2d6evFfOX5Q
Gordon's Twitter: twitter.com/gordonphayes
Appwrite’s Twitter: twitter.com/appwrite
⏱ Timestamps:
0:00 00: Intro
3:59 01: Base Setup
5:08 02: Riverpod Setup
6:38 03: Routemaster Setup
11:37 04: Appwrite Setup
17:19 05: Authentication Repository
24:33 06: Authentication State Service
34:59 07: Login and Registration Pages
45:02 08: Add Logged-in Routes
51:58 09: Add Document UI and State
1:07:47 10: Create Documents
1:18:15 11: Update and Save Documents
1:35:22 12: Real-time Changes
1:48:45 13: Open and List All Documents
1:56:51 14: Extra Features and What’s Next
This game uses Box2D physics to add a twist to the slide puzzle.
Works best on Chrome. You might need a beefy machine to avoid lag.
https://puzzle.funwithflutter.dev/#/
github.com/funwithflutter/flutter_slide_puzzle
devpost.com/software/box2d-slider-puzzle
✍🏻 Article: https://www.funwithflutter.dev/flutter-keep-your-build-method-pure/
🐥 Twitter: twitter.com/gordonphayes
📚 Courses: bit.ly/funwithcourse
☕️ buymeacoffee.com/gordonhayes
Playlist: youtube.com/playlist?list=PLjr4ufdmNA4K5a_zZfNXBjMcCswinLlH2
Chapters:
0:00 Intro
2:30 Breaking changes v0.14.0
5:08 Scoped Provider replaced with Provider
6:47 ConsumerWidget build method prototype change
8:56 Other breaking changes v1.0.0
10:56 ProviderListener deprecated with ref.listen
13:23 Other deprecations v1.0.0
13:53 ConsumerStatefulWidget and ConsumerState
16:27 Filtering rebuilds with select on providers
17:28 ref.listen inside other providers
30:26 Other new features and changes
---
SUPPORT
Buy Remi a coffee and support Riverpod: buymeacoffee.com/remirousselet
Buy me a coffee cuz I like coffee:
buymeacoffee.com/gordonhayes
--
RIVERPOD TUTORIALS AND CODE
github.com/funwithflutter/riverpod_tutorials
---
SOCIALS
Twitter: twitter.com/gordonphayes
---
COURSES
http://courses.funwith.app
Easily manage multiple versions of Flutter on your local machine at the same time. Switch between Flutter versions and channels. This will assist with bigger project that have multiple environment and team members, or for Continuous Deliver / Continues Integration.
- - -
Courses:
http://courses.funwith.app
- - -
Socials:
twitter.com/gordonphayes
--
Program I use for mockups: bit.ly/rotatopro
This is an affiliate link, if you purchase from this link then I'll earn a small commission. Which is a great way to support the channel :)
--
Check out my Flutter Animation and Performance course.
Discounted link: bit.ly/funwithcourse
Or use the promo code: FUN
for a discount at checkout: https://courses.funwith.app
--
Github code: github.com/funwithflutter/flutter_ui_tips
--
Join me on the socials.
Twitter: twitter.com/gordonphayes
This video was sponsored by DataCamp.
--
Riverpod Tutorials and code:
github.com/funwithflutter/riverpod_tutorials
--
Check out my Flutter Animation and Performance course.
Discounted link: bit.ly/funwithcourse
Or use the promo code: FUN
for a discount at checkout ($15): https://courses.funwith.app
--
Join me on the socials.
Twitter: twitter.com/gordonphayes
--
Thumbnail photo:
Photo by t j on Unsplash (unsplash.com/@tianjin?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
--
Riverpod Tutorials and code:
github.com/funwithflutter/riverpod_tutorials
--
Check out my Flutter Animation and Performance course.
Discounted link: bit.ly/funwithcourse
Or use the promo code: FUN
for a discount at checkout: https://courses.funwith.app
--
Join me on the socials.
Twitter: twitter.com/gordonphayes
---
Chapters:
0:00 Intro
0:40 AsyncValue and FutureProvider Primer
7:37 Code Overview
9:55 Overrides for Mock Classes
11:04 State Notifier with AsyncValue
16:17 Handling Exceptions
22:00 Next up
--
Riverpod Tutorials and code:
github.com/funwithflutter/riverpod_tutorials
--
Check out my Flutter Animation and Performance course.
Discounted link: bit.ly/funwithcourse
Or use the promo code: FUN
for a discount at checkout: https://courses.funwith.app
--
Join me on the socials.
Twitter: twitter.com/gordonphayes
--
Riverpod Tutorials and code:
github.com/funwithflutter/riverpod_tutorials
--
Check out my Flutter Animation and Performance course.
Discounted link: bit.ly/funwithcourse
Or use the promo code: FUN
for a discount at checkout: https://courses.funwith.app
--
Join me on the socials.
Twitter: twitter.com/gordonphayes
--
Program I use for mockups.
bit.ly/rotatopro
This is an affiliate link, if you purchase from this link then I'll earn a small commission. Which is a great way to support the channel :)
--
Check out my Flutter Animation and Performance course.
Discounted link: bit.ly/funwithcourse
Or use the promo code: FUN
for a discount at checkout: https://courses.funwith.app
--
Github code: github.com/funwithflutter/flutter_ui_tips
--
Join me on the socials.
Twitter: twitter.com/gordonphayes
--
Program I use for mockups.
bit.ly/rotatopro
This is an affiliate link, if you purchase from this link then I'll earn a small commission. Which is a great way to support the channel :)
--
Check out my Flutter Animation and Performance course.
Discounted link: bit.ly/funwithcourse
Or use the promo code: FUN
for a discount at checkout: https://courses.funwith.app
--
Github code: github.com/funwithflutter/flutter_ui_tips
--
Join me on the socials.
Twitter: twitter.com/FunFlutter
---
Go check out the Amateur Coder YouTube channel for more great content and to see how to add Google, Apple and Twitter authentication to this sign in flow.
Amateur Coder: youtube.com/channel/UCNaJHBXsvbfkItVMNmzmTPQ
Add third party auth: youtube.com/watch?v=jK_n-6-PkSY
---
Ready to learn more? The full animation course can be accessed at:
bit.ly/funwithcourse
---
Chapters:
0:00 Overview
2:01 How to use a Custom Painter
16:13 Animating the paint
27:45 Lit and Firebase Initialization
31:09 Sign in form UI
45:55 Auth handlers
50:00 Creating multiple sign in pages
57:53 Animation Package and transitions
1:05:25 Authentication state
1:07:29 Add Page Transitions
1:14:09 Custom Notifications
The UI was greatly inspired by this design by Giga Tamarashvili
dribbble.com/shots/6371155-Sign-in-Sign-up-UI
---
Source code: github.com/funwithflutter/lit_firebase_auth_ui_demo
--
More about bezier curves:
stackoverflow.com/questions/7054272/how-to-draw-smooth-curve-through-n-points-using-javascript-html5-canvas
Go check out the package:
https://pub.dev/packages/lit_firebase_auth
Take a look at a live example:
funwithflutter.github.io/lit_firebase_example/#
Follow me on Twitter for updates:
twitter.com/funflutter
00:00 - Introduction
05:17 - Initialize
10:13 - Standard form
14:40 - Decoration
18:28 - Custom form
17:50 - What's next
In this video we explore Riverpod and its usage while building a Todo App.
Relevant links:
Riverpod: https://riverpod.dev/
Todo List example from the Riverpod documentation:
github.com/rrousselGit/river_pod/tree/master/examples/todos
This video is taken from my Flutter Animation and Performance course. It's available here:
Course: bit.ly/funwithcourse
Discount Code: FUN
00:00 - Overview
02:08 - Identify performance issues
09:22 - Repaint Boundary
13:40 - Image Caching
18:35 - Paint Phase, Tools, and when to use
27:47 - Identify if a RepaintBoundary is useful
Written Tutorial: https://blog.funwith.app/posts/provider-with-statenotifier/
00:00 - Overview
00:24 - MultiProvider
00:41 - StreamProvider
02:45 - FutureProvider
04:00 - ProxyProvider
Part one, Provider Basics with ChangeNotifier:
youtube.com/watch?v=NeAMD0lQ5jw&t=233s
Dealing with unwanted Widget rebuilds:
stackoverflow.com/questions/52249578/how-to-deal-with-unwanted-widget-build
00:00 - InheritedWidget
01:11 - Provider
02:09 - Read extension method
02:58 - Watch extension method
03:13 - ChangeNotifier
04:22 - Select extension method
04:52 - Consumer Widget
05:58 - Selector Widget
06:19 - Other tips
Part 2 | Proxy, Stream and Future :
youtube.com/watch?v=7ikm9k7Y1RQ&
Relevant links:
BlurHash overview: https://blurha.sh/
BlurHash GitHub: github.com/woltapp/blurhash
BlurHash Flutter: https://pub.dev/packages/flutter_blurhash
Credit to the creators and contributors of the package:
github.com/fluttercommunity/flutter_blurhash/graphs/contributors
Written Tutorial: levelup.gitconnected.com/using-firebase-in-flutter-web-4b99952180aa
Relevant Links:
Source code: github.com/funwithflutter/tutorials/tree/master/001-Flutter-Web-Firebase-Auth-Google
Firebase Auth package: https://pub.dev/packages/firebase_auth
Google Sing in package: https://pub.dev/packages/google_sign_in
Firebase: http://firebase.google.com
Device Preview Package:
https://pub.dev/packages/device_preview
Make a donation to the package creator:
buymeacoffee.com/aloisdeniel
Online preview:
flutter-device-preview.firebaseapp.com/#
twitter.com/aloisdeniel/status/1250839559933493248
In this tutorial, using the Stream platform, we explore their chat API and Flutter components to build a real-time chat application in Flutter using only 100 lines of code (give or take). Stream's integration with Flutter creates one of the fastest and easiest ways to incorporate live chat into your application.
Timestamps:
Flutter Chat Components: 3:42
Stream Dashboard: 22:24
Customizing Chat Components: 33:33
Relevant links:
Check out Stream: getstream.io
Check out Stream Chat: getstream.io/chat
Check out Stream's Flutter Chat Tutorial: getstream.io/chat/flutter/tutorial
Check out Stream's Flutter Social Network Tutorial: getstream.io/blog/stream-flutter-building-a-social-network-with-flutter-group-channels
Check out Flutter: https://flutter.dev/
https://pub.dev/packages/stream_chat_flutter
github.com/GetStream/stream-chat-flutter
github.com/GetStream/stream-cli
Github for the application in the video:
github.com/funwithflutter/flutter_stream_chat_app
Ready to learn more? The full animation course can be accessed at:
https://courses.funwith.app
Promo Code: FUN
Here is a link to get a discount:
https://courses.funwith.app/p/mastering-animation-in-flutter/?product_id=1679475&coupon_code=FUN
Take a look at my "Mastering Animation in Flutter Course":
fun-with-flutter.teachable.com/p/mastering-animation-in-flutter/?product_id=1679475
Written article: https://www.funwithflutter.dev/creating-custom-animation-curves-in-flutter/
Find the code here:
https://dartpad.dev/a3c7d5b24443efdf28ecd3ba19222555
Desmos Calculator:
desmos.com/calculator
fun-with-flutter.teachable.com/p/mastering-animation-in-flutter/?product_id=1679475&coupon_code=FUN
Use the promo code: FUN for a discount.
Play it for yourself and see if you can beat my high score (14):
funwithflutter.github.io/implicit_animation_game/#
A game I made in Flutter to showcase how easy it is to do animations using Implicit Animations. This is a preview video to an upcoming Flutter Animation Course that will be releasing soon.
Check out algoexpert.io/funwith and use the promo code "funwith" for a 15% discount.
Thanks to the supporters of the channel - GH and LEON (patreon.com/funwithflutter)
In this video we take a look at the Selection Sort Algorithm implemented in Flutter/Dart. Probably the easiest sorting algorithm. Sit back, make a coffee, and listen to me ramble about nothing for 5 minutes. Stick to the end - there's a thank you.
Head over to https://funwith.app for more content (made entirely in Flutter)
Source Code:
github.com/funwithflutter/flutter_algorithm_visualizer
Check out algoexpert.io/funwith and use the promo code "funwith" for a 15% discount.
Thanks to the supporters of the channel - GH and LEON (patreon.com/funwithflutter)
In this video we take a look at the Insertion Sort Algorithm. Quick and easy and we also showcase the app on Flutter Web.
Head over to https://funwith.app for more content (made entirely in Flutter)
Source Code:
github.com/funwithflutter/flutter_algorithm_visualizer
The algorithm above can be optimized by not iterating to 0 if the value has already been placed in the correct position. The actual app may be different to the sample you see in the video.
Companion Blog Post:
https://blog.funwith.app/posts/proxy-flutter-apps/
Support the channel:
patreon.com/funwithflutter
Like the content? Support the channel and get access to more stuff at:
patreon.com/funwithflutter
Additional Resources:
https://flutter.dev/docs/perf/rendering/ui-performance
https://flutter.dev/docs/development/tools/devtools
https://flutter.dev/docs/perf/rendering/best-practices
medium.com/flutter/profiling-flutter-applications-using-the-timeline-a1a434964af3
medium.com/flutter/performance-testing-of-flutter-apps-df7669bb7df7
In this video we take a look at the UI behind the Bubble Sort algorithm.
Interested in learning more about algorithms, definitely check out algoexpert.io/funwith and use the promo code "funwith" for a 15% discount.
Source Code:
github.com/funwithflutter/flutter_algorithm_visualizer
Go take a look at AlgoExpert if you want to learn more algorithms.
Use the promo code "funwith" at checkout for a 15% discount!
algoexpert.io/funwith
Want to support the channel? Head on over to:
patreon.com/funwithflutter
Source Code:
github.com/funwithflutter/flutter_algorithm_visualizer
In this video I walk you through the current method to incorporate Firebase into a Flutter Web application. Easy to do!
You can find the written tutorial here:
medium.com/@funwithflutter/using-firebase-in-flutter-web-4b99952180aa
Project Playlist:
youtube.com/watch?v=ZV8A1fCdrFg&list=PLjr4ufdmNA4LFPogroagyi8CylQH2XJNx
Support and win on Patreon:
patreon.com/funwithflutter
FunWith Site:
https://funwith.app
The code is open source, feel free to check it out at:
github.com/funwithflutter/fun-with-flutter-website
github.com/funwithflutter/fun-with-flutter-blog
You can find the written tutorial here:
medium.com/funwithflutter/flutter-web-importing-html-and-javascript-flutter-1-9-c728ae9eaf2f
Project Playlist:
youtube.com/watch?v=ZV8A1fCdrFg&list=PLjr4ufdmNA4LFPogroagyi8CylQH2XJNx
Support and win on Patreon:
patreon.com/funwithflutter
FunWith Site:
https://funwith.app
The code is open source, feel free to check it out at:
github.com/funwithflutter/fun-with-flutter-website
github.com/funwithflutter/fun-with-flutter-blog
You can find the written tutorial here:
https://blog.funwith.app/posts/flutter-web-updates-sept-2019/
Project Playlist:
youtube.com/watch?v=ZV8A1fCdrFg&list=PLjr4ufdmNA4LFPogroagyi8CylQH2XJNx
Support and win on Patreon:
patreon.com/funwithflutter
FunWith Site:
https://funwith.app
The code is open source, feel free to check it out at:
github.com/funwithflutter/fun-with-flutter-website
github.com/funwithflutter/fun-with-flutter-blog
Go give a look at the Patreon page
patreon.com/funwithflutter
The actual package
https://pub.dev/packages/confetti
Source code
github.com/funwithflutter/flutter_confetti
https://rive.app/
Course:
Learn to use the Flare Animation tool for vector animation to create great looking animations for your games and apps.
Course playlist:
youtube.com/playlist?list=PLjr4ufdmNA4Jt19RyRQPD7cMF0r0juDs8
What we'll be making in these videos:
2dimensions.com/a/funwithflutter/files/flare/rotating-progress-indicator/preview
2dimensions.com/a/funwithflutter/files/flare/kid-hero-demo/preview
https://rive.app/
Course:
Learn to use the Flare Animation tool for vector animation to create great looking animations for your games and apps.
Course playlist:
youtube.com/playlist?list=PLjr4ufdmNA4Jt19RyRQPD7cMF0r0juDs8
What we'll be making in these videos:
2dimensions.com/a/funwithflutter/files/flare/rotating-progress-indicator/preview
2dimensions.com/a/funwithflutter/files/flare/kid-hero-demo/preview
https://rive.app/
Course:
Learn to use the Flare Animation tool for vector animation to create great looking animations for your games and apps.
Course playlist:
youtube.com/playlist?list=PLjr4ufdmNA4Jt19RyRQPD7cMF0r0juDs8
What we'll be making in these videos:
2dimensions.com/a/funwithflutter/files/flare/rotating-progress-indicator/preview
2dimensions.com/a/funwithflutter/files/flare/kid-hero-demo/preview
https://rive.app/
Course:
Learn to use the Flare Animation tool for vector animation to create great looking animations for your games and apps.
Course playlist:
youtube.com/playlist?list=PLjr4ufdmNA4Jt19RyRQPD7cMF0r0juDs8
What we'll be making in these videos:
2dimensions.com/a/funwithflutter/files/flare/rotating-progress-indicator/preview
2dimensions.com/a/funwithflutter/files/flare/kid-hero-demo/preview
https://rive.app/
Course:
Learn to use the Flare Animation tool for vector animation to create great looking animations for your games and apps.
Course playlist:
youtube.com/playlist?list=PLjr4ufdmNA4Jt19RyRQPD7cMF0r0juDs8
What we'll be making in these videos:
2dimensions.com/a/funwithflutter/files/flare/rotating-progress-indicator/preview
2dimensions.com/a/funwithflutter/files/flare/kid-hero-demo/preview
https://rive.app/
Course:
Learn to use the Flare Animation tool for vector animation to create great looking animations for your games and apps.
Course playlist:
youtube.com/playlist?list=PLjr4ufdmNA4Jt19RyRQPD7cMF0r0juDs8
What we'll be making in these videos:
2dimensions.com/a/funwithflutter/files/flare/rotating-progress-indicator/preview
2dimensions.com/a/funwithflutter/files/flare/kid-hero-demo/preview
https://rive.app/
Course:
Learn to use the Flare Animation tool for vector animation to create great looking animations for your games and apps.
Course playlist:
youtube.com/playlist?list=PLjr4ufdmNA4Jt19RyRQPD7cMF0r0juDs8
What we'll be making in these videos:
2dimensions.com/a/funwithflutter/files/flare/rotating-progress-indicator/preview
2dimensions.com/a/funwithflutter/files/flare/kid-hero-demo/preview
https://rive.app/
Course:
Learn to use the Flare Animation tool for vector animation to create great looking animations for your games and apps.
Course playlist:
youtube.com/playlist?list=PLjr4ufdmNA4Jt19RyRQPD7cMF0r0juDs8
What we'll be making in these videos:
2dimensions.com/a/funwithflutter/files/flare/rotating-progress-indicator/preview
2dimensions.com/a/funwithflutter/files/flare/kid-hero-demo/preview
https://rive.app/
Course:
Learn to use the Flare Animation tool for vector animation to create great looking animations for your games and apps.
Course playlist:
youtube.com/playlist?list=PLjr4ufdmNA4Jt19RyRQPD7cMF0r0juDs8
What we'll be making in these videos:
2dimensions.com/a/funwithflutter/files/flare/rotating-progress-indicator/preview
2dimensions.com/a/funwithflutter/files/flare/kid-hero-demo/preview
https://rive.app/
Course:
Learn to use the Flare Animation tool for vector animation to create great looking animations for your games and apps.
Course playlist:
youtube.com/playlist?list=PLjr4ufdmNA4Jt19RyRQPD7cMF0r0juDs8
What we'll be making in these videos:
2dimensions.com/a/funwithflutter/files/flare/rotating-progress-indicator/preview
2dimensions.com/a/funwithflutter/files/flare/kid-hero-demo/preview


