2010-02-17 62 views
0

我要写我的第一个非Access项目,我需要关于选择平台的建议。我将把它安装在多个朋友和家人的电脑上,因此(因为我确定很多平台对我的应用来说都足够了),我的最高优先级有两个部分:1)非技术安装的简易性用户和,2)最小化兼容性问题。我希望能够修复错误并进行更改并将其展开,而无需排除计算机上的操作系统和程序冲突问题(或者至少将这些内容保持在最低限度 - 这就是为什么这些问题是我选择平台)。帮助新手选择Java和Python之间的应用程序与SQL DB

我已经缩小到Python或Java。我喜欢Java对JVM的使用,这似乎有助于很好地防止单个计算机上的不兼容问题。我听说过很多关于Python的好东西,但我不知道它与Java的兼容性有多大。万一它很重要,我知道该应用程序肯定会使用免费的服务器启用的SQL数据库的一些味道(启用服务器,因为我想能够从多台计算机运行应用程序),但我不知道哪个使用尚未。我想我可以接下来做出决定。我已经参加了C++(仅适用于控制台应用程序)课程,并在Access中完成了一些VBA,但大多数情况下,我将不得不跳入课程并学习。所以当然我对这些都不太了解。我不在电脑领域,这只是一种爱好。

那么,哪个更适合这个应用程序,Java还是Python? (如果出现这种情况,我不想让它基于浏览器,我已经处理了单个计算机的浏览器设置,打破了程序,这违背了我的最高优先级的第2部分 - 最大兼容性)。

谢谢。

更新:它需要一个gui,我希望能够对它做一些定制(或者使用非标准的,或者可能是非内置的)来制作它流行一点。

更新2:说实话,我真的只关心Windows电脑。我只考虑Java作为平台的可靠性。

+0

会不会有GUI? – 2010-02-17 16:23:44

+0

是的。我会编辑我的问题来说。谢谢。 – ChrisC 2010-02-17 16:26:31

+0

如果所有机器都是windows,那么.net GUI将会有更好的外观和感觉。 – Fakrudeen 2010-02-17 16:29:32

回答

1

如果你打算只在Windows上安装(或大部分),我会用.Net。如果你有C++经验,那么C#对你来说是很自然的,但如果你对VBA感到满意,你可以尝试VB.NET,但是如果你更喜欢Python,那么就有IronPython或者可以试试IronRuby,但最重要的是你可以将它们全部混合,因为它们适用于项目的不同部分。

在数据库领域,您将拥有与SQL Server Express的完美集成,而在GUI领域,Swing无法超越WinForms的易用性以及WPF/Silverlight的复杂性。

作为额外的好处,您可以使用ClickOnce自动更新您的应用程序。

+0

谢谢。 Upvoted。 – ChrisC 2010-02-18 19:59:11

1

我能想到的最大的问题是需要安装一个解释器。

使用Java,很多人已经安装了该解释器,但您不一定知道哪个版本。在程序中包含Java的安装程序可能是明智的。

使用Python,您也必须在每台计算机上安装解释器。

一位评论者提到.NET。在Windows机器上安装.NET 2.0的可能性要高于Java或Python。问题是你不能(容易地)将它安装在OSX或Linux上。

+0

谢谢。 Upvoted。 – ChrisC 2010-02-18 19:59:56

1

我个人的选择是使用Java。由于JVM,您不应该遇到不同操作系统的任何问题。但是,Java中的GUI程序设计可能很麻烦,但是有很多关于如何使用swing创建良好GUI的很好的教程。

HERE是一个链接到一个体面的教程使用嵌入式,Apache Derby,数据库和JDBC与一个简单的GUI。本教程没有真正解释如何创建GUI,因为它更适合使用JDBC进行数据访问。

希望能帮到一些。

+0

谢谢。 Upvoted。 – ChrisC 2010-02-18 19:58:00

1

然后使用Jython,你会得到:-)

加上两全其美,你可以写在纯Java性能的关键部件,轻松地集成它(或多或少)。

+0

谢谢。 Upvoted。如果我去Java路线,我会记住这一点。 – ChrisC 2010-02-18 19:58:47

0

你可以得到一个程序启动和Python 2.6很快运行时,pyodbc模块SQL集成,PyQT创建GUI和py2exe捆绑在一起的一切(计有蟒蛇)到一个可执行文件,所以你不需要在每台计算机上安装解释器。

这应该让你开始使用Python应用程序 - 在StackOverflow上有大量信息/回答了所有这些软件包的问题,​​以帮助你一路走来。做一些搜索,如this,也可以帮助你开始......如果你遇到困难,你可以在这里寻求帮助。

+0

另外需要注意的是:Python内置了sqlite,这取决于你想要做什么,可能就足够了。 – 2010-02-17 16:56:26

+0

我认为sqlite是无服务器,这意味着数据库不能从另一台计算机访问(这是我的理解)。 – ChrisC 2010-02-17 17:21:39