Does the kubernetes go-client have any better way to get updates on kubernetes resources other than SharedInformer?

I have been using SharedInformers to listen to updates to pods running in the cluster across all namespaces.

Is there any better way to get updates to Kubernetes resources other than just pods?

Are there any cons to running SharedInformers on Kubernetes resources across all namespaces in large clusters?