Getting Started with Implicit Animations in Flutter
This free tutorial by Yogesh Choudhary at raywenderlich.com does a great job of introducing Implicit Animations in Flutter, including a nice set of sample code to help get you started.
The tutorial contains several examples, including adding a cross-fade between widgets, animating a page transition, and more. Definitely worth checking out if you're looking to increase your animation skills in Flutter.
Tips & Tricks
Looking for a Server-Side SQL Solution?
Chris Sells recently asked the following on Twitter:
As much as I like Firebase, I really don't like the denormalization that goes along with NoSQL solutions. Has anyone found a cheap, hosted server-side SQL solution that works with Flutter?
If anyone here has the same question, you may find the responses to Chris' tweet helpful!
Why Use Firestore over Realtime DB?
While we're speaking of Flutter and databases, this thread on Reddit covers some of the tradeoffs of using Firestore versus other alternatives, especially when it comes to cost.
It's interesting seeing some of the pros and cons listed in the comments on this thread, some of which you may find useful if you're in "evaluation mode" on your own storage solution.
Widgets and Packages
Just in case you missed it, Flutter's "package of the week" this week is package:animations, and this video provides a quick overview.
Having not used OpenContainer() in my own code, I must say this looks nice -- especially given the little effort involved!
Bluetooth with Flutter
I keep thinking that one of these days it might be fun to experiment with connecting to a Bluetooth device from a Flutter app. I'm not sure why... Maybe there's something appealing about breaking out of the physical constraints of a smartphone device to control some sort of independent gadget.
If you've had similar inklings, you'll probably want to at least consider this package.
Shape Up vs Scrum – How We Cut Our Dev Cycle 75%
Some of you may know that I'm a huge fan if the Shape Up development process, as described by Ryan Singer of Basecamp.
If you're unfamiliar with Shape Up, this article by Molly Stovold should give you a nice overview. This is one of my favorite quotes from Molly's article, which highlights a major difference in the two approaches:
...with Shape Up, you build your own scopes as you go. This highlights the difference between “agile tasks” which is what you get with Scrum. With agile tasks at the very beginning of a project, somebody sits in a room and imagines all the tasks that are going to be happening in the coming sprint. This person then writes down what the imagined tasks could be as best they can. The problem with this approach is that when it comes to actually writing the code further down the line, it’s often not the same person writing who did the imagining in the first place. Do you see how this could start to get confusing?
If you think an exposure to the Shape Up method might boost your own dev process, be sure to check out Molly's article. If you want the full treatment, Ryan and Basecamp have made the entire Shape Up document available for free, which you can access here.
// From Mark
As the worlds of culture and technology continue to evolve and collide, it seems to me that we crossed a threshold this week as Tesla announced it has purchased $1.5B worth of Bitcoin. (And just as a disclaimer, I do have a financial interest in both Tesla and blockchain projects succeeding, but I'm also aware that nothing I say here in this humble newsletter is likely to impact their price :-) )
Up until fairly recently, it seemed like Bitcoin's value depended entirely on the confidence people have in it. Is it real or not? Who knows, but this week's events seemed to have tipped the scale in favor of "yes" for me -- at least for now.
While large in the cultural context, this event may be only tangentially related to the world of Flutter development. It does make me wonder though if an awareness of blockchain technology may be increasingly important for developers in the future. As a backend tool for maintaining state (and running "smart contract code" a la Etherium), it wouldn't surprise me to see uses for blockchain tech growing over time.Mark Winters