Back to Google’s Flutter

Prenez
3 min readAug 21, 2024

--

A between-gigs diary about drinking cool new stuff from the firehose.

Aug 19 — During 2023 I spent most of my time at work writing projects for two different clients in Flutter, a language and framework for writing cross platform mobile apps. I chose it for my team as being a more stable and integrated set of tools for writing native cross platform apps than React Native, and less culturally-marooned than Xamarin. Another think I liked about Flutter (besides the fact that Will Larche on the team is a personal friend) is that Google was clearly behind it and was interested in helping developers.

To that end, I just got a great list of things to focus on from an interview for a job that, it turns out, I didn’t want — but it’s a great list! Widgets and the widget tree, how InheritedWidget and InheritedModel work. BLoC and Cubit and state management in general, Flutter testing for unit tests, Appium tests for UI and integration testing, Platform Channels and Method Channels, for interacting with the native capabilities of the devices, and so on…

I did some work over the last few days on Platform and Method Channels (just interop to the native platform from Flutter, not that big a deal), and Bloc and Cubit (more of a big deal, but very, very similar to the pub/sub model in Combine for Swift and SwiftUI), and using the Inherited Widget to avoid state management issues, sending props up and down the widget tree (also similar to how SwiftUI solved this with their Environment declarations).

Today: Flutter, Platform and Method Channels, Bloc, InheritedWidget, InheritedModel, setState.

Aug 21 — So today I burned through a six hour course on Python, so I have demystified that language for myself. I took that module as a part of a larger Appium course on Udemy. I could have chosen a course that taught writing Appium tests in Javascript, but I’m already functional in Javascript, so chose to learn it in a language I don’t know and kill to birds with one stone. Besides, I want to get my hands on a lot of the cool Python AI and ML stuff that’s out there.

…aaaaand I installed appium with Node.js, I installed several plugins listed in the Appium docs, I bought a license for all of Jetbrains tools, which I’ve been meaning to do since I discovered Datagrip recently, I installed Pycharm, their Python IDE (experience with Datagrip made me long for a better development experience than VS Code), created my first Appium testing project, installed the Appium-Python-Client in the project for the first time, and wrote an Appium test for a web browser.

Now, I’ve been using Appium for ten years, both managing it and writing tests for it, but somehow never had to do the install step, it was already installed and running in whatever environment I was working in and someone else was dealing with it. And I never worked with it in Python, so…this is exciting. Feel all my neurons firing. My career is exciting again!

Today: Python and Appium.

--

--

Prenez
Prenez

Written by Prenez

Writes iOS apps in Swift and stories in American English.

No responses yet