In practice, if you create an application with the required link to the framework, rather than a weak link, and try to run this application on a device that does not include this framework, the application will crash even if you do not try to use this structure.
If you create an application with a weak reference to the framework and run it on a device that does not support this structure, and do not refer to the classes (methods, subroutines, etc.) in this structure (because you, say, the runtime checked for the presence of this structure in advance), then your application will not just work at startup. But since the structure is loosely coupled, you can call this framework from the same application on a device that supports this structure. Thus, your application can support different versions of the OS with and without support for this structure.
There may also be some performance differences during startup, resulting in weak-link applications starting much slower.
hotpaw2
source share