squirrel framework development application app c# java windows user-interface

c# - framework - ¿Qué marcos de GUI de Windows vale la pena aprender?



java desktop application framework (4)

Una opción para usted podría ser crear su aplicación como HTML + Javascript y ejecutarla en su aplicación de escritorio incorporando un motor de navegador (IE o algo más). Si necesita API nativas, existen mecanismos para que estén disponibles para el código Javascript del navegador.

Planeo escribir una aplicación de Windows para ayudarme con algunas tareas de prueba exploratorias (toma de notas, generación de datos, registro de defectos) y me he quedado atascado en la etapa inicial de elegir un marco / idioma. Mi única experiencia es con el desarrollo web y, por lo que puedo ver, WinForms, WPF, Silverlight, Swing, etc. son simultáneamente obsoletos y prósperos, dependiendo de a quién le preguntes.

Si bien mi objetivo principal es crear la aplicación, obviamente me gustaría aprender algo útil mientras lo hago en lugar de adquirir habilidades con algo que nunca se verá en un proyecto en el trabajo. ¿Qué marcos de Java o C # recomendarían aprender las personas?


Java FX 2.0 parece muy prometedor y ahora está activo si swing te parece obsoleto. Tenga en cuenta que tiene poco en común con las versiones anteriores. Vea por ejemplo esta breve comparación con el swing . Y Oráculo dijo que planean abrir la fuente.

Ahora es bastante nuevo, por lo que es poco probable que se utilice en aplicaciones existentes.


WPF . Mejor soporte para Windows. Por cierto, no es obsoleto.


Nota: considere cuándo se publicó esta respuesta (2012). Desde entonces, las cosas han cambiado un poco, por ejemplo, Silverlight ha quedado en desuso.

Aplicaciones nativas

Para el empleo : Bueno, hoy en día la mayoría de las empresas (al menos la mayoría de las compañías de Omán y los EAU, donde vivo) están migrando lentamente a la nube. Sin embargo, todavía hay algunas oportunidades para el desarrollo de aplicaciones nativas. El marco más exigente hoy en día, es, (no .. no WPF ), ¡es Windows Forms !

¿Por qué los formularios Windows Forms antiguos en lugar del WPF impresionante? Una razón, las aplicaciones heredadas . Hoy en día, la mayoría de las empresas solo inician proyectos de aplicación GUI a pequeña escala, principalmente aplicaciones empresariales. Para eso, WPF será muy costoso ya que ya tienen una fuerza de trabajo con experiencia en Windows Forms y una gran cantidad de código heredado, sin embargo, para WPF tendrán que crear una nueva base de código, y eso es bastante arriesgado. Así que lo mejor para mantenerte empleado es Windows Forms.

Para nuevos proyectos : Sin embargo, si por "vale la pena aprender", quiere decir, nuevo, ambicioso y glamoroso. Entonces WPF puede ser la mejor opción para usted. Depende de cuáles sean sus necesidades, realmente.

La nube

Ahora, para la nube. Java FX y Silverlight están actualmente enfrentados. Sin embargo, Java FX puede tener una ventaja, ya que admite una mayor cantidad de plataformas. Pero, de nuevo, Silverlight tiene todo el poder y los recursos de Microsoft detrás, y es ideal para el desarrollo de Windows Phone.

Comparación

Para una comparación, esto es lo que obtienes con cada kit de herramientas:

Windows Presentation Foundation :

  • El poder y los recursos de Microsoft.
  • Ideal para crear nuevas aplicaciones de escritorio.
  • Ojos dulces
  • API impresionante
  • XAML, la mejor manera de separar el diseño de la lógica.
  • Cree aplicaciones para la nube (pero solo funcionan en Windows con .NET)
  • Windows Phone puede ejecutar un subconjunto de WPF

Formularios de Windows :

  • Usado para poseer el poder y los recursos de Microsoft, ahora WPF tiene eso
  • Ideal para mantener aplicaciones heredadas.
  • Una fuerza laboral bien entrenada, si eres un empresario.
  • API bastante madura
  • Soporta más plataformas que WPF (a través de Mono)

Java FX :

  • Crea aplicaciones para la nube
  • Respaldado por Oracle
  • API muy agradable
  • Multiplataforma, se ejecuta en la mayoría de las PC, los teléfonos inteligentes son un problema.

Silverlight :

  • Crea aplicaciones para la nube
  • Con el respaldo de Microsoft
  • API bastante impresionante
  • XAML
  • Multiplataforma, se ejecuta en Mac y PC, se ejecuta en Windows Phone.

GTK # :

  • Multiplataforma, se ejecuta en la mayoría de las PC, no se ejecuta en ningún teléfono inteligente.
  • Respaldado por el mundo de código abierto
  • Avalado por Mono
  • Ideal para crear aplicaciones para Gnome.

Columpio

  • Las plataformas cruzadas, se ejecutan en la mayoría de las PC, los teléfonos inteligentes son un problema.
  • Bastante madura
  • Ideal para crear juegos 2D, usando Java2D.

Conclusión

Como usted dice:

Si bien mi objetivo principal es crear la aplicación, obviamente me gustaría aprender algo útil mientras lo hago en lugar de adquirir habilidades con algo que nunca se verá en un proyecto en el trabajo.

Bueno, los marcos que es más probable que vea en el trabajo (si no lo hace para las compañías principales como Microsoft, Oracle, Google, etc.) son Windows Forms y WPF. Al menos eso es lo que la mayoría de las empresas usan aquí. Así que eso es lo que yo recomiendo. JavaFX y Silverlight también parecen tener potencial y pueden usarse en un futuro próximo.