Do I have to understand Reflection to develop applications?
It depends on the application you are developing. If you are implementing typical navigation use cases, then there is a good chance that Reflection will not be required. You could use the Reference Reflection Context (RRC) instead of Reflection. RRC is a platform specific API wrapper that hides the complexity of Reflection. It is available for Android, Java and C++, and it will soon be available for iOS Objective C. RRC is not a managed API, in the sense that it may change at any time, and (new) NavKit features are not necessarily made available through RRC. Instead, RRC is provided in source code and serves as an example of how Reflection interfaces could be abstracted in a platform-specific way. If your application requires features that are not available through RRC, then you can extend RRC to adjust it to your needs.