我必须为我们的产品选择一个平台.我必须在Qt框架和Adobe的AIR之间做出决定.我很熟悉Qt,因为我在过去的两年里工作过.我查看了Adobe的网站,但所有关于flex,flash,HTML/ActionScript编码能力的信息都令人难以置信.关于Adobe生态系统,我无法理解以下内容.
我在Adobe AIR上有以下问题:
我用什么语言编写应用程序代码?(不只是定义UI的外观)
就像在Qt中我使用C++一样.是Actionscript吗?
我们可以说AIR仅用于为应用程序制作UI.
实用程序类的文档与AIR一起在哪里?
例如http://tt-project.org/doc/为Qt
Qt附带了一套可以使用的大量预制小部件.Adobe是否附带任何此类小部件集,如果是这样,我在哪里可以看到它在url中?
我理解flex SDK是开源的.我可以制作商业应用并发货吗?flex SDK是否包含所有内容(编译器,实用程序类/小部件)
AIR在许可方面的成本是多少?
AIR中有什么东西等同于QT的QGraphicsView吗?
taudep.. 11
如果您需要访问许多本机库,则需要保持在QT环境中.请记住,AIR是单线程的,并且在Flash Player上运行(最初设计用于基于帧的动画.)但是,根据您正在构建的应用程序的样式,AIR可能很适合您.
请注意AIR可能会让人感到困惑,因为有一些不同的开发人员路径来创建AIR应用程序:1)使用html/javascript和AIR SDK,2)使用Flash/Actionscript和3)使用Flex SDK和/或Flex构建器.就传统桌面开发背景而言,最后一个是最强大的.
用于连接Web服务的Web 2.0小应用程序是AIR应用程序的理想选择.像IM客户端Digsby这样的事情会很棒.到目前为止,我最喜欢的AIR应用程序是Basamiq Mockups.其他有用的应用程序是TweetDeck.这些是很适合用AIR解决的事物类型的很好的例子.
您应该访问Adobe Showcase并查看一些应用程序:http://www.adobe.com/products/air/showcase/
另外,如果你想要退出C++游戏,我相信QT现在有一些java绑定...我还记得一些python绑定,但我从不看那些.
就QGraphicsView而言,人们在Flex中做过类似的事情.我现在尝试使用谷歌搜索,但最初找不到它们,但人们已经采取了像大图像这样的东西,然后只在窗口中显示当前区域.此外,在Flex的下一个版本中,他们正在构建一个官方的ViewPort组件:http://opensource.adobe.com/wiki/display/flexsdk/Gumbo+Viewport
如果您需要访问许多本机库,则需要保持在QT环境中.请记住,AIR是单线程的,并且在Flash Player上运行(最初设计用于基于帧的动画.)但是,根据您正在构建的应用程序的样式,AIR可能很适合您.
请注意AIR可能会让人感到困惑,因为有一些不同的开发人员路径来创建AIR应用程序:1)使用html/javascript和AIR SDK,2)使用Flash/Actionscript和3)使用Flex SDK和/或Flex构建器.就传统桌面开发背景而言,最后一个是最强大的.
用于连接Web服务的Web 2.0小应用程序是AIR应用程序的理想选择.像IM客户端Digsby这样的事情会很棒.到目前为止,我最喜欢的AIR应用程序是Basamiq Mockups.其他有用的应用程序是TweetDeck.这些是很适合用AIR解决的事物类型的很好的例子.
您应该访问Adobe Showcase并查看一些应用程序:http://www.adobe.com/products/air/showcase/
另外,如果你想要退出C++游戏,我相信QT现在有一些java绑定...我还记得一些python绑定,但我从不看那些.
就QGraphicsView而言,人们在Flex中做过类似的事情.我现在尝试使用谷歌搜索,但最初找不到它们,但人们已经采取了像大图像这样的东西,然后只在窗口中显示当前区域.此外,在Flex的下一个版本中,他们正在构建一个官方的ViewPort组件:http://opensource.adobe.com/wiki/display/flexsdk/Gumbo+Viewport
Go花一些时间在这个AIR应用程序上,然后问问自己Adobe Flex和AIR是否值得花时间掌握主题(准备问自己为什么C++/QT之类的东西不存在类似的东西):
Tour de Flex
Tour de Flex是一个用于探索Flex功能和资源的桌面应用程序,包括核心Flex组件,Adobe AIR和数据集成,以及各种第三方组件,效果,皮肤等.
你的一些问题:
Flex可以用MXML和ActionScript3编码.AIR还支持HTML/DOM/JavaScript编程,因为webkit HTML渲染引擎内置于AIR运行时.
MXML是一种XML声明性DSL,可以编译成ActionScript3命令式代码.但是,对声明性地编码UI的图形形式(即MVC模式的视图)是非常好的.
ActionScript3有一个基于JavaScript的heratige,但它已被赋予了更像Java或C#的点.它具有包名称空间,包含继承的类和接口,类成员访问保护关键字,构造函数,静态成员以及Java上的一些非常好的补充:属性,事件,数据绑定和闭包.
Flex样式编程也是依赖于异步I/O交互的单线程模型.这是一个比多线程Java Swing或C#.NET Winform应用程序更简单的编程模型,但允许实现程序行为的相同净结果.我在这里详细说明:
Flex异步I/O与Java和C#显式线程