Comment by keeda
17 hours ago
I would imagine Android development, with its reliance on simulators for local UI testing, is pretty complicated to shoehorn into a web-based IDE? I think cloud-based IDEs would only really work for anything for which a text or web-based UI suffices. (Which is already quite a lot: that covers code, logs and web pages.)
For anything with native UIs, I suppose you could "remote desktop" into an app or a simulator running in the cloud but at that point you might as well run that locally and cut out all the issues introduced by networking.
> For anything with native UIs, I suppose you could "remote desktop" into an app or a simulator running in the cloud
This does exist. The network isn't the main problem. The Emulator has to run under nested KVM. That + graphics rendering on the CPU makes it not so responsive. It's useable enough in many cases though.
"Android" here refers to the Android operating system, which (like Chrome) has its own separate development stack. Most of Google's Android apps are developed using the main google3 stack described in the post, or at least were when I was there.
iOS apps at google are developed via ciderv that had a connection to your local mac, and it's amazing. All code editing is "online" and builds are cached, but simulator runs on your local machine. I'm convinced the apple dev env at google is like 100x better than apple's
(current Googler)
For what it's worth we still use Android Studio as well internally, it is better and faster for doing specific UI stuff because of the tooling and visualization.
On the flip side the Google monorepo is a pretty cool thing and you get used to switching between projects and languages within the same commit chain pretty often. This is part of the reason the cloud IDE is so popular because it's one common editor across many languages compared to language specialized IDEs like Android Studio.
Regarding networking, it's not a big issue day to day. The infra team does a really great job building tools that do efficient caching and integrate well over the network.
> with its reliance on simulators for local UI testing
I can run an Android app on my phone and have it pop up in Android Studio. I don't see a reason you couldn't do this with a remote simulator or even a remote physical phone.
99% of the Android low level development experience is just the same as coding for Linux. There's no reason Cider-V wouldn't work just as well.
Got it, I was picturing Android app development rather than working on the OS itself until I saw the sibling comments.