2011-12-26 37 views
5

我最近率先在Java中开发Android应用程序。这对我来说都很新颖,因为我的经验是使用PHP进行Web开发。但我需要很快适应桌面环境(即Windows)。类似于Android的Java桌面开发框架?

为了缓解学习曲线一点,是否有类似于Android框架所有的Java桌面开发框架?当涉及到桌面应用程序时,你会推荐哪些Java GUI和/或MVC框架,工具包和/或库将其推荐给只有真正的Java/GUI体验与Android的用户?

注意

  1. 在一个统一的框架提供的GUI管理,窗口小部件,等等就好了,它不是那么重要;我只是寻找一些关于基本应用程序框架的建议,以便让我开始使用,还有一个GUI库可以与上述框架配合使用。

  2. 也许会有点帮助,如果我细说什么,我试图做一个位。我的目标是构建一个基本的Android应用程序,用于创建和管理某些记录,这些记录本地存储,但可以与远程服务器同步。然后,我需要一个位于Windows系统托盘中的桌面应用程序,然后单击它以弹出一个管理器窗口,该窗口提供与Android应用程序类似的功能。你会建议在桌面上实现这些目标的库是什么?

  3. 一对夫妇的我欣赏的Android框架,我很想在一个面向桌面的框架,找到的东西:

    • Android为一吨为你的样板的工作,和你只需填写使您的应用独一无二的规则即可。

    • 的Android允许你使用XML文件来描述呈现的物理布局,这是保持处理用户交互从描述布局的代码是分开的代码不错。

    • Android提供了一个非常人性化的SDK和整个工具集,使得它超级容易跳,实验和学习。

回答

3

那么,你可以给Apache Pivot一个尝试。它使用XML文件来定义用户界面的内容。 UI类包括窗口,对话框,按钮,列表,文本输入,布局,拖放等。

作为Apache Pivot site状态:

枢轴允许开发人员容易地构建视觉接合,跨平台的,在Java或连接的应用程序的任何其他JVM语言,例如JavaScript,Groovy中,或Scala的。

Pivot使开发人员能够使用他们已知的工具构建解决方案,从而缩短交付时间并减少技术蔓延。

下面是用于创建的 “Hello字” 应用程序的UI XML的例子:

<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> 

或者简单的应用程序GUI的another one example

<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> 

这在一些方式类似于Android GUI架构。

+1

这真是太棒了,我以前从来没有听说过Pivot,但它看起来正是我当时所期待的。我不再参与Java开发,但我认为这个答案很好,足以在两年后窃取Accept。 – 2014-02-14 20:41:52

2

如果你的动机是真正的Android应用开发,我建议不担心Java的GUI,因为两者都是不同的世界。 Android的确使用Java/Object Orientation作为开发语言(sytax和语义),但它并不关心Java GUI apis和其他apis。如果你真的想学习Java桌面GUI,那么很少有包叫做Swing。你可以看看这些。

+2

我必须构建一个Android和一个桌面应用程序,它与服务器集成,以不同的方式共享和操纵相同的数据。如果我不需要担心桌面GUI的开发,我不会问。 :) – 2011-12-27 19:40:06

5

有什么类似于为桌面Android的GUI /建筑,真的。

这两个java桌面播放器是Swing(原始跨平台ish GUI)和SWT(Eclipse和本机组件)。 Griffon是一个桌面Groovy MVC框架,它抽象了很多工作。根据您的需求

,楼内Eclipse或NetBeans的富客户端是一个选项。

构建一个丰富的基于web的平台甚至可能是有意义的;您可以使用任意数量的Java Web技术在嵌入式服务器上进行分发 - 这通常是最方便的,特别是如果您希望能够跨平台托管相同的功能,或将其作为服务推向市场,同时仍允许本地部署。

+0

我知道Swing和SWT,只要它们是用于Java开发的最流行的GUI库。我希望找到更接近Android框架的东西,即使它不是一个真正的集成解决方案。例如,您对SwiXML有什么想法?并且没有任何MVC框架用于构建Java应用程序(而不是Groovy)? – 2011-12-27 19:38:14

+0

@BrianLacy我不知道任何正式的纯Java的MVC超越Swing的版本框架,但这并不意味着没有任何。 SwiXML看起来不错,但我个人不会打扰它,但YMMV。有各种各样的类似解决方案的解决方案,但我不太熟悉它们中的任何一个。 – 2011-12-27 23:15:23