1. 重新定义:Flex是web标准

MXML是Flex应用的标准语言,它允许开发人员开发应用程序架构,不仅包括表现层也包括class structure。这对web设计类的人和后台开发的人来说很容易,因为MXML markup与HTML很类似。同样的,Flex内的ActionScript与JavaScript也很有可比性,而且Flex使用web标准的CSS 来控制表现层。它也是构建应用架构的好方法,因为语言的树形特性使它很好地融合了一个典型的应用container-component 模型。因此,源代码易于发布,因为它不是一个二进制的IDE特定文件,而是适合人读的文本文件。

值得一提的是,MXML是ActionScript某种程度上的简约表示,后者是ECMA从属的脚本语言。这是因为MXML在编译时间转换为 ActionScript 3,因此即使没有用过和学过MXML,也完全可能使用ActionScript 3来构建Flex应用。然而对许多应用而言,使用MXML结合ActionScript是常用的方法。

2. Flex是Flash,然后是别的什么

如果你对Flash一直以来的轻量级矢量动画和优良的用户界面很熟悉,你就不会对Flex感到陌生。Flex是在Flash Player基础上建立的,后者是所有Flash内容的引擎。所以,没有什么Flash能做到而Flex做不到的东西。

所有Flash中的显示编程、API画图和动画,Flex也完全可用。然而,Flex还为Flash应用提供了架构,提供一整套用于帮助开发者写出强大和可扩展应用的界面组件和容器。

3. Flex 很能干

许多公司将他们的软件从Java移植到Flex。这是因为Flex能够提供许多跟Java一样的性能,如跨操作系统的"write once"能力和面向对象的架构,但Flex的包小得多而且可以下载许多额外包。Flex应用既能用于web端软件也能用于桌面端软件(与Adobe AIR)而且这样做可以利用一个单独的code base。

由于Flex构建在处处可见的Flash Player之上,所以无论你写的是什么都能在安装了它的机子上运行,而且带有Flash Player 9的电脑(大部分是能上网的机子)达到了高达90%的比率。Flash Player使你免于不同浏览器转换的弊病,使你的软件免于愚蠢的bug和冗长的代码,并且避免由于新浏览器的发布而重写代码,而且动»¬和音效在每台机 子上都播放得一样好。当你为Adobe AIR写代码的时候,你就立刻拥有了一个跨操作系统的桌面应用,能够一举运行在Mac OSX、Windows和Linux系统上。

4. Flex与服务器无关

Flex为数据而生,它可以以大多数常见的格式、跟所有常见的服务器交互来接受数据。这包括本地和远程下载的XML、JSP、 PHP、 ASP还是 ColdFusion你自己说了算。你可以通过HTTP 或者SOAP web服务器下载信息,甚至可以直接与Java服务器对象交互或者在线转换二进制数据。Adobe AIR能向SQLLite数据库读和写。如果你有个特别的back-end服务器,Flex也可能会用他们而且大多数情况下操作都很简单。

如果有框架中的一套优秀服务组件,多半你能够用几行代码就获取到你的数据,并且直接绑定到UI组件。如果你需要更多精细的控制,你也能够连接到二进制插口而且甚至下载文件(在Flash Player 10)。

5.Flex就是你想要的样子

Flex应用的默认界面是可以配置的。由于内核的可编程性皮肤,Flex应用可以被调整到你喜欢的样子——这儿那儿改改颜色、修改下透明度、改下UI控制 的外形和尺寸,所有这些可以通过标准的CSS来实现。CSS并非一个需求,因为MXML允许开发者通过简单的标示来调整样式和皮肤。如果你使用Flex Builder,你的应用就有一个完整的WYSIWYG编译器,你能借此制作和插入图形并且拥有所有为你编写的CSS。除此之外,Flex应用还有一堆主 题布景,使得你只需要一行MXML代码就可以改变整个外观。

值得一提的是,Flex不像Java和JavaScript,它不从所在的操作系统继承UI。也就是说,一个运行在Mac OSX的Flex应用不会有像Mac按键的按键,呼叫Flex Alert也不会呈现Mac alert表。Flex有其内置的界面,但是如果操作系统的样子是你想要的,那也有一些主题可以让你很接近操作系统的样子。

6. Flex轻便快捷

由于构建于ActionScript 3之上,所以Flex框架出奇地快。ActionScript 3显著提高了初始化时间,内置对延迟实例化的支持作用也很明显。使用了一个全新的JIT (Just-in-Time)编译器,你的代码运行得会非常快。富数据可视化和一流的动画可以不要动用用户的CPU来完成。由于之前的3D动画始终是个瓶 颈,Flash 10中的全新支持将解决这个问题。甚至还有图像的硬件加速器来充分利用现代的图形处理卡(显卡)。

