Sí. Puede usar Java, Python/Ruby, etc. con un marco de interfaz de usuario de plataforma cruzada, AIR, etc.
Sí, es realista. Constrúyalo en un modelo de cliente/servidor y la mayor parte del código se ajustará al modelo de interfaz de usuario web o de escritorio.
Si fue pulsada la raíz .NET, se puede utilizar Silverlight para la aplicación web, servidor de código .NET para el backend e incluso Mono para que pueda desarrollar para OS X.
Si tomó la ruta Java, Java se ejecuta dentro del navegador, pronto vendrá JavaFX, que es una pequeña versión similar a un flash para navegadores. Se ejecuta en casi todos los sistemas operativos y puede manejar el backend sin problemas.
Flex/AIR ofrece una excelente manera de desarrollar aplicaciones de escritorio y basadas en web para OS X, Windows y Linux, pero necesitará otro idioma para el back-end. .NET, Java, PHP, etc. todo funciona bien como backend.
Editar
A petición del MrJeepster, aquí están los detalles sobre la interfaz de una interfaz de AIR y .NET backend:
Hay dos maneras de interfaz de aire de un motor de .NET: la forma de bricolaje y la interacción remota camino.
El modo DIY implica definir sus propios formatos de datos (probablemente XML) y utilizar objetos de solicitud HTTP de bajo nivel para comunicarse con un servidor HTTP, o incluso clases de socket de nivel inferior para comunicarse con algún otro servidor.
La forma de interacción remota es más fácil ya que todos juntos buena gente han escrito una selección de paquetes de comunicación remota gratuitas:
http://www.adobe.com/devnet/flashremoting/articles/intro_flremoting_net.html
http://www.themidnightcoders.com/flashorb/gettingStarted.htm
http://www.fluorinefx.com/
Remoting implica compartir objetos entre el cliente y el servidor. Entonces, crea un objeto en el cliente AIR, obtiene el marco remoto para serializarlo, lo transfiere al servidor y lo deserializa en un objeto .NET. El servidor luego lo procesa y lo envía, o un nuevo objeto, de nuevo por la misma ruta.
¿Podría darnos más detalles sobre cómo AIR funcionaría con un> lenguaje de red como back-end? –