2011-12-26 12 views
5

Recientemente he buceado de cabeza en el desarrollo de aplicaciones de Android en Java. Todo es nuevo para mí, ya que mi experiencia está en el desarrollo web con PHP. Pero también necesito adaptarme rápidamente a un entorno de escritorio (es decir, Windows).Marco de desarrollo de escritorio Java similar a Android?

Para facilitar un poco la curva de aprendizaje, ¿hay algún framework de desarrollo de escritorio Java que sea similar al framework Android? Cuando se trata de aplicaciones de escritorio, ¿qué framework (es) de GUI Java y/o MVC, toolkits y/o bibliotecas recomendaría a alguien cuya única experiencia real de Java/GUI es con Android?

Notas

  1. Mientras que un marco único y unificado proporcionando la gestión de interfaz gráfica de usuario, widgets, y así sucesivamente sería bueno, que no es tan importante; Solo estoy buscando algunas recomendaciones sobre un marco básico de aplicaciones para comenzar, así como también una biblioteca GUI que podría funcionar bien con dicho framework.

  2. Tal vez me ayudaría un poco si me explico un poco sobre lo que estoy tratando de hacer. Mi objetivo es construir una aplicación de Android bastante básica para crear y administrar ciertos registros, que se almacenan localmente pero que se pueden sincronizar con un servidor remoto. Entonces necesito una aplicación de escritorio que viva en la bandeja del sistema de Windows, y haga clic para abrir una ventana del administrador que proporciona una funcionalidad similar a la de la aplicación de Android. ¿Qué bibliotecas sugerirías en el escritorio para lograr estos objetivos?

  3. Un par de las cosas que aprecio sobre el marco Android que me gustaría encontrar en un marco orientado hacia el escritorio:

    • Android hace un montón de trabajo repetitivo para usted, y usted solo complete las reglas que hacen que su aplicación sea única.

    • Android le permite usar archivos XML para describir el diseño físico de la presentación, lo que es bueno para mantener el código que maneja las interacciones del usuario separado del código que describe el diseño.

    • Android proporciona un SDK muy fácil de usar y una pila completa de herramientas que hace que sea muy fácil saltar, experimentar y aprender.

Respuesta

3

Bueno, puedes dar una oportunidad a Apache Pivot. Utiliza archivos XML para definir el contenido de la interfaz de usuario. Las clases de UI incluyen ventanas, cuadros de diálogo, botones, listas, entrada de texto, diseño, arrastrar y soltar, y otros.

Como Apache Pivot site estados:

pivote permite a los desarrolladores construir fácilmente visualmente atractivo, multiplataforma, aplicaciones conectadas en Java o cualquier otro lenguaje de JVM, tales como JavaScript, Groovy, o Scala.

Pivot permite a los desarrolladores crear soluciones utilizando las herramientas que ya conocen, disminuyendo el tiempo de entrega y reduciendo la expansión de la tecnología.

A continuación se muestra el ejemplo de XML que se utiliza para crear la interfaz de usuario de la aplicación "Hola Palabra":

<Window title="Hello BXML!" maximized="true" 
      xmlns:bxml="http://pivot.apache.org/bxml" 
      xmlns="org.apache.pivot.wtk"> 
      <Label text="Hello BXML!" 
       styles="{font:'Arial bold 24', color:'#ff0000', 
        horizontalAlignment:'center', verticalAlignment:'center'}"/> 
</Window> 

O another one example de interfaz gráfica de usuario sencilla aplicación:

<Window title="Hello" maximized="true" 
    xmlns:wtkx="http://pivot.apache.org/wtkx" 
    xmlns="org.apache.pivot.wtk"> 
    <content> 
     <BoxPane styles="{padding:4, horizontalAlignment:'center', verticalAlignment:'center'}"> 
      <Label wtkx:id="label1" text="Please enter your name" 
       styles="{font:'Arial 20', color:'#ff0000', 
        horizontalAlignment:'center', verticalAlignment:'center'}"/> 
       <TextInput wtkx:id="text1" /> 
       <PushButton wtkx:id="button1" buttonData="Enter"/> 
     </BoxPane> 
    </content> 
</Window> 

de alguna manera se asemeja a la arquitectura de la interfaz gráfica de usuario de Android.

+1

Esto es fantástico, nunca había oído hablar de Pivot pero parece exactamente lo que estaba buscando en ese momento. Ya no estoy involucrado mucho en el desarrollo de Java, pero creo que esta respuesta es lo suficientemente buena como para robar el Accept dos años después. –

2

Si su motivo es el desarrollo de aplicaciones Android realmente, yo sugeriría que no se preocupe por la GUI de Java, porque las dos son diferentes mundos. Android usa Java/Object Orientation como lenguaje de desarrollo (sintaxis y semántica), pero no le importan las API de Java y otras apis. Si realmente desea aprender la GUI del escritorio Java, hay pocos paquetes llamados Swing. Puedes mirar esos.

+2

Tengo que crear TANTO una aplicación de Android y de escritorio que se integre con un servidor para compartir y manipular los mismos datos de diferentes maneras. Si no tuviera que preocuparme por el desarrollo de la GUI de escritorio, no me habría preguntado. :) –

5

No hay nada que se parezca realmente a la interfaz/GUI de Android para el escritorio.

Los dos reproductores de escritorio java son Swing (GUI multiplataforma original) y SWT (componentes nativos y Eclipse). Griffon es un marco Groovy MVC de escritorio que abstrae mucho del trabajo.

Dependiendo de sus necesidades, crear un cliente rico dentro de Eclipse o NetBeans es una opción.

Crear una plataforma web enriquecida puede tener sentido; podría distribuirlo con un servidor incorporado utilizando cualquier número de tecnologías web Java; a menudo es lo más conveniente, especialmente si desea poder alojar la misma funcionalidad en todas las plataformas, o comercializarla como un servicio y, al mismo tiempo, permitir la implementación local.

+0

Conozco Swing y SWT, en la medida en que son las bibliotecas de GUI más populares para el desarrollo de Java. Espero encontrar algo * poco * más cercano al marco de Android, incluso si no es realmente una solución integrada ... ¿qué piensas de SwiXML, por ejemplo? ¿Y no hay frameworks MVC para construir aplicaciones con Java (no Groovy)? –

+0

@BrianLacy No conozco ningún framework formal de MVC-beyond-Swing's-versión de Java, pero eso no significa que no haya ninguno. SwiXML parece estar bien, pero personalmente no me molestaría con eso, pero sí con YMMV. Hay una variedad de soluciones tipo constructor disponibles, pero no estoy demasiado familiarizado con ninguna de ellas. –

Cuestiones relacionadas