Showing posts from 2021

Migrating to Dart's Null Safety

Prior to starting on my 4th Flutter mobile app, and because it seems that every plugin now supports it, I decided to give migrating to Dart's null safety a go. Sound null safety is available in Dart 2.12 and Flutter 2. In reading through the migration documentation, it appears the migration tool may pose as much time and effort as migrating by hand. And being I'm in this to learn the code, migrating by hand is the path I've opted for. I'm currently on Step 2.4 of the Migration Guide . Because each of my reminder apps is setup with a similar code base, I also decided to migrate all three apps at the same time. Thus far I've got one app down to 500 critical errors, while the other two are down to 396 and 393. Mobile Apps Critical Warn Info B4-I-Go 500 10 64 Hungry-on_Hand 396 8 56 Xpired To Be 393 10 58 Having started at over 600 critical errors on the B4-I-Go app , the migration thus far has been tedious, but informative and enlightening—to both Dart,

The Appreciation of a Framework

. . . that inspires productivity. The tl;dr is that, thanks to Flutter , my third app is now live in both Google's Play Store (for Android) and Apple's App Store (for iPhones and iPads). The appreciation comes in the form of the Flutter framework providing a solid base from which to learn mobile app development, without getting lost in the intricate details of every minute facet of the mobile app engine underpinnings. This allows you to learn as you go, and to still be productive as you continue learning more, and more (and more). I also enjoyed working with the Laravel framework (circa 2017). Once familiar with a framework, and in learning some of its nuances, app development time becomes more and more about the app than the tool. I've been enjoying seeing that transition with Flutter, and it's inspiring. Also thanks to the Flutter framework, and in setting up a shared theme and coding structure , this third app only took five weeks to complete! And—that developmen

Wrote an App; Got a Mac; Wrote another App

Or more specifically, "Wrote an app for Android ; Bought my first Mac; Wrote another app for iOS and Android ." App development is a time-consuming, minutely detailed process, and there is little time for pause. Mar 29 First Flutter mobile app approved for Closed Testing in the Google Play Store. Apr 22 First interview for a Flutter Developer position (knowingly premature—but a part of learning). Walked through an hour-long presentation of my app development. In the end, they asked twice about iOS development, but I've never owned a Mac. May 14 My first Mac arrives —a refurbished 16" MBP direct from Apple. Jul 30 Second reminder app approved and marked as "Ready for Sale" in the Apple App Store (although it's free). Aug 1 Second reminder app approved  for Closed Testing in the Google Play Store. Aug 4 First app released to Google Play Store.  Second app released to both app stores  (store links provided below). Simple Reminders As referenced in my H

Architectural Challenges: My Flutter Frankenstein

The Bottom line: I really like Flutter. It has been extremely challenging at times, but the lessons learned from those challenges have been mostly fundamental and insightful. My first major challenge with Flutter came in October when I found I could not update multiple Flutter widgets from various 'reactive' sources using Flutter's Provider package. I got to a point in my app development where I just couldn't get the code to do what I needed it to do. Thus began an architectural journey... Scouring the web, I tried dozens of variations with every aspect of Flutter's  Provider package I could find information on. I came close to succeeding a couple times, but always, always hit a solid road block towards the end of each implementation. In the end, my entire codebase felt really... procedural (read, cluttered). I felt claustrophobic in my own code, and could not make heads or tails of all the different flows (and I've got plenty of diagrams to show for

"Hello Suite"

When completing a lengthy course on an interesting topic such as mobile app development via Flutter, the satisfaction of the certification at the end can be short-lived, as the real joy comes in the form of creating your own actual apps . Recommended course of action: "Just start building something . . . anything! " But what?! My First Flutter —and mobile— App (...Suite) In considering this was my first mobile app, chances were pretty good its code wouldn't be looking too spit-n-polished in the end, so I decided against going with my prized project. I craved to create something unique, and with dozens of smaller project ideas to choose from, I eventually determined to break from the flock of "Hello World" first-timer apps, and opted to face the challenge of creating a suite of apps, . . . as my first app. 😁 The suite's theme: Simple Reminders The suite actually began with the name 'KDC App Suite,' but it was soon changed to KD-reCall in an effort to

I got a Flutter Full Course Certification—Now what?!

The Goal : Find a mutually-accommodating position working on productive solutions involving mobile apps built with Flutter or JavaScript-based web interfaces before the end of the year. The Plan : → Phase I :  Begin learning mobile app development via Flutter. Complete. Yay! đŸ„ˆ → Phase II :  Focus on a solid project to continue to broaden and strengthen Flutter knowledge. 98% complete. This is what my next few posts will cover. ✍ → Phase III :  Interview prep and job search. Although I am one of those developers who is more comfortable discussing code while coding, I aim to learn how to discuss code without context as well (i.e., "Define the 'spread operator'"). 🧐