Google IDX - The best Flutter Beginner Experience
This post is not sponsored, and I am not an affiliate
What is IDX
Announced in a blog post titled Introducing Project IDX, An Experiment to Improve Full-stack, Multiplatform App Development during August 2023, the Google team presented the idea of a new VS Code web-based editor that would include AI features and in-browser app previews to help improve Developer experience and promising "seamless integration with popular Google tools and products like Flutter and Firebase" (Erin Kidwell, Start Building with Project IDX Today.
Why Flutter didn't "click" before
I've poked at the idea of using Flutter in the past, and even managed to cobble together a prototype that was able to use a Barcode reader widget (Flutter's Component equivalent for those of us used to things like Vue or React). But every time I've visited Flutter in the past there's been XXX things stopping me from ever really getting into it:
- Setting up Android Studio
- Configuring Android Studio
For me personally, when I work on random side projects, I like to make things harder for myself by often doing my development across 2 devices. With Android Studio seeming to never quite be happy on my main development device, I never felt inclined to do the setup on my second machine. The last time I tried Flutter, there was a day where I had my app functioning and loading on my USB connected phone when I shut down for the day. The next morning when I started up, the app was throwing all kinds of weird errors about things not being able to load, so I dropped it.
How IDX solved my issues
When IDX was announced, I was vaguely interested, but didn't really have a specific use case planned for it. I signed up for early access and forgot it existed until Google I/O where it was announced as available for everyone. This week, I finally had both the time and desire to poke around with a new language/framework and decided it'd be a good time to try IDX and Flutter. If IDX couldn't get me through the beginnings of learning Flutter, I don't think anything ever would be able to.
So, what makes IDX work so well? The fact that going from literally nothing to a "Hello, World" app that's running with 0 Android Studio configuration is a button click, a project name, and about 1 minute away!
The amount of time I had previously spent just trying to get Android Studio set up or waiting for Flutter's installation + project initialization to run, I was already through a full tutorial and working on the follow-up practice project.
While I don't love the AI additions (mostly because it seems to like to recommend functions that don't actually exist...) the ability to focus on the code and not the environment setup has been so enjoyable as someone that just wants to practice working with the language for now. I'm sure someday I'll be back setting things up on my local device and wishing Android Studio would just work, this is a great way to test out a new language without having to struggle through the configuration just to find out if I even like working with that language.