Launching my own apps 📦
this is how you can know that people are still subscribed to your app with @RevenueCat
#fluttertips #flutterdev
this is how you can know that people are still subscribed to your app with @RevenueCat
#fluttertips #flutterdev
Fake > mocks
When testing in Flutter, the goal is to ensure your code works correctly while remaining easy to refactor.
Mocking frameworks like Mockito or Mocktail are popular. But they often lead to tests that are coupled to implementation details.
#flutterdev #fluttertips
Fake > mocks
When testing in Flutter, the goal is to ensure your code works correctly while remaining easy to refactor.
Mocking frameworks like Mockito or Mocktail are popular. But they often lead to tests that are coupled to implementation details.
#flutterdev #fluttertips
Icons are way more important than you think
Always ship new apps with multiple icons
You'd be surprised on the impact of a simple icon
#flutterdev #fluttertips
Icons are way more important than you think
Always ship new apps with multiple icons
You'd be surprised on the impact of a simple icon
#flutterdev #fluttertips
A complete Supabase Query Cheat Sheet
Supabase is now my prefered solution for serverless backend. The power of Postgres directly within your flutter app.
I could create 10x more snippets like this but I think these are the most important to know.
Have fun!
#flutterdev
A complete Supabase Query Cheat Sheet
Supabase is now my prefered solution for serverless backend. The power of Postgres directly within your flutter app.
I could create 10x more snippets like this but I think these are the most important to know.
Have fun!
#flutterdev
Dynamic function invocation
In Dart, you can invoke functions dynamically using Function.apply. This is particularly useful when you don't know which arguments or named parameters will be passed until runtime.
Dynamic function invocation
In Dart, you can invoke functions dynamically using Function.apply. This is particularly useful when you don't know which arguments or named parameters will be passed until runtime.
That's why ApparenceKit V5 will provide you with a landing template:
- few components included
- Fill in your config/terms & privacy page
- Replace logo images and texts
- Responsive
Publish on Firebase Hosting or other platforms.
Easy
That's why ApparenceKit V5 will provide you with a landing template:
- few components included
- Fill in your config/terms & privacy page
- Replace logo images and texts
- Responsive
Publish on Firebase Hosting or other platforms.
Easy
You can use the logical-or pattern (||) to group different object types together in a single switch case, provided they share the same property names and types.
🥊 Advanced merge case logic
#flutterdev #fluttertips
You can use the logical-or pattern (||) to group different object types together in a single switch case, provided they share the same property names and types.
🥊 Advanced merge case logic
#flutterdev #fluttertips
Instead of separate lines for checking types and casting variables, you can now perform destructuring and validation simultaneously
🫡 Replace sealed class type cast to type checking
#flutterdev #fluttertips
Instead of separate lines for checking types and casting variables, you can now perform destructuring and validation simultaneously
🫡 Replace sealed class type cast to type checking
#flutterdev #fluttertips
- what is the difference between local and push notifications
- how to handle those 2
- some good practice to send batch
- how to send push notifications using firebase to iOS and Android
apparencekit.dev/blog/flutte...
#flutterdev
- what is the difference between local and push notifications
- how to handle those 2
- some good practice to send batch
- how to send push notifications using firebase to iOS and Android
apparencekit.dev/blog/flutte...
#flutterdev
Implement continuous network connectivity monitoring
if you create a multiplayer game or a chatbot you may need the user to be connected. Here’s how you can do it
👉 Be careful to not start this twice
Implement continuous network connectivity monitoring
if you create a multiplayer game or a chatbot you may need the user to be connected. Here’s how you can do it
👉 Be careful to not start this twice
But no.
In fact, it's still a really good start even if you use AI.
This provides a solid structure with lots of code already tested that you can trust.
So now AI can just do what it is good for:
👉 copy
But no.
In fact, it's still a really good start even if you use AI.
This provides a solid structure with lots of code already tested that you can trust.
So now AI can just do what it is good for:
👉 copy
What you do now?
What you do now?
How to automatically create a new Apple Store version in 1 command?
Skipping filling that promotional text manually and wasting tons of time
It's also great to track your ASO changes
Now you know exactly when you changed a keyword or title
Enjoy 🤘
#flutterdev #fluttertips
How to automatically create a new Apple Store version in 1 command?
Skipping filling that promotional text manually and wasting tons of time
It's also great to track your ASO changes
Now you know exactly when you changed a keyword or title
Enjoy 🤘
#flutterdev #fluttertips
build deploy and submit your iOS app for review in one command using Fastlane
Don't forget to create app store connect keys and push them to a .env file before using this script
Enjoy 🤘
#fluttertips #flutterdev
build deploy and submit your iOS app for review in one command using Fastlane
Don't forget to create app store connect keys and push them to a .env file before using this script
Enjoy 🤘
#fluttertips #flutterdev
AI is trained to be generic, without as many opinions as possible (though they are full of bias, but that’s not the subject here).
But you want it to architect, code... as much like you as possible
(but way faster).
AI is trained to be generic, without as many opinions as possible (though they are full of bias, but that’s not the subject here).
But you want it to architect, code... as much like you as possible
(but way faster).
And the second people notice it's vibe coded
You lose their trust
And the second people notice it's vibe coded
You lose their trust
The best local database : Drift
- works on all platform
- stable
- fast
- use sql
#flutterdev #fluttertips
The best local database : Drift
- works on all platform
- stable
- fast
- use sql
#flutterdev #fluttertips
✅ Count all your habits
✅ Plan your days
✅ Count all your habits
✅ Plan your days
Secure your pages
Redirect user on another page if they are not allowed to access it
Ex: Here’s how you can redirect users on onboarding if they haven’t seen it once
This is how I've been doing this for years inspired by angular guards
Works like a charm
Secure your pages
Redirect user on another page if they are not allowed to access it
Ex: Here’s how you can redirect users on onboarding if they haven’t seen it once
This is how I've been doing this for years inspired by angular guards
Works like a charm
That moment when all your tests are passing ✅
That moment when all your tests are passing ✅