Foo*_*Bar 14 c++ java qt cross-platform javafx-2
我需要一些处理跨平台应用程序(特别是带有GUI的程序)的开发人员的建议.
我将很快创建一个需要跨平台的应用程序,因此我对两个不同的框架进行了一些初步研究:JavaFX 2.0和Qt.
老实说,两者都不仅仅满足我的需求.那么我问自己为什么我会选择一个而不是另一个(SPOILER ALERT:我不知道答案:P).我知道JavaFX 2.0是一个相当新的(截至2012年)并且不是跨平台完全支持,但它最终会得到支持.
我提出的问题是:您将哪一个用于跨平台应用程序,以及您在做出该决定时看到的标准是什么?
感谢您抽出时间来阅读!:)
编辑: 在考虑这个问题时供您参考,我将编写的应用程序涉及读/写XML文件,显示图像,以及创建一些具有自定义功能的小部件.我在C#中使用.NET编写了类似的应用程序,但在考虑JavaFX 2.0或Qt以实现跨平台可用性时,我希望得到建议.
再次感谢!:)
Bru*_*ira 19
这是一个老问题:稳定性与前沿性.我会尝试根据您的应用程序功能为您提供一些个人见解.
JavaFX 2.0是相当新的(截至2012年),并不是跨平台完全支持
嗯,它完全支持Linux,Windows和Mac.我可以这么说,因为我正在Mac上开发一个JavaFX 2.2应用程序,服务器在Linux机器上运行,而Windows机器上的客户机运行.
读/写XML文件
我还没有看到一些工具/界面比sax2更好/更容易/更快地解析XML.当然QtXMLPatterns模块解析器保护者尊重,但他们甚至开发了一个基于SAX2的XML解析器(顺便说一下,这个解析器并不完整,并且与传统的SAX1方法不完全兼容)所以我会说添加JavaFX 2得分.
显示图像
这两种技术都可以轻松地显示图像,但JavaFX 2.2缺少一些图像处理工具(特殊格式编解码器).如果图像处理是一个关键问题,我会说Qt在战斗中略微领先.
创建一些具有自定义功能的小部件.
截至目前,这在JavaFX 2中并不是一件容易的事,因为Stage对象没有像ALWAYS_ON_TOP这样的选项,直到3.0(2013年的某个地方)才会有这个任务.这不是一件难事,但Qt已经有了一些很好的自定义工具/ display/handle我们根本无法在JavaFX中重现的小部件.
您将使用哪一个用于跨平台应用程序,以及在做出该决定时您看到了什么标准?
好吧,JavaFX 2.2是由Java构建的.我个人觉得使用Java编程比C++更好更容易.你永远不必在java中使用指针,你总是可以依靠垃圾收集器进行内存管理,网上有很多教程和文档(我相信它超过了C++)和一个不断发展的Java Gurus社区.
在摘要中,我选择了JavaFX 2.2,因为它很漂亮,因为它很酷,因为我可以更轻松地处理MVC,因为我喜欢Java,但我相信如果应用程序的小部件是主要目的,你应该选择Qt它的.
我希望它有所帮助,欢呼
小智 13
我目前正在研究适合开发离线html5创作应用程序的各种跨平台框架.除了跨平台操作(Windows,Linux,OS-X),我的应用程序也有以下主要要求:
嵌入式数据库嵌入式(或其次,主流浏览器)HTML5渲染引擎高功能可编辑DND树,分割器面板和富文本编辑器小部件中型图像处理USB棒可移植性
我仔细研究了这些框架:
jQuery(JavaScript),HTML5,CSS3 Google Web Toolkit [GWT](Java to JavaScript)JavaFX 2.0(Java)QT(C++(Java绑定可用))Xulrunner(XML,JavaScript)GTK +(C)Adobe Air睡衣
我花了不少钱买所有这些技术的书籍,我开始编写原型,看看每个框架能带我多快和多远.
最初,JavaFX 2.0以最快的速度带我走得最远.对此的简单解释是,使用JavaFX,所有工具,IDE,库,文档,代码示例,周转,调试,社区支持,制造商(Oracle)支持和学习曲线都与最少量的阻抗不匹配结合在一起.
可能JavaFX最大的胜利是它易于实现客户端嵌入式数据库(Derby).对于所有其他框架,令人惊讶的是,这项任务更加困难和"笨拙".
不幸的是,当我发现WebView小部件不从本地file:// URL执行JavaScript时,我遇到了一个严重的JavaFX绊脚石.QtWebKit,GTKWebKit,Safari和Opera(所有基于WebKit)也展示了相同的文件:// JavaScript阻止行为(但Chrome没有),所以我猜测这是一个默认的WebKit安全措施.
当时,我认为文件:// JavaScript问题是JavaFX showstopper所以我继续开发jQuery,GWT和Xulrunner原型.结果,我的原型制作生产率急剧下降.与其他框架相比,Frankensteining和阻抗不匹配明显比使用JavaFX更糟糕.
这么多,以至于经过几个星期在杂草中徘徊,我回到了我的JavaFX原型,非常积极地找到一个解决方案.我最终通过在原型中嵌入Java SE 6的Web服务器,并通过以下列格式加载JavaFX WebEngine URL来连接到本地文件:"http:// localhost:58357/xxxxx.html"解锁JavaFX原型以这种方式就像回家一样.这真是一股清新的空气,更不用说大的,大的生产力助推器了.
基于这些经验,以下是一些可能在JavaFX与Qt辩论中有用的见解.
- H
小智 7
我从时间戳看到的是4个月之前我报道我选择了JavaFX2而不是QT来进行我的原型研究项目.大约2个月前,我开始从JavaFX2切换到QT,从那时起就没有回头了.争论的主要内容是从原型设计过渡到生产阶段.为了编写生产代码,QT被证明比JavaFX2领先一步.
和往常一样,魔鬼在细节中,它是一堆产生重大影响的小东西.使用JavaFX2,我经常面对并解决诸如无法控制的分割窗格调整大小行为,有限的树控制和有限的WebKit API访问(例如尝试实现浏览器缩放按钮,或将整个网页保存到本地html文件)这样的小事情 - 可行但比它应该的100X笨重).当加在一起时,这些"次要"的解决方案会减缓进度.
使用QT,这样的障碍很少,因此,从原型到产品的过渡是自然的,无缝的,并且数量级更快.
在不利方面,使用QT进入"Hello World"需要更长的时间.但是,一旦到达那里,生产力就会迅速超越并远远超过JavaFX2.其中一个原因是QT文档,示例程序和开发人员社区更加广泛.QT自1992年以来一直存在,自2011年以来一直存在JavaFX2,这种年龄差异使两个GUI框架的成熟度水平发生了显着差异.
至于Java vs C++问题,一直没有问题.两者都是很棒的语言.就个人而言,出于各种效率,生产力和性能原因,我发现C++是优秀的GUI语言,但这又是个人的结论.
| 归档时间: |
|
| 查看次数: |
17836 次 |
| 最近记录: |