Apache Royale上所有Button类之间的区别是什么,效率更高?

时间:2019-09-25 20:06:19

标签: actionscript-3 frameworks components apache-royale

请您能说明一下我对具有相似组件的软件包的理解吗?例如,让我们使用一个按钮

(更新:查看源代码,我想Royale是一个由多个项目组成的集合。该列表位于apache-royale-0.9.6-bin-js\royale-asjs\frameworks\projects文件夹中。一些项目与基本项目,Jewel项目,MDL中的Button一样,都是相同的组件项目,HTML项目,HTML5项目等...)

我可以选择:

1)mx.controls.Button =>好的,我读到的是模拟组件。我认为,从Flex到Apache Royale代码的迁移不是最高效但最容易使用的

2)org.apache.royale.html.Button =>我对HTLM不太熟悉,但我相信它是HTML Button标记(<BUTTON>

3)org.apache.royale.html5.Button =>好吧,与2)有什么区别?

4)org.apache.royale.jewel.Button =>它是Jewel的Button组件。具有一些特定的属性,靠近“弹性按钮”,可以在将其悬停时显示“鼠标手”指针,等等。。。我相信我必须使用这个鼠标指针。。(更新:不确定,我很难皮肤,Basic的Button看起来很容易皮肤,我不确定,但我认为我必须重写IBeadView: ClassReference("org.apache.royale.jewel.beads.views.ButtonView")才能设置自己的皮肤)

5)org.apache.royale.mdl.Button => 这是什么?看看源代码,它是Material Design Lite组件

6)spark.components.Button =>我相信像1),但是对于火花组件而不是mx?

7)<js:HGroup>(基本包装)和<j:HGroup>(珠宝包装)之间有什么区别?是同一件事还是具有<j:HGroup>可用的更高级的选项和/或珠子?

最诚挚的问候

1 个答案:

答案 0 :(得分:1)

Royale是一个框架,不会尝试施加一组组件,也不会尝试关闭通往不同代码的路径。与Apache Flex不同,在Apache Royal中,我们只有MX和SPARK组件,而在Royale中,我们有几个组件,并且我们希望其他人将基于Royale基础创建其他集合,以满足不同的需求。

1) MX按钮。正确,目标是从Flex迁移。 MXRoyale 是一个使用以下 Basic 的库。目的是找到从Flex到Royale时的最小重新编码。目前主要的问题在于外观,外观是非常基本的(至少目前而言),实际上是基于Basic;),即创建具有最低需求的集合的集合(这就是PAYG-即付即用,这是Royale的核心概念。

2) HTML按钮。正确,它只是一个最终创建HTML按钮的类,在这里实际上没有任何其他价值,因为可以直接在Royale中使用JS Button,但是由于我们具有HTML库,因此必须表示所有HTML标签。

3) HTML5按钮。原则上使用HTML5规范,仅此而已,但与2)相同。

4)珠宝按钮:珠宝是一组具有预定义主题和样式的组件,可以为它们创建结构,以便轻松创建其他主题并在它们之间进行切换。 Jewel可能是Royale上最先进的设备,可以像Flex一样工作,但是也可以针对Flex中不存在的现代概念(例如响应能力,移动设备)...如果您从Flex迁移但想要重做视觉部件,以使现代应用程序与抽屉,徽章,TopAppBars或Snackbars等组件相匹配...

5) MDL按钮,是Material Design Lite的端口。证明Royale可以包装其他JS库,以便我们可以轻松地将它们与AS3和MXML一起使用。如果您认为MDL没问题,但是如果您想在某个时候改变外观,那么您将与MDL保持联系。因此,其他选项(例如Jewel)可能会更好,因为使切换主题更容易。

6)正确,如您所说, SPARK按钮

7)基本/珠宝HGroup 。 Basic和Jewel的布局之间的主要区别是,在Basic中,它们更多地基于JS。 Jewel尝试利用CSS的更多优势,因此在可能的情况下将很多东西委托给CSS样式。