studio puedo programacion opciones móviles desarrollo desarrollador curso aplicaciones activar frameworks desktop

frameworks - puedo - Opciones de desarrollo de software de escritorio



opciones de desarrollador huawei (9)

  1. Sí, piensa QT
  2. Sí, piensa SOA

De un programador atrapado en el mundo web ...

¿Cuáles son los "frameworks" de desarrollo de escritorio más comunes que se utilizan actualmente para el desarrollo de aplicaciones de escritorio?

  1. ¿Es realista escribir software de escritorio para Windows y OS X?

  2. ¿Es realista usar el mismo código base para escribir las capas de negocios / datos para una aplicación que tendrá una UI web parcial así como una UI de escritorio?


  1. Podría sugerirle Qt si está buscando una plataforma cruzada. Lo usamos por aquí hace unos años. Su licencia es por desarrollador y, sin embargo, es cara (al menos así fue).

  2. Claro, puede hacer uso de servicios web.


Ir con .NET y mono es una buena elección.


Qt (ya sea en C ++ o python) es totalmente portátil entre mac / win / linux. también incluye QtWebKit, por lo que es fácil incorporar un navegador real y moderno en su aplicación.


Si bien el desarrollo de escritorio multiplataforma es posible, no es fácil. Como mínimo, debe probar en cada plataforma compatible. Y tiene que hacer concesiones difíciles: ¿hace que su software se vea exactamente igual en todas las plataformas (y por lo tanto no se vea como una aplicación nativa en algún lugar) o usa controles nativos y trata con diferentes alineamientos, etc. en varias plataformas? Además de la apariencia, ¿qué comportamiento usas? Por ejemplo, el software UNIX funciona con distinción de mayúsculas y minúsculas, pero el software de Windows no. ¿Escoge un orden de clasificación en ambas plataformas, o ordena de forma diferente en cada plataforma?


Hemos creado muchas aplicaciones multiplataforma y multiplataforma que utilizan Java. En el escritorio, Swing trabajó REALMENTE para nosotros.


  1. Sí. Puede usar Java, Python / Ruby, etc. con un marco de interfaz de usuario multiplataforma, AIR, etc., etc.

  2. Sí, es realista. Constrúyalo en un modelo de cliente / servidor y la mayor parte del código se ajustará al escritorio o al modelo de interfaz de usuario web.

Si bajó por la raíz .NET, podría usar Silverlight para la aplicación web, el código del servidor .NET para el servidor e incluso Mono para permitirle 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 de MrJeepster, aquí hay detalles sobre la interfaz de una interfaz AIR y un backend .NET:

Hay dos maneras en que puede conectar AIR a un servidor .NET: el modo DIY y el modo remoto.

El modo DIY implicaría la definición de sus propios formatos de datos (probablemente XML) y el uso de 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 manera remota es más fácil, ya que las personas amables han escrito una selección de paquetes remotos gratuitos:

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.


Estamos construyendo una pequeña aplicación de plataforma cruzada utilizando Java (Swing) y es realmente agradable. Al menos hasta ahora. :RE


Uso REALbasic para crear una gran variedad de aplicaciones de escritorio para Mac OS X y Windows. Funciona bastante bien.

Sin embargo, no se presta bien para crear capas separadas para compartir con las UI de escritorio / web.