![]() |
1
11
如果您需要访问许多本机库,那么就需要保持在Qt环境中。请记住,Air是单线程的,运行在Flash播放器上(最初是为基于帧的动画设计的)。 但是,根据您正在构建的应用程序的样式,Air可能非常适合您。 注意,air可能会让人困惑,因为创建air应用程序有几种不同的开发路径:1)使用HTML/javascript和air sdk,2)使用flash/actionscript,3)使用flex sdk和/或flex builder。最后一个是从传统桌面开发背景来看最有能力的。 用于连接到Web服务的Web2.0小型应用程序是空中应用程序的理想选择。像IM客户Digsby这样的东西会很好。到目前为止,我最喜欢的Air应用程序是Basamiq原型。其他有用的应用程序是tweetdeck。这些都是很好的例子类型的事情,很适合解决与空气。 您应该访问Adobe Showcase并查看一些应用程序: http://www.adobe.com/products/air/showcase/ 另外,如果你想从C++游戏中脱身,我相信QT现在有一些Java绑定……我还记得一些Python绑定,但是我自己从来没有看过。
就qgraphicsView而言,人们在flex中做过类似的事情。我现在试着用谷歌搜索,但一开始找不到,但人们拍了一张大图片,然后只在窗口中显示当前区域。另外,在下一个版本的flex中,它们可以准确地构建一个官方的视区组件:
|
![]() |
2
5
花一些时间与这个空气应用程序,然后问问自己,Adobe Flex和Air是否值得投资你的时间掌握(准备好问自己为什么一些比较不存在的喜欢的C++/QT):
您的一些问题:
flex风格的编程也是一个单线程模型,它依赖于异步I/O交互。这是一个比多线程JAVA Swing或C.Y..NET WiFrm应用程序更简单的程序,但是允许实现相同的程序行为的净结果。我在这里详细阐述: |
![]() |
3
4
flex是开源的,你可以免费下载sdk,没有相关的许可费用。(见他们的 FAQ ) 他们确实提供了一个“flex builder”,我认为这是一个定制的Eclipse,而且成本很高,但是如果没有它,你可以完美地工作。 文档可在 adobe's livedoc 页。(哪个) to some ,这本身就是不喜欢Adobe的充分理由;) 我很想知道,如果你精通qt,为什么还要考虑别的事情呢?你希望空气比QT给你带来哪些好处? 我对qt和flex都有一些经验,但还不足以衡量两者的重量。我知道Qt/C++比Flex/ActionScript更成熟,更成熟。 如果你已经知道qt,我认为花在学习一个新框架(和编程语言)上的时间不会让你有足够的时间诚实地说… |
![]() |
4
3
我已经使用了qt和flex(虽然没有太多的空气本身),并且发现flex在启动、运行和修改应用程序方面更快,而qt提供了更多的控制——特别是在安装程序中。Air应用程序安装程序相当笨拙,或者至少在我尝试它的时候是这样,尽管从那时起它可能已经改进了。 air的最大优点是它的大部分代码可以在网页内的flash中运行。出于安全原因,您无法从Web访问本地文件系统等,但几乎所有其他内容都是可移植的。 |
![]() |
5
2
我做了相反的动作。我开始研究Adobe的东西,搬到了Qt。这样做的主要原因是由于Adobe框架的限制。当你使用Adobe的东西时,你被限制在他们所生产的工具上,如果你不能用Adobe的东西做你想做的事情,就很难引入外部框架或库。通常,这样做的解决方案是使用套接字,它在客户机-服务器体系结构上转换一个假定的“独立”应用程序。此外,如果您使用许多外部的东西,那么管理这么多不同的客户可能会很困难。 使用QT,您可以在C++中添加代码,并添加您想要的任何外部框架或库。尽管,有时它不容易编码,是可行的,没有“奇怪”的系统架构。 |
![]() |
6
1
如果您正在寻找一些使用qt和svg的“有趣”uis的示例,请查看kdeames[1][2]和kdeedu[3][4]项目。有很多好的代码可以使用qgraphicsview和svg创建可伸缩的接口。当然要注意的是,这是GPL,所以如果你的应用程序不是GPL,那么要小心你“借”的东西。 |
![]() |
7
0
我会第二次 Pieter 他的评论——如果你已经知道Qt,那么搬到一个全新的环境需要更长的时间。 Qt具有跨平台和非常成熟的优势:有Windows、Linux和Mac OS X的库。我对Air并不十分熟悉,只知道它来自Adobe,但产品站点似乎表明它适用于丰富的互联网应用程序。( http://www.adobe.com/products/air/ )如果这是真的,那么如果您正在开发桌面应用程序,qt将是更好的选择。 |