2008-11-12 16 views
43

Soy en su mayoría una persona de .Net en este momento, pero últimamente he estado jugando con Java, explorando lo que hay.¿Cuál es la respuesta de Java a WPF?

Ahora estoy buscando el equivalente de Java para WPF. Sé que podría encontrar una biblioteca OpenGL o dos, pero eso no es tan rico o simple como el sistema WPF.

Respuesta

35

creo que una combinación de JavaFX, Columpio, Java2D, y JRE basado en el navegador de Java comprenden las soluciones que WPF proporciona:

  • aplicaciones JavaFX (en realidad, cualquier aplicación Java) se puede ejecutar en el navegador o en un escritorio
  • JavaFX proporciona soporte de vídeo de gama alta
  • JavaFX proporciona secuencias de comandos para animaciones y efectos especiales visuales
  • swing proporciona capacidades de interfaz de usuario, y se puede utilizar tanto en Java y JavaFX
  • Java2D, que proporciona las bases para todas las tareas de dibujo (incluido Swing), aprovecha la aceleración de hardware y compatibilidad con DirectX
  • El JRE en el escritorio o el navegador permite implementar aplicaciones Java en múltiples entornos (incluidas otras pantallas, como decodificadores o teléfonos)
+3

JavaFX se ve prometedor. –

+1

No hay compatibilidad con 3D verdadero, especialmente para el lenguaje de sombreado que se encuentra en DirectX HLSL y OpenGL SL. Además, cualquier soporte de IDE actual para JavaFX no puede igualar el poder de Expression Blend XAML designer y Visual Studio 2008 y Visual Studio 2010 Cider (diseñador de WPF en Visual Studio). –

+3

¿Se encarga de la vinculación de datos de forma fluida? –

17

WPF basado en características es más completo que cualquier otro JavaFX, Swing, AWT o Java2D. Ese era el objetivo del diseño, después de todo, llevar todo lo relacionado con la presentación en una única biblioteca. En cuanto al rendimiento que son aproximadamente los mismos, con la excepción del uso de la memoria en Java es un hungry hog

17

He programado aguamarina, Macintosh Quick Draw, Windows GDI y GDI +, Qt, y .NET Windows Forms y WPF es por Hasta ahora, la API más sofisticada que he usado. Aunque tiene un conjunto de funciones bastante mejor que las tecnologías anteriores, como el swing, no es rival para WPF. Resuelve algunos de los principales problemas que han plagado la programación de gráficos. Si vienes del mundo HTML/JS, es fácil de aprender, pero si vienes del mundo de la programación gráfica tradicional, es un gran cambio de paradigma. De todos modos, es mucho más fácil de aprender que CSS/HTML/JS. Es una ruptura limpia de los conceptos heredados que plagan otros entornos de programación de gráficos.

La mayor fortaleza de WPF es que es independiente de la resolución. Puede escalar a través de dispositivos con poca o ninguna modificación. Requiere poco trabajo tomar una versión de pantalla de un dibujo y enviarla a una impresora de alta resolución sin pérdida de resolución.

También es compatible con la activación de eventos. Los elementos de la interfaz de usuario pueden responder a eventos de otros elementos de la interfaz de usuario o a su código de aplicaciones, lo que hace posibles las interfaces dinámicas. Hace que sea fácil separar el código de la interfaz de usuario de una manera que incluso HTML/JS no puede lograr. Los elementos pueden transmitir y escuchar eventos y responder en consecuencia.

Otra fortaleza es su API orientada a objetos y declarativa. Usando XAML, puede construir fácilmente una interfaz de trabajo de manera rápida y eficiente con unas pocas líneas. A diferencia de HTML/JS, es más fácil de aprender y su resultado es mucho más predecible y eficiente. Incluso puede programar WPF por completo en el código, pero generalmente no vale la pena la ganancia de rendimiento menor. Un mejor método es compilar su Xaml en el código .NET.

Además, las herramientas disponibles para WPF son muy extensas en comparación con JavaFX. Hay toneladas de herramientas que incluyen Expression Blend disponible. También hay numerosas herramientas para tomar formatos de gráficos vectoriales como SVG y Adobe Illustrator y convertirlos en XAML.Ahora, los diseñadores y programadores pueden colaborar en la publicación de escritorio de una manera que era muy difícil de hacer antes.

En resumen, WPF es tan completo que el equipo Mono optó por no transferirlo a la base de código Mono. Afirmaron que tomaría muchos años para implementar completamente un conjunto de características razonables. Si existiera una versión compatible con Mono de WPF, convertiría a .NET en el marco de aplicación multiplataforma de facto. De hecho, incluso puede reemplazar HTML/CSS, ya que es mucho más poderoso y fácil de entender. Desafortunadamente, Microsoft no vio un caso de negocios para un WPF multiplataforma habilitado. Es por eso que SilverLight/WPF perdió con HTML5/JS. Gracias a este error, ahora están obligados a entregar no solo la web, sino parte de su escritorio a HTML 5/JS.

+0

¡Gracias por la respuesta detallada! – Vova

+0

Gran error de Microsoft. – TheMentor

+1

WPF es solo para mentes maestras, no para personas con coeficiente de inteligencia promedio como yo. Es hora de pasar al código abierto. – AnjumSKhan

Cuestiones relacionadas