尽管有人有争议,但Flex的确很轻。使用一套UI组件将肯定比从零做起的ActionScript代码大,但考虑到它们的强大,这些组件确实很小。实际 上,使用一个AJAX框架构建的典型应用经常比一个小的Flex应用大。尽管Flash Player经常预装在电脑里,但它也不过是几个兆字节的下载。值得一提的是还有个叫做框架缓存(framework caching)的新组件,能为框架组件取出相当部分的下载。这个特性能够在用户的电脑上存储标准的Flex UI组件,从而其他的Flex应用可以迅速下载,而不用下载整个框架。

7. 无障碍的Flex

有一段时间,关于Flash能否为残障人士所用的争论很多,而且理由不少。Flash内容经常被误解为骨子里就不能让残障人士使用,但这种观点实际上是远 离事实的。随着用户渴望得到的越来越多,Flash能够与屏幕阅读器“互动”。实际上,Flex框架的组件有一个很棒的辅助工具,可以为屏幕阅读器和键盘 提供导航,大部分Flex开发者需要做的只是开启这个工具(默认选项是关闭的)。

与许多AJAX组件相比,Flex更有亲和力。这是因为HTML通过创建JavaScript框架,经常破坏许多本地的残障人士支持特性。相比较而言,Flex从已开始骨子里就内建了对残障人士的支持。

8. Flex 是SEO兼容的

过去,在Flash Player上构建一个网址是搜索引擎最佳化(SEO)的梦魇。这是因为用来浏览web页面的软件通常“不认识”.swf文件,后者是Flex应用编译成 的二进制文件。现代的搜索引擎最终加入了阅读.swf文件的功能,比如超链接和大量文本,这多少起了些作用。

然而,完全使用Flash/Flex构建网站的问题在于,不同网址的浏览关系比如site—tabs是不被搜索引擎理解的,引擎认为这只是一个单独的页面 (也许有点文本)。考虑到Flex应用编译的方法,.swf的可读性变得更加困难。就在最近,Adobe针对搜索引擎机器人推出了一款特殊版本的 Flash Player,它能够让引擎搜索得更加深入从而迅速返回最好的搜索结果。然而如果SEO只是你的最初目标,那么完全使用Flash来构建网页是不可取的。 使用HTML夹杂Flash内容才是更好的方法,或者也可以用HTML来构建主页,用Flash来构建某些部分。注意,MXML代码编译成.swf,这种 标示搜索引擎是不认的。

9. Flex 是免费的,开源的

Flex的整个框架的源代码是公开的,同样Flex SDK和Flex Builder的每个copy也都是公开的。这意味着你可以从内部看到它们是怎么工作的,以及框架的debug过程,甚至你可以为个人用途而修改它们。 Flex也是免费的——使用Flex SDK开发是免费的,也可以使用免费的mxmlc编¼¬器来编译。不同于早期的版本,Flex也不再需要特殊的服务器。你可以轻易地创建一个编译应用并发 布到你想要的服务器上。当然,如果你决定使用基于Eclipse的IDE开发,那么Flex Builder的一个copy是付费的。但这个费用不高,而且这个最初的开发工具最近又降价了。

10. Flex易于学习

Flex,我敢说,很容易学。MXML非常易于理解,去除了用纯ActionScript开发的许多复杂的语法。如果你曾用过HTML和CSS,再学 Flex你就已经算会了一半。一旦你学了MXML的基础,你就可以开始学习ActionScript来让你的应用更具交互性。Flex框架提供了一整套用 户界面组件来加快开发过程,学习它们的基本使用也是非常简单的。

这确实很简单尤其是当你开始使用ASDocs时,后者是为Flex提供的文档。今天对任何编程语言来说,ASDocs都可能是最精细和简化的一套文档,这 使得最初的开发环境——Flex Builder,能够帮助你快速入手,并使你在Design模式下可视化地构建你的应用,让你使用手指(点击)即能完成最常见的任务。而且市面上有许多很 好的书籍,既有适合编程绝对菜鸟的又有适合其他编程语言转到Flex的,林林总总。

