code: def has_application(backend=None, has=(), capable=()):
      """Determine if a suitable app backend exists"""
      from ..app.backends import BACKEND_NAMES
  
      # avoid importing other backends if we don't need to
      if backend is None:
          for backend in BACKEND_NAMES:
              if has_backend(backend, has=has, capable=capable):
                  good = True
                  msg = backend
                  break
          else:
              good = False
              msg = "Requires application backend"
      else:
          good, why = has_backend(
              backend, has=has, capable=capable, out=["why_not"]
          )
          if not good:
              msg = "Requires %s: %s" % (backend, why)
          else:
              msg = backend
      return good, msg
  
imports: from __future__ import print_function
  import numpy
  import sys
  import os
  import inspect
  import gc
  import pytest
  import functools
  from packaging.version import Version
  from ..util.check_environment import has_backend
label_desc: Use image node_id 16 for calling a global function with example usage: has_application(backend, has, capable) and returns: good,  msg