There's two SDKs involved in building an Android app: the Java SDK you need to run the IDE, and the Android SDK you need to build your actual app with. Updating the IDE requires updating the Java SDK, increasing the version of Android you are targeting requires updating the Android SDK.
You can target any version of Android you want, but the newer versions of Android only show up with the newer Android SDKs. Latest SDKs will also accomodate older Android versions, there is rarely a discrepancy between SDK versions because the minor Android updates don't change entire components.
So the IDE and SDK used to build the Iowa caucus app doesn't really matter too much, as long as the recent versions of Android were selected as a target, because making that selection forces the Android SDK to update in order to build the project. It will also force an IDE update if needed to handle the SDK, which will force a Java SDK update if needed. So both will be kept up to date, or else your app won't build.
I'm not currently on my dev machine to do a screenshot, so I'll steal one from
a blog that explains it well enough to let John fake expertise.
That's using Android Studio, but any IDE will need to include the SDK targets in the app's build manifest.
In theory, you could build an app which targeted really old Android versions, but even so those versions aren't
deprecated; they are just unsupported on newer phones. Certain design elements would be deprecated, but if you had a phone that still runs that version of Android, it would work fine. (That's the point of this setup, to let devs target older hardware and newer hardware at the same time.)
Now, we
could be lenient to John, and assume he
meant to say an old SDK was targeted by the app, and old means deprecated and SDK means IDE. But he explicitly sperged about
tooling, which wouldn't be the issue:
"Deprecated toolchains have no support. Nobody patches them for cybersecurity vulnerabilities"'
quoth yon ogre.
No, John, it's the same IDE, and the patches are required by the build process itself. You can't have an out-of-date, unsupported tool build and deliver the app that was used in Iowa.
(Note: this is all on the Android side of things, I'm not an expert on the iOS side but I believe they're even stricter about version compliance.)