2010-09-23 126 views
1

这次我正在处理这个问题,目前我们正在开始一个新项目,其中有几项需求需要我们完成。最佳解决方案架构

  • 解决方案必须在Mac,Windows和Linux上运行。
  • 可以配置为使用嵌入式数据库引擎,如SQLite或Apache Derby,也可以配置为连接到远程数据库引擎。 MySQL的实例。
  • 此解决方案的一个模块计划在Android OS下的桌面上运行。

    做了一些研究,我发现adobe air,它能够解决大多数我们的需求,据我所知它可以在windows,mac和linux甚至android操作系统下运行。但不幸的是并不完美,因为Peripherals处理程序(必须使用java代码实现)和远程数据库处理程序(我们需要使用php或java代码连接到它)有一些限制。

    。你们为了这个架构解决方案,尽可能

回答

2

那么好有什么建议,有很多跨平台的框架,以供选择。什么是适当的取决于许多因素。下面是一些你可能看:

  • 使用Java脚本语言(使用摆动,可能SWT + JDBC)
  • JavaFX的
  • 如Python(不知道GUI语言,你可以使用则)

对于Android来说,Java可能是最好的选择,因为它是官方推荐的语言/ API。此外,它被广泛使用,并提供免费软件。

我是诚惶诚恐的Adobe AIR的,因为它是一个专用平台,所以你永远是在Adobe的怜悯支持新的平台等。但是,这是你的决定,使...

还要注意的是Adobe AIR中的Android仍处于测试阶段:

Adob​​e的AIR SDK和Adobe AIR运行时计划于2010年 集成的工具支持,下半年将支持Android的 将 在稍后公布日期。

http://labs.adobe.com/technologies/air2/android/

+0

我很清楚,使用swing技术的java可以在窗口,linux或mac机器上运行。但我怎么能解决这个与andoroid?可能实施了SOA?,那么如何通过桌面开发开发SOA并试图避免应用服务器或Web服务器安装 – rfders 2010-09-23 22:44:41

+0

@rfders:我不明白你的问题。 Java应用程序可以在Android以及Android上运行。当然,您可以将您的应用程序的一部分实现为SOA,但这与语言无关。 – sleske 2010-09-24 14:29:04

+0

可以说我使用java和swing技术开发了我的解决方案,它可以很好地运行在win,mac和linux机器上。但Android呢?我知道Android Os支持Java作为编程语言,但挥杆怎么样?可能我的完全GUI必须重新设计并重新开发,那么,我的业务类怎么样,当我的解决方案中没有任何Web或应用程序服务器时,如何才能公开作为服务?我不知道我是否清楚自己。但我有点困惑,我该如何处理这些论题。 – rfders 2010-09-24 14:46:08

0

你可以看看对答案面向服务的体系结构。如果你开发了一些直接连接到你的数据库的服务,那么你可以利用这些服务从许多平台,甚至android或iphone的。 Adobe AIR是我看过的内容,但从我读过的内容来看,我无法获得足够的信心。 Web服务,特别是如果沿着REST路线走下去,可以提供很多优势。

+0

如何实现开发桌面应用程序的SOA,有可能做到这一点,我们正在研究避免Web服务器安装的事实? – rfders 2010-09-23 22:46:53