Widget Tricks Newsletter #33
Open source contribution in the AI world. Null Aware Elements. Pretty Git Logs. How is hiring. Best programmer I know. 20 years of Git. Lessons learned building Flutter app. Why use Melos & much more.
📝Post of the month:
💡Flutter Tips:
1. Null Aware Elements in Dart 3.8
2. Avoid Hardcoded Flutter SDK version in GitHub Action.
3. Make Git logs pretty using an alias.
💼 Job To Apply:
Software Engineer, Mobile At Bree
We’re looking for a Software Engineer, Mobile to scale Bree's mobile app, leveraging the latest AI dev tools like Cursor and Lovable. The ideal candidate has a strong foundation in React Native, a passion for user experience, and a keen eye for beautiful, intuitive design.
Salary Range : CA$130K – CA$200K • Offers Bonus
✍🏻 Articles to read:
Offline-first support by Flutter
On the first day of my effectiveflutterdev.com classes, I start teaching by building an offline-first to-do app. Initially, it looks simple, but when you iterate over small details, it becomes challenging.
This article covers the idea behind offline-first very well. Building offline-first is hard from a development point of view, but it provides a really great user experience.
Optimistic state by Flutter
To build an offline-first app, the second step is to keep all your major states as optimistic states.
Developers can help mitigate this negative perception by presenting a successful UI state before the background task is fully completed. An example of this would be tapping a “Subscribe” button, and seeing it change to “Subscribed” instantly, even if the background call to the subscription API is still running.
The Best Programmers I Know by Matthias Endler
Building a reputation is a long-term goal. It doesn’t happen overnight, nor does it have to. And it won’t happen by accident. You show up every day and do the work. Over time, the work will speak for itself. More people will trust you and your work and they will want to work with you. You will work on more prestigious projects and the circle will grow.
When engineers say "that'll take months!" by Ryan Singer
Sequence is important. Tackle the most unknown slices first. It’s tempting to do the “knowns” first, to show momentum. But this is an illusion. You don’t want a smooth-looking project that blows up at the last minute when a critical piece doesn’t work the way we expected.
📺 Videos to Watch:
Lukas Klingsbo: Melos: Why, when and how you should use monorepos
When a project scales, we need to split out features into packages so that each team can own each piece of the app and work independently. However, having a lot of packages can cause several issues like maintaining versions, and if it's open source, then you need to make sure the latest version is pushed to pub.dev, then run tests for all packages in one go, and so on.
Melos exactly solves that, and this video covers it well.
Andrea Bizzotto: Lessons learned from launching a Flutter app in production
Andrea is known for sharing the best tips and tricks on Flutter on his social channels. This video covers how he built the “Tips and Tricks” app. My learning from this video was the feedback package, which I didn't know existed.
Two decades of Git: A conversation with creator Linus Torvalds
It's been 20 years since Git launched. Interestingly, Linus worked on the core of Git for only 4 months. After that, it was maintained by other maintainers in the open-source community.
He said the SHA in Git was NOT designed for security, but to just to fix the issue of corrupted files.
📦 Code from Packages
feedback
A Flutter package for obtaining better feedback. It allows the user to provide interactive feedback directly in the app, by annotating a screenshot of the current page, as well as by adding text.
rename
The Rename CLI Tool is a utility designed to modify your Flutter project's AppName and BundleId across various platforms.
Flutter unity widget
Flutter unity 3D widget for embedding unity in flutter. Now you can make awesome gamified features of your app in Unity and get it rendered in a Flutter app both in fullscreen and embeddable mode. Works great on Android, iPad OS, iOS, Web
.
😂Fun and Memes
Invisible AI to Cheat on Exams
👋🏻 That’s it, Folks
I am currently open for consultation part-time/full-time, specialized in mobile development with Android and Flutter. So if you are looking for someone to:
Build product architecture from scratch
Train existing developers to level up
Fix major bottlenecks in legacy codebase
Improve code quality
And most importantly, ship things faster
then reach out to me at info@burhanrashid52.com.