- 浏览: 1318313 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (351)
- Java General (37)
- .net General (2)
- Linux Toy (55)
- Oracle (81)
- Mysql (11)
- Programer Career (12)
- Oh, my living ! (2)
- Shell Script (8)
- Web Service (0)
- Linux Server (22)
- Php/Python/Perl (3P) (2)
- Javascript General (5)
- Saleforce Apex Dev (2)
- Web General (5)
- Xen & VM tech. (17)
- PSP (13)
- OpenSolaris (34)
- php (1)
- RAI/flex/action script (16)
- asterisk/CTI (7)
- 交互设计 (6)
- English (3)
- Lucene (1)
最新评论
-
GuolinLee:
markmark
JVM调优总结 -Xms -Xmx -Xmn -Xss -
di1984HIT:
写的太好啊。
JVM调优总结 -Xms -Xmx -Xmn -Xss -
javajdbc:
javajdbc 写道
JVM调优总结 -Xms -Xmx -Xmn -Xss -
javajdbc:
...
JVM调优总结 -Xms -Xmx -Xmn -Xss -
alvin198761:
非常感谢,国外的被封杀了,你这里还有一份
How to Convert An Image-Based Guest To An LVM-Based Guest
这样的比较有意义吗?个人意见,只要别把自己当成宗教教徒,将语言看作工具而不是信仰,那么比较就是有意义的。
语言(Silverlight以C#为准) |
|||
特性 |
比较 |
胜出 |
|
Flex |
Silverlight |
||
语法 |
Flex的编程语言ActionScript在变量与属性声明的方面语法有一点罗嗦(有些类似VB): public var varName : int; 相比之下C#就要简洁一些: public int varName; 不过,ActionScript支持以字面量的方式声明字典,这方面又比C#的Dictionary来得简明: public var dict = { x: 1, y: 2 }; |
|
√ |
语言特性 |
ActionScript支持动态类属性,这是C#目前所不支持的,因此在动态编程方面,Flex要简洁得多,也减少了很多代码生成的工作。 |
√ |
|
OO特性 |
ActionScript不支持抽象类和抽象方法。虽然对一般性的编程来说没有太大问题,但是对框架设计来说这是一个严重的缺点。 |
|
√ |
反射 |
反射对于元编程是相当重要的。Flex的反射机制比较原始,只支持有限的反射方法,并且代码中没有明确引用的类在编译阶段会被排除,这使得动态创建类更为麻烦。 不过得益于语言的动态特性,Flex反射代码比同等的C#代码要更加简明。 Silverlight也排除了一些高级反射特性(比如TypeDescriptor相关的一些方法),不过总体来说反射机制还是比较完整的,但同时反射的语法比较罗嗦。 |
|
√ |
基本类库 |
Flex的基本类库相当精简,精简的代价就是有些基本功能(如字符串的trim、日期的格式化)都欠奉,不得不求助于工具类库。Flex的集合类库功能也有一些薄弱。 Silverlight类库也比完整的.Net类库精简了许多,有些时候如操作Xml的时候不大顺手。不过大体上来说还是够用的。 |
|
√ |
扩充特性 |
E4X是Flex的独有特性,在Flex中使用XML简单到了让Linq to XML也相形见绌的地步。 Silverlight胜于Flex之处包括:Linq to object、lambda表达式和显式多线程,这些都是Flex所不支持的。 |
|
√ |
语言支持 |
Flex只支持ActionScript,Silverlight则支持C#、VB、IronPython、IronRuby、JScript等多种语言。但不论Visual Studio还是Expression Blend都没有为脚本语言创建项目提供任何支持,这使得Silverlight的多语言优势打了一个很大的折扣 |
|
√ |
总的来说,语言方面是Silverlight大胜Flex。
框架 |
|||
特性 |
比较 |
胜出 |
|
Flex |
Silverlight |
||
界面组件 |
经过几年发展,Flex的界面组件已经比较完整。基本框架中包括超过50个界面组件,远远超过Silverlight的组件数量。但是Flex里也缺少如AutoComplete等少数重要组件。 Silverlight本身就组件数量和功能方面远逊于Flex,不过添加Silverlight Toolkit以后可以在一定程度上弥补其不足。 |
√ |
|
布局 |
Flex的布局机制简单且灵活。Canvas支持多种对齐和摆放方式,灵活性远远超过Silverlight Canvas,是布局中最常使用的组件。Canvas、HBox和VBox三个组件基本上可以包揽90%上界面布局的工作。 此外,Flex中还有一些布局组件如Panel、Form和ViewStack是Silverlight所缺乏的。Flex还支持基于辅助线的布局,Silverlight里面没有这样的功能。 Silverlight的布局组件不仅数量少,基于附加属性的语法也比较冗长拖沓。 |
√ |
|
样式 |
Flex的样式语法基于CSS,非常简洁,且对于熟悉HTML的用户来说马上可以上手。 Silverlight的样式声明语法相当繁琐。比较一下Flex/Silverlight的样式设置:
Button { margin: 10; } <mx:Button />
Silverlight: <Style x:Key=”component” TargetType=”Button”> <Setter Property=”Margin” Value=”10” /> </Style> <Button Style=”{StaticResource component}” /> 可以看到,相比Flex所用的CSS语法来说,Silverlight中超过一半以上的代码是纯粹的语法噪音,只是为了方便解析器而设计的,对设计者来说完全是不必要的额外负担。此外,Silverlight并不直接支持类似Flex的全局样式。虽然StyleManager可以达到类似的效果,但语法更加罗嗦,会使得XAML更加冗长。 |
√ |
|
动画 |
Flex有多达10多种动画。Silverlight基于依赖属性的动画只相当于Flex的AnimationProperty,数量和功能都比较受限,并且只对于Dependency Property有效。 |
√ |
|
数据绑定 |
Flex的数据绑定语法直观且简洁,可以使用几乎任意的表达式。声明绑定属性的语法也相当简单,任何属性只要加上一个[Bindable]标签即可。 Silverlight的数据绑定语法相当累赘,至少造成了两个严重后果:1、大量数据绑定属性是造成XAML冗长难读的罪魁祸首;2、依赖属性编写很麻烦,需要大量样本代码,而许多框架特性又严重依赖于依赖属性,使得编写Silverlight组件成为相当累人的工作。 |
√ |
|
通信机制 |
Flex和Silverlight都支持大量标准化的通信机制,包括XML、Web Service和二进制数据等,支持程度也大致在同一水平上。 Flex略微胜过Silverlight的地方在于Flex有一个标准化的二进制通讯标准:AMF,基于AMF的服务框架不论开源或商业的目前都有广泛的应用。Silverlight在这方面还是一片空白。 |
√ |
|
异常处理 |
Flex的一个问题是不支持全局异常处理,对框架设计而言这是明显的缺憾。 Silverlight支持应用程序级别的全局异常处理。不过这个异常处理似乎也不是非常完整,有个别异常还是会漏网,造成Silverlight插件出错。 |
|
√ |
国际化 |
Flex对国际化的支持比较完整,使用上也很方便。唯一的小问题是支持额外的语言需要要执行一次copylocale命令行。 Silverlight对国际化的支持是有问题的,虽然可以使用,但要做很多手工工作,并且需要一些work around才能成功执行。 |
|
|
其他特性 |
Flex包括一个非常方便的界面特性:State,在界面有少量变化的时候使用非常方便,可以避免很多不必要的编码。这是Silverlight所欠缺的。 Silverlight的DeepZoom是Flex所没有的功能。 |
√ |
|
外观 |
外观是否好看应该说是个见仁见智的问题。不过Flex似乎在细节方面做得更好,请看Flex/Silverlight默认按钮外观的比较: <!--[if !vml]--> Flex组件默认情况下就有一个相当合适的边距,看起来很舒服,基本上不用再作什么调整。Silverlight就差多了,密密麻麻的挤在一起,显得非常局促,必须在样式上作很多调整才会比较好看。在这些细节上Silverlight明显不如Flex。 |
|
|
框架方面Flex可以说是大优势战胜Silverlight。
IDE |
|||
特性 |
比较 |
胜出 |
|
Flex |
Silverlight |
||
可视化设计器 |
具有讽刺意味的是,号称Visual的微软开发环境在WPF时代就再也难以自称Visual了。Visual Studio中的Silverlight可视化设计器目前只能说是一个废品,拖拉不能用,属性设置不能用,预览也不能用,并且常常假死,微软自己都似乎不好意思把它显示出来了。Expression Blend说实话也并不好用,不过它编辑XAML时的性能倒是比Visual Studio好多了,至少不会出现经常假死的情况。 Flex Builder编辑器经过几年发展,在可视化设计上已经达到不错的水准,使用也相当方便。不足之处在于不能同时打开太多页面,不然内存的耗用会相当惊人。 |
√ |
|
代码编辑 |
在代码编辑的方面则是Visual Studio要比Flex Builder表现更好。对于代码辅助和编辑提示方面,Visual Studio比Flex Builder表现更加成熟。 不过Flex Builder也有Visual Studio所不及之处:1、类导航的功能更加丰富,使用快捷键比Visual Studio中更迅捷;2、无论设计还是代码视图都支持文档大纲,浏览和跳转更加方便;3、指定文件编码也要比Visual Studio要容易。 |
|
√ |
代码隐藏 |
由于Flex Builder并不直接支持Code Behind模型,因此在界面和对应代码的管理上要比Visual Studio麻烦一些。 |
|
√ |
编辑器性能 |
对于可视化编辑器而言,Flex Builder的性能要比Visual Studio好得多。对代码编辑器而言Visual Studio和Flex Builder表现差不多,但Flex Builder占用内存比较厉害。 |
√ |
|
编译器性能 |
Flex编译性能一直都是一个饱受诟病的重大问题。在项目大到一定程度,编译效率就开始急剧下降,编译一次需要三四十秒是常有的事。(据说有人编译一次甚至需要20分钟以上,不过我还没有遇到) Flex编译慢是有原因的,因为编译器替程序员完成了相当多的工作。如果你打开-keep=true编译开关,检查一下生成的代码,就知道编译器的工作有多繁重了。如果愿意放弃一些可视化特性,手工编写ActionScript组件而避免使用MXML组件,就可以在很大程度上提高编译效率。 从长远角度来说,我认同Flex这种设计思路,用机器效率来换取程序员效率是值得的(Unix格言:宁用计算机一分,不花程序员一秒。)但对于眼下的机器性能来说,Flex编译性能还是一个无法忽略的问题,编译速度太慢会拖慢迭代开发的节奏,对程序员的心理也不能不说是一种折磨。 Silverlight编译效率还是不错的,代价就是冗长的程序代码需要程序员自求多福了,编译器的工作实际上是很轻松的。 |
|
√ |
调试 |
在开发环境的支持下,Flex和Silverlight的调试都比较方便。Flex的一个小问题是开发人员需要单独安装一个Debug版本的Flash Player,Silverlight则不用,所以Silverlight更加方便一些。 Silverlight缺少Flex Builder内置的Profiler,没有简单的方法进行性能测试。传统的.Net性能测试工具基本上都不支持Silverlight |
√ |
|
开放性 |
基于Eclipse的Flex Builder开放性明显要优于封闭的Visual Studio,有大量免费的Eclipse插件可以直接拿来使用。不过有少量插件会与Flex Builder产生冲突。如果没有大量的Java开发工作,那么安装Flex Builder完整版要比插件版更加稳妥并且简单。 Visual Studio的插件数量不多,配合Silverlight Tools使用的目前基本上还没有看到。 |
√ |
|
IDE方面Flex和Silverlight各擅胜场。
相关推荐
### Flex、Silverlight与HTML5:技术选择指南 随着网络技术的发展,Web应用程序开发领域出现了多种选择,其中包括Flex、Silverlight以及HTML5等技术。这些技术各有特点,为开发者提供了丰富的工具来构建复杂的Web...
通过五个方面,总结了flex 和 silverlight的优点和缺点。
Flex技术简介 Flex是由Adobe公司开发的一种用于创建富互联网应用程序(RIA, Rich Internet Applications)的框架,它基于ActionScript编程语言和MXML标记语言。Flex技术的出现,旨在提升Web应用的用户体验,提供...
ArcGIS Silverlight API是Esri公司提供的一个强大的工具,用于构建基于Silverlight技术的交互式地图应用程序。通过这个API,开发者可以创建丰富的WebGIS应用,展示地图数据、执行空间分析并提供用户友好的界面。 在...
Flex与Java之间的通信是开发富互联网应用程序(RIA)时经常遇到的一个重要技术问题。Flex作为Adobe推出的基于ActionScript的开放源代码框架,主要用于构建交互性强的用户界面,而Java则是一种广泛使用的后端开发语言...
### Flex与Java实现通信——使用BlazeDS技术详解 #### 一、引言 随着互联网技术的不断发展,前端与后端之间的数据交换变得越来越频繁。Adobe Flex作为一种强大的RIA(Rich Internet Applications)技术,广泛应用...
在"Flex与Bison(中文版)"这本书中,读者可以学习到如何使用这两个工具来构建自己的语言解析器。书本内容可能包括: 1. **基础概念**:介绍词法分析和语法分析的基本原理,以及编译器和解释器的工作流程。 2. **Flex...
综上所述,Flex与Java的通信涉及到多个层面的技术,包括前端UI的构建、后端服务的实现、通信协议的选择以及安全性的考虑。理解和掌握这些知识点对于开发高效、稳定的Flex与Java集成应用至关重要。
安装过程与Bison类似,完成后也需要将Flex的可执行文件路径添加到系统路径。Flex的2.5.4a版本是一个稳定版本,能够处理大量的词法分析任务。 在安装这两款工具后,开发者可以开始为QGIS编写词法分析器(由Flex生成...
### Flex3与Flex4对比分析 #### 一、概述 随着技术的发展,Adobe Flex平台也在不断进化以满足日益增长的应用需求。本文旨在详细介绍Flex3与Flex4之间的主要区别,特别是Flex4相较于Flex3的新功能与改进之处。通过...
Flex基础教程:富客户端技术详解 Flex是一种强大的富互联网应用程序(RIA)开发框架,由Adobe公司推出,专门用于创建交互式、动态的Web应用程序。它以其丰富的用户界面组件和强大的数据处理能力,为妇科客户端编程...
### Flex与Java结合开发知识点详解 #### 一、前言 在现代Web应用开发中,Flex作为一种强大的RIA(Rich Internet Application)技术,以其出色的界面渲染能力和丰富的用户交互体验,成为了许多开发者的选择。...
阅读这份文档将有助于深入理解Flex与Java的整合技术。 综上所述,Flex与Java的整合是一个涉及前端界面设计、后端服务开发以及两者之间通信配置的综合过程。通过合理的架构设计和精细的实现,可以构建出既美观又高效...
"Flex万年历记事本"是一个使用Flex技术实现的项目,它结合了日历功能和记事本特性,为用户提供了一种方便的方式来管理和记录日常生活中的事务。 在Flex源码中,我们可以期待看到以下几个关键知识点: 1. **MXML与...
标题"flex 和 java交互"指出了一个关键的技术融合,即Flex与Java的整合,允许Flex前端与Java后端进行数据和功能的通信。这种交互通常是通过AMF(Action Message Format)协议实现的,它提供了一种高效的数据序列化...
虽然市场上存在多种RIA开发技术,如Adobe的Flex、微软的SilverLight和Sun的JavaFX,但Flex凭借其与强大的Flash平台的紧密结合,展现出独特的优势。Flex不仅提供了丰富的UI组件库,还拥有成熟的开发工具链和庞大的...
Flex与Java的交互是跨平台应用开发中的常见技术组合,允许前端用户界面(UI)与后端业务逻辑进行高效沟通。在本文中,我们将深入探讨如何使用Flex 4与Java进行通信,并通过三种不同的方法实现这一目标:RemoteObject...
Visual Studio中创建Flex+Bison项目,源码中包含多个vs2010可编译通过的demo,用win_flex_bison-2.5.18 其中包含《Visual Studio中创建Flex+Bison项目.pdf》学习flex bison入门资料《flex与bison中文版.pdf》