Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 共享软件/免费软件桌面应用程序将使用什么语言/平台?_Java_C++_Wpf_Qt_Desktop Application - Fatal编程技术网

Java 共享软件/免费软件桌面应用程序将使用什么语言/平台?

Java 共享软件/免费软件桌面应用程序将使用什么语言/平台?,java,c++,wpf,qt,desktop-application,Java,C++,Wpf,Qt,Desktop Application,我有一个DVD编目应用程序,是我几年前用MFC编写的。记录保存在sqlite数据库中,因此基本上它是一个CRUD应用程序。就UI而言,它在左侧有一个树视图,在右上角有一个列表视图(网格),在右下角有一个HTML视图(嵌入式IE)。没什么特别的 我想用更多的功能来更新这个应用程序,但在过去的几年里我一直在使用JavaEE,我意识到我用MFC根本没有效率。所以我想也许我应该用别的东西来提高我的工作效率。跨平台将是一个巨大的好处,但它不是绝对必要的 以下是基于我的研究的选项: Java/Swing:

我有一个DVD编目应用程序,是我几年前用MFC编写的。记录保存在sqlite数据库中,因此基本上它是一个CRUD应用程序。就UI而言,它在左侧有一个树视图,在右上角有一个列表视图(网格),在右下角有一个HTML视图(嵌入式IE)。没什么特别的

我想用更多的功能来更新这个应用程序,但在过去的几年里我一直在使用JavaEE,我意识到我用MFC根本没有效率。所以我想也许我应该用别的东西来提高我的工作效率。跨平台将是一个巨大的好处,但它不是绝对必要的

以下是基于我的研究的选项:

  • Java/Swing:我可以利用我的Java知识;伟大的第三方库(如用于IoC的Spring和用于ORM的Hibernate);跨平台。缺点是,用户需要JRE;Swing似乎处于“维护”模式,并没有受到Sun的太多关注
  • C++/Qt:本机应用程序; 跨平台。但我对Qt还不熟悉,所以 我得先学
  • C#/WPF:WPF似乎是未来 在Windows GUI开发方面,我 对一些WPF示例应用程序印象深刻。我 有一些C#方面的经验,但我 需要学习WPF。缺点是,Windows 只有NET 3.5运行时必需

如果你处在我的处境,你会用什么?提前感谢您的建议。

如果您想在开发此应用程序时学习一些新技能,那么C#/WPF和C#3.0中的LINQ如果没有Java的话,那真是太棒了


如果您只是想加快速度,那么您已经回答了自己的问题,Java/Swing。这正是你所擅长的。

我实际上是一个忠实的C#迷,但既然你说跨平台将是一个巨大的奖励,我认为Qt实际上可能会更好。C#可以通过Mono跨平台,但我在这方面有更好的效果。QtAssistant中也有很好的文档,可以帮助您入门。

如果您真的想要一个类平台类型的应用程序,我会将其转换为web应用程序并托管它。这样,如果一个用户上传dvd信息或dvd封面图片,另一个用户可以利用已经输入系统的信息


如果你打算为桌面开发,试着通过使用操作系统UI工具使其感觉像是为该平台开发的应用程序。对于windows,选择第三个选项C#/WPF

> P>如果你想重用的MFC应用程序中有一些非UI代码,那么考虑Qt。否则,选择您喜欢学习的内容。

您可以给Silverlight一看,而不是C#/WPF。您的应用程序似乎足够简单,不需要花很多时间就可以启动并运行。类似于在会议上展示的演示

一旦你掌握了基本知识,就可以很容易地添加一些很酷的功能,如动画、电影剪辑、相册艺术、coverflow界面等


您将能够使用Moonlight瞄准Windows/Mac用户,可能还有Linux用户。但是我在过去的8年里没有研究过Linux,所以我真的不能对它说太多。

如果您的生产力是一个大问题,那么考虑一下PyQt+Python。相信我,当我说Qt的学习曲线是值得的,而不是像一开始看起来那么难

如果您愿意使用Sqlite,Python标准库和Qt中的QSql模块中都提供了Sqlite支持

PyQt+Python也是一个跨平台的选项,因为Python可用于许多平台,而Qt的跨平台也可以从Python开始


您在应用程序中使用的控件都可以在Qt中使用 使用其他工具时,您将在部署中遇到问题

使用Delphi,您将生成独立的本地EXE。此外,数据库连接也很好

你永远不会因为缺少控件或3d party工具而失望,很多都是源代码和免费/商业工具集

编译时间是这个星系中最快的;)

因此,如果你真的想为你的客户提供无hasle应用程序,而客户不像开发人员那样以技术为导向,那么你可能会感到困惑,因为4.NET运行时安装中的哪一个需要最低限度的支持、轻松下载,请单击“安装”按钮,然后单击“运行”,即可立即运行的应用程序,如Skype、TopStyle(用Delphi制作)和,那么Delphi/C++是您唯一的选择。认真地唯一的选择



如果您想要一个跨平台的解决方案,那么如果您的GUI是极简主义的,那么FreePascal/Lazarus就可以工作。

使用Eclipse RCP,您可以获得Java、跨平台开发(请参阅Delta Pack)、本机外观(通过SWT)和用于桌面开发的优秀框架集(声明式UI、插件管理等)。你绝对应该试试看。

在大多数情况下,只要项目的范围相当小,并且计算需求适中,我倾向于使用。我还没有学会一种比tk更高效的gui api(并不是说没有,只是我尝试了几种,发现它们速度较慢)。可以肯定的是,TCL并不是最棒的编程语言,尽管有许多附加组件非常有用,特别是
[
]

例如,我之所以选择这个系统而不是其他系统,我更喜欢用python编码,是因为使用tcl/tk进行部署几乎是无与伦比的。使用,您最终得到的是一个不需要安装程序的单文件双击应用程序,并且非常便携。

几个月前,我使用了C++/wxWidgets(但您可以使用Qt)路线,当时出现了几乎完全相同的场景(使用SQLite db升级应用程序)。很容易找到,拥有我所需要的一切,比MFC简单得多。最好的部分是,我在代码项目(例如,)上找到了SQLite的一个好的C++包装,并拥有了整个东西。