Can "native" applications take advantage of mesh gateways?

The documentation for Connect’s mesh gateway feature mentions several caveats regarding Envoy.

Consul can only translate the gateway registration information into Envoy configuration, so any sidecars that send upstream traffic through a gateway must be Envoy.

I’m interested in whether “native” applications can participate with mesh gateways and, more broadly, to what extent “native” applications differ from the first-class citizens in a Connect mesh that use Envoy sidecar proxies.

Concrete questions:

  • Can a “native” application that’s a client of an upstream service contact such a service in a different data center by way of a mesh gateway? Would it need to do anything special to have its connections and traffic find such a distant target?
  • Can a “native” application that’s a server receive traffic from downstream clients in different data centers by way of a mesh gateway?

We are considering when we’re willing to tolerate using sidecar proxies, and in many cases would prefer to write our applications as “native” Connect participants. What can’t we do in that model that we could otherwise do with proxies?

@lkysow, is this something you can speak to? If not, who would you recommend I ask about this? I can take it to a mailing list if there’s one you have in mind.