from the "Form" class, but I discovered that "Form" extends "AppInventorCompatActivity",
and "AppInventorCompatActivity" extends:
Activity
instead of AndroidX "AppCompatActivity" / "FragmentActivity".
Because of this, modern AndroidX components such as "DialogFragment" cannot be used easily.
So my question is:
Why does App Inventor still use "Activity" instead of AndroidX "AppCompatActivity"?
Is there a compatibility or architectural reason behind this decision?
Backward compatibility. For a long time we were supporting back to Android 2.1 even though Google dropped support for it. AppInventorCompatActivity pulls in the pieces we needed from older AppCompatActivity prior to Google's decision to drop support for Android versions prior to 4.0.