Flex中你最应该知道的10点相关推荐

  1. 大规模运行MongoDB应该知道的10件事

    MongoDB的首席解决方案架构师Asya Kamsky 最近发表了一篇文章,概括了大规模运行MongoDB需要知道的10件事. MongoDB也需要DevOps.MongoDB是一个数据库.和任何其 ...

  2. ftpclient怎么获取到该目录下面得文件_你应该知道的10种Python文件系统方法

    使用os和shutil操作文件和文件夹 你可以编写Python程序来与文件系统进行交互来做很酷的事情.怎么做并不总是非常清楚.本文是当前和有抱负的开发人员和数据科学家的指南.我们将重点介绍10个基本的 ...

  3. 女孩做妻子前应知道的10件事

    女孩做妻子前应知道的10件事 一段时间的甜蜜恋爱期过后,你和心爱的他终于要踏上期盼已久的红地毯.你发誓一定要做个最幸福的小女人,要成一个永远让丈夫着迷的好妻子.从一个女孩的身份转变为一个妻子的身份前, ...

  4. 你应该知道的10件关于Java 6的事情

    http://java.sun.com/developer/technicalArticles/J2SE/Desktop/mustang/beta2.html 一文中描述了你应该知道的10件关于Jav ...

  5. 女友要悄悄知道的10个事情....(转载)

    女友要悄悄知道的10个事情.... 一:爱人就是爱人,只要去爱,不要拿来比较,不要老说别人的老公如何如何好,别数落他没出息,你是他最亲密的人,你还这么说他,好象不太应该,对大多数男人来说,赞赏和鼓励比 ...

  6. 程序员应该知道的10大编程格言

    作者 | BarryWang 来源 | https://www.cnblogs.com/barrywxx/p/4399007.html 每个程序员都该知道的10大编程格言(Kevin Pang): 编 ...

  7. 声场测试话筒_麦克风测试/使用时要知道的10个重要声学知识

    麦克风测试/使用时要知道的10个重要声学知识 1.混响 声音在房间内衰减的方式是影响声音录制的重要因素.混响对声音的作用是两面的,可以更好也可以更坏,混响时间是其中重要的条件.混响时间指的是从声源停止 ...

  8. WMS开发前要知道的10大关键点

    导语 大家好,我是智能仓储物流技术研习社的社长,你的老朋友,老K. 知识星球 * 原创电子书 * 深海社区 * 微信群 现代供应链需求对仓库管理系统(WMS)形成了一系列复杂而又严格的要求,并且面临的 ...

  9. IT人士应当知道的10个行业小内幕

    IT人士应当知道的10个行业小内幕 如果你打算从事IT行业或刚进入这个行业,也许本文下面的小内幕会吓到你,因为这些事平常都不会公开讨论的.如果你是IT资深人士,或许你已经遇到其中的大部分了.如果你愿意 ...

最新文章

  1. Android学习第一书
  2. 再探@font-face及webIcon制作
  3. win10重置此电脑_Windows 10更新导致“重置此电脑”失效 微软给出解决办法
  4. excel字符串和单元格拼接_Excel实例分享-学会输入数据小技巧,让你的工作效率远超同事...
  5. CSS3-transform-style
  6. spring事物回滚遇到的问题
  7. 浅谈LTE技术及实际应用方案
  8. MVC Razor基础
  9. Cadence OrCAD Capture TCL/TK脚本实例
  10. Python数据挖掘——概况
  11. 内网地址映射为外网地址方法
  12. HTML5 之 Link 标签
  13. 关于多元正态分布向量表示的Notation问题
  14. QEMU 7.1发布
  15. 远程关闭计算机提示拒绝访问权限,如何解决shutdown远程关机win10拒绝访问的问题...
  16. ChatGPT 大智近妖,从宇宙人生到手搓光刻机,从哄女友到写年终总结我们聊得非常开心,反而让人越来越忧心
  17. 基于 PaddleClas 的 SoccerNet 足球 ReID 基线
  18. 百度云服务器vnc密码,在群晖中使用百度网盘的最新方式——baiduNetdisk
  19. 五十分钟带你看遍C语言初阶语法(总纲)
  20. 台湾大学林轩田机器学习技法课程学习笔记11 -- Gradient Boosted Decision Tree

热门文章

  1. 3-2.6==0.4
  2. idea 配置多个jdk
  3. Unity发布WebGL时如何修改默认的载入进度条sf?
  4. BZOJ 1503 treap
  5. iOS学习之Runtime(二)
  6. Android app被系统kill的场景
  7. java stopwatch 功能
  8. Windows7 网上邻居设置
  9. [你必须知道的.NET]第二十七回:interface到底继承于object吗?
  10. posix自定义消息队列_消息队列开源框架,基于Io,节约服务器资源