From the Kubernetes docs:
For Kubernetes-native applications, Kubernetes offers a simple Endpoints API that is updated whenever the set of Pods in a Service changes. For non-native applications, Kubernetes offers a virtual-IP-based bridge to Services which redirects to the backend Pods.
What is the exact difference between Kubernetes-native and non-native applications?
I found the same section and interpret it as :
From my interpretation, non-native applications are Services-without-selectors, for which end-point are not created,(such as application running in different namespace, running outside kubernetes, development databases etc.)