【发布时间】:2011-02-15 14:17:08
【问题描述】:
对于当前的项目,我们正在设计一个客户端桌面应用程序,它可以解析文本文件并与基于 Web 的数据库接口。
到目前为止,我们已将项目拆分为多个部分:
(第三方程序)->(我们的桌面客户端)->(我们的解析库 #1 和 #2)->(我们的 Web 服务器)->(我们的验证库)->(我们的数据库)
在选择正确方法(和最佳语言)以使这些部分协同工作时,我们遇到了困惑。
第三方程序的输出是一个简单的文本文件,我们只是将其解析为SQL-esque格式,在验证数字在一定范围内后插入我们的数据库。
-
我们的第一个问题是关于客户端语言本身。我们计划用 C++ 编写解析器库,因为它们主要是文本管理。我们的桌面客户端需要是跨平台的 Windows 和 Mac。目前我们倾向于使用 Swing 和 JNI 用 Java 编写它。然而,我们意识到人们对 Java 有很多仇恨,而且我们不得不担心在 JRE 中捆绑。
在这种情况下,Java 是一个不错的选择吗?我们的其他选项似乎也在 C++ 中使用 Qt 之类的 GUI 编写,或者特定平台并在 .NET 中编写 Windows 版本,然后是 Mac 特定版本。我们的 Windows 社区是绝大多数用户。
-
我们的第二个问题是将此客户端与我们的网络服务器连接。最初我们只是要使用 http POST 来上传文件。我们还可以 FTP 文件,这似乎有点过分了。我们开始探索网络服务,但不确定网络服务是否可以处理大量文本数据。
有没有更简单的方法来做到这一点?一切都是文本,因此以大块或一大串的形式发送它们是没有问题的。如果我们采用 Web 服务路线,这会影响我们对桌面客户端的语言选择吗?
肯定有数百种方法可以处理这样的事情,但其中大多数概念对我们来说都是新的。任何建议将不胜感激。
【问题讨论】:
标签: web-services user-interface programming-languages cross-platform desktop-application