so silly question regarding Xposed (didn't feel the need to start a new thread)
Why are there certain features in certain apps REQUIRE Xposed to function. e.g. Greenify has additional features with it. The YouTube ad blocking and background playback require it. Why can't some of these features be activated "as is" with root capabilities already in a device?
I understand if it's something that's modifying the appearance of a device but for certain basic features why do the apps NEED Xposed to function?
In a simple sense, Xposed takes deep system-level functions and makes them available for apps and modules to access at user level, and provides a standardized "framework" of programming labels and methods to access them with.
For security reasons, these system-level functions are inaccessible in a stock OS. Root makes it possible for users to modify things that may potentially make the OS unusable or insecure, or for apps to modify system settings, or for apps to modify other apps, or for the OS to connect things that are intentionally segregated.
Root-level access allows modification of these functions, but only at the time the root-enabled app in question is launched or running. Some of these functions may (at that time) already be in use by other apps or parts of the OS, and using root to modify a running function can cause other apps to crash, or cause parts of the OS to crash, or cause the kernel to crash, or even corrupt data on the device. Additionally, if different apps were to use separate root access to modify the same function in different ways, it could compound this problem exponentially.
Xposed eliminates these problems, by going far beyond simple root access. Xposed pre-loads the modules during boot, so that functions are accessed and modified before the OS or any apps start using them. (This is why enabling or disabling Xposed modules always requires a reboot, and why Xposed modules don't need to request root access.) Also, the standardized Xposed framework causes all modules to access and modify functions using the same methods, which eliminates a majority of potential conflicts between these modifications.
Additionally, there is extensive documentation and a very large community for doing things "the Xposed way," so it's also much easier for developers to use Xposed for these system-level modifications, instead of having to develop their own independent root-based methods each time.
I hope this helps explain the differences between basic root access, and what Xposed Framework adds beyond basic root. I apologize that it's not as simple an explanation as I hoped.