Macros are live on the Flutter master channel (SDK ), that means you can do the following without any code generation, no freezed and no json_serializable! 😍🤯
Thanks to millsteed for the example
Happy to announce that I'm now Flutter & Dart GDE! 💙
After a long discussion with
@leoafarias
at
@FlutterConfLAT
he convinced me to apply, and here we are. 😄
Dart 3.2 is just out, quite a small release from the looks of it, but one very nice feature in my opinion; expanded type promotion of private final fields! 🍻
Did you know that both the Software Center and the OS Installer is written in Flutter for Ubuntu 23.10? ✨
@ubuntu
made Flutter its default choice for making apps in 2021.
The last 6 months I have been part of the great team revamping the Ubuntu OS installer with a new design, and of course, written in Flutter!
Ubuntu 24.04 LTS was just released, so now you can try it out for real. 😃
#Flutter
#Ubuntu
I just got my first PR to the Dart SDK merged! 🥳🥳
From Dart 2.19 you can enjoy DateTime.copyWith, a feature many that have worked with DateTime have been missing.
Big thanks to lrn for the helpful reviews. 💙
#DartDev
Pretty cool that the Flutter team is working on a Skia replacement called Impeller at the same time as they are building a new GPU backend for Skia, to see what works the best. Very curious to see the final result!
#flutterdev
Pretty cool that someone just released a book about how to build games with
#FlameEngine
! 🤯
(I haven't read it so I don't know the quality of it, but cool none the less)
#FlutterDev
Super charged enums in Dart 2.17!
Yesterday I wrote a post about how you could use extensions on enums and some people made me aware that in Dart 2.17 that pattern is no longer necessary.
Look how much cleaner this is compared to what I posted yesterday: 😍
#FlutterDev
#Dart
How crazy is it that the Package of the Week episode about Flame now has 1.2 MILLION views?! 🤯
That's the 7th most popular video that the Flutter channel has ever released, and the most popular Package of the Week video. 🔥
That's more than 10% of the population of my country...
Just found out that dart fix can automatically convert all your constructors to the new super notation, super handy for large code bases!
#DartDev
#FlutterDev
Did you know that you can create a Dart/Flutter package with only assets in it, and use those assets from other packages?
This helps quite a lot if you are using the same assets across many of your packages and want to keep the assets in sync. 📕
Here is the Ray Tracing system that I wrote for Flame v1.3.0!🔥
It adds more and more reflection rays slowly in the video for it to be easier to see what happens. Sorry for the ghetto recording, Linux refused to convert the normal one to a Twitter accepted format. 😅
#FlutterDev
Today is Flame's 6th birthday and we have a little competition for you where I'll send the winner a really nice embroidered Flame t-shirt + stickers! 🥳
Create a Flame game with 300 lines or less and share a video of it tagged with
#Flame6Years
.
Full rules in the comments. 🧑⚖️
Do you also sometimes get annoyed with all the cruft that Flutter create adds with the default template?
Try: flutter create -e
No comments in the pubspec.yaml file, no test directory, a very minimal main.dart and an almost completely empty readme file! 😍
Just learned about git push --force-with-lease.
It checks if the remote version of the branch is the same as the one you rebased on. It is then rejected if the remote branch has changed, so it ensures that you do not overwrite someone else's work by force pushing.
#git
#github
When I first discovered the old dart port of box2d several years ago this was the first example I saw and I was so amazed by it. Later we created Forge2D from this unmaintained port and made it possible to use it together with
#FlameEngine
.
#ScreenshotSunday
#GameDev
#Flutter
Ported one of our reeeeally old performance benchmark games to Flame v1.4.0 today. It works so much better than it used to back in the days. Here it is running with a thousand hitboxes at 60fps.
Flutter Vikings bringing people together! 💙
These two (
@wolfenrain
and
@reNotANumber
) I have spoken to constantly for several years to develop Flame and other packages, and now I finally got to meet them. 😍
Flame🔥 is now an official Flutter Favorite package! 🥳
While we would love to take all the credit, this was made possible thanks to the 174 contributors and our awesome community. 💙
Thank you all!
I think it is pretty cool that 12.64% of all StackOverflow survey respondents (54,414) use
#Flutter
! 💙
And the percentage is even higher among those who are learning to code, where it is 17.63%.
It's such a great feeling when you get a new GitHub sponsor, it's like the ultimate recognition that someone appreciates the work you do on open source! 😍🥳
#Flutter
#FlameEngine
Do you want to write handy scripts in Dart that you can run anywhere in your terminal, no matter what your current directory is? 📜
Check out this very useful potato example:
On the 28th of February I'm giving a talk about Melos on the senior track of Flutter Global Summit.
If you're interested in a ticket to the senior track I have two extra ones (the junior track is for free). 😃
Yesterday I met some random person at a party that told me that they were using Flutter at work, and then he continued telling me about this nice game engine that they were using; Flame. 😍🤯
Do you want to do automatic versioning and releases of your Dart and Flutter packages directly from your GitHub pipeline?
Fear not, I have now added that functionality to the Melos action, which can be found here: 🍻
Any Flutter app with animations currently have a severe performance degradation in both Firefox and Safari (games are barely playable) due to a bug that has been known for 5 months. A cherry-pick with a fix was proposed, but denied due to being too large...
I just published a PR to pub-dev that makes it possible to publish new Flutter & Dart package versions by clicking a button in the GitHub UI, instead of going through the terminal. Let's just hope it gets approved! 🤞
I built a little racing game called Padracing to show that
#FlameEngine
and Forge2D now can be used on DartPad, it was just announced on
#GoogleIO
together with some other awesome games on
#FlutterDev
Melos 5.0.0 is out! It now has `format` and `analyze` as built-in commands, and it now also has publish hooks. 🥳
Technically not a breaking change release, but since so many of you are having melos scripts called format and analyze it was better to treat it as such.
On Tuesday I will give a talk about multiplayer games in Flutter and Flame on Flutter Global Summit! 🔥
My talk is in the free track, but if anyone is very keen on the talks in the paid track I have an extra ticket, first come first served!
Sooo excited for the
#GlobalGamers
Challenge where I'll be one of the judges! 😍
If you plan to build your game with Flame I can recommend that you join the Blue Fire Discord server where you can get help and tips. 🔥
New coding challenge unlocked 🔓
The
#GlobalGamers
Challenge is an 8-week challenge to design, build, and publish sustainable games, sponsored by Flutter and
@GlblCtzn
.
Get started 😎 →
Just created 20 new issues for Flame that should be relatively easy to tackle. We are now ready for
#Hacktoberfest
🔥
Don't forget to sign up for the special Flutter part of Hacktoberfest that is held by
@invertaseio
too!
Apparently I won the
@invertaseio
Content Creation Competition 2023 with my video about Melos (a tool for managing monorepos) 🥳
Thanks for a very well organized competition, it was a lot of fun to participate!
🏆🎉 Drumroll, please! 🎉🏆
We are thrilled to announce the winners of the Content Creation Contest 2023!
🥇 Lukas Klingsbo |
🥈 Cavin Macwan |
@widgetbook_io
🥉 Karthikeyan S |
More info:
I just wrote my first Flutter design doc. If this gets accepted I have some great GitHub actions with semi-automated publishing (just pressing a button in the GitHub UI) coming up for all of you package maintainers. 😊
git bisect is such a powerful tool, but still very easy to use.
I use it all the time when trying to find where a bug was introduced, especially in Flame. 🔥
We just released a Flutter Devtools Extension for Flame and I made a 2 minute video showing how it works.
If you are a package developer I really recommend checking out the devtools extension possibilities, you can do some really useful things with it! 😃
Maybe (🤞) we'll get some long awaited methods in some of the core classes in Dart 3.0! 😍
Iterable.whereNotNull() and DateTime.copyWith() are listed so far (and the list is not final, so they might disappear and new ones will probably also be added).
#DartDev
1. Terrible multi-display support, it's more likely that it forgets which display is which and which settings they should have than that it remembers it when you plug in several screens.
Have you ever heard of Expando in Dart? 🧰
When you have a class that you can't or don't want to subclass you can use it to "attach" functions or fields to it. Not sure if I really like this kind of pattern, but its interesting for sure.
It was so much fun at
@flutterheroes
!
Met a lot of awesome people and it's always great talking about Flame. 🔥
Next conference will maybe be Apprise (Oslo) and then FlutterConnection (Paris) and then deeeefinitely FlutterCon (Berlin)! 😍
A new version of the Dart steamworks package is put!
"Steamworks is a set of tools and services that help game developers and publishers build their games and get the most out of distributing on Steam."
#dartdev
#flutterdev
It think the Pub team and the Flutter team should be able to coordinate so that we don't get pub running on an old version of Flutter a week after release. It also makes the API doc site unavailable. 😢
It feels... unprofessional, and I know that is the last thing they are.
A lot of the time people don't provide enough information when reporting bugs to Flame, this was not the case this time!
The person even made a really nice interactive Minimal Reproducible Example. 😍
I thought I was going to go to a conference without talking (didn't even apply in the CfP), but universe clearly wants me to talk on absolutely every conference so someone dropped out and now I'm talking about Flame at
#DevFestStockholm
, 16:20-16:50! 😄