Flex与JSON及XML的互操作
平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。
作者 Moxie Zhang译者 郭晓刚 发布于 2008年8月4日 上午1时38分
RIA工具成为主流技术,开发者的选择也越来越多。虽然Adobe Flex及AIR(Adobe公司基于Flash的RIA开发框架)明显在市场上领先,但Microsoft Silverlight登场之后的确使RIA领域的竞争更加激烈。技术社区也因此出现大范围的争论。
比如Adobe平台传道士Serge Jespers最近就写了一篇博客文章比较Flex和Silverlight,并因此点燃了激烈的争论。以下是文章的一些要点。
Jespers开篇先点出Silverlight“好的”方面,他总结如下:
- “第一,我很喜欢它的线程概念。能够把复杂的任务交给子线程,避免阻塞主线程,这样的能力很令人欣赏。举例来说,有了线程能力就可以一边在单独的线程里加载大量的数据,一边显示非常平滑的动画。”
- “Silverlight程序只需设置一个参数就可以直接和它所在的HTML文档通信。”
- “可以随意选择C#或者VB.NET来编程,这也是一项很优秀的特性。尤其是Windows平台的开发者都非常熟悉这两种语言。我不属于这类开发者,但我觉得C#和ActionScript很相似。除了C#和VB.NET之外还有XAML,我觉得它差不多和MXML是一样的东西。”
接下来他开始指出“坏的”和“丑陋的”方面:
- “用XAML和C#编写的代码非常啰嗦。”
- “调整控件的样式绝对是噩梦!我真心觉得这会成为Silverlight的阿基里斯之踵!”
- “还有一样我不能理解的就是文本框缺乏对HTML标签的的支持。”
- “我知道Expression工具还在beta阶段,但仍然不得不说整套工具(包括Visual Studio,这可不是beta了)感觉毛病非常多,还很不完善。”
- “在三天的尝试过程里,我有一种强烈的感觉——建造Silverlight的人完全不了解设计师。”
TimothyP回复说,“Flash的问题是它面向的是设计师,设计师往往以为自己是程序员(当然,反过来也一样,程序员也会以为自己是设计师)。”
他补充说,“通过Mono我可以把同样的.Net技能运用到Mac OS和Linux程序上。”
Adobe的Mike Chambers不同意:“以我的经验,Mono上的.Net和Windows上的.Net会有显著的差别,甚至有些东西是根本办不到的。另外,安装体验面向程序员的味道非常重。我不会想用它部署给终端用户。”
来自TheMidNightCoders的Mark Piller站出来列举了Silverlight的一些亮点,包括集成开发环境、Silverlight Beta 2中的DataPush功能、WebService集成、ADO.Net和LINQ集成,还有社区的规模。
Flex开发者Gareth Arch和Adobe的Kevin Hoyt对Piller的话既有赞同,又有不留情的批评,比如下面这段话:
我一直都很支持你们公司,听到你这种肆意的抨击颇有些讶异。BlazeDS就有data push功能(通过HTTP隧道),不但免费,还是开源的。由于Flash平台的开放性,我们在很多层上都有其他的选择,比如Granite、Red5、Wowza。你自己的生意就建立在Flash平台的开发性上面,应该清楚才对。
在微软的Scott Barnes问了一个问题之后,讨论更激烈了:
我的想法:说了那么多都有什么意义?证明一种技术比另一种更优?如果是这样的话,我们都输了。别“试用三分钟”就说话,找些真正的论点,多一点详细的分析再来跟我们说吧。
我现在看到的只是三名Adobe的员工在自家的论坛上和客户争辩自己的技术功能更强。除了看出Adobe很关心Silverlight之外,我看不出这讨论有什么价值。
Jespers反击说:“必须强调我并不打算吵谁的社区更大,那不是这个贴子的目的。实际上只有三则回复谈到了社区的规模。还要着重指出,我也谈到了SL好的方面!”
在Adobe和Microsoft双方都有越来越多人加入论争之际,Joe Nismet抛出了一则很实在的评论,可以说总结了技术演变的本质:
查看英文原文:The Good, Bad and Ugly of Silveright Ignites RIA Discussion我不在Adobe工作。我不在Microsoft工作。我不在Borland工作。我不在Oracle工作。我也不在任何一家参与竞争的厂商工作。我是一个普通的开发者。归根结底,正是由我这样的人来决定哪些技术能幸存,哪些会死掉——端看我们的选择,就那么简单。
很有文化底蕴
搞.net会用siliverlight,搞java的会用flex,就这么简单
搞.net会用siliverlight,搞java的会用flex,就这么简单?
搞java的会用javaFX
有错别字:
RiA --> RIA
ActiuonScript --> ActionScript
都没人提JavaFX啊,难道在这里Java彻底落后了?
你还指望Adobe和MS的人提JavaFX啊。
再说Flex都4了,Silverlight慢一点也2了。
JavaFX呢?6u10 beta才没几天,还在肚子里没生下来呢。
Adobe(MM)的客户以多媒体设计师为代表;
MS的客户以数据为中心的程序员为代表;
自然引出了其产品的不同,很正常。
麻烦,要么M$把adobe收购,要么adobe把M$收购(~~估计不可能),完了推出一个既符合设计师要求又符合程序员要求的产品不就得了。
M$不好的一点再于他的开发工具呀什么的都是收费的。贫穷的软件公司,贫穷的开发人员……不过FB貌似也是收费的……
以后可能对懂设计的程序员(偏程序),懂程序的设计师(偏设计)的需求会比较多,当两者一起工作的时候,能够进行很好的沟通,很快的完成任务。哈哈
假设真出现MS和Adobe互相收购的问题,估计灾难就来了。如果世界上没有麦当劳,那么就对比不出来KFC的炸鸡腿是不是更好吃;如果没有可口可乐,也对比不出来百事可乐是不是更甜一些;如果没有Adobe、Apple等所给予的压力,相信微软也不会那么努力了:)
平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。
本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。
Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。
Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。
Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。
我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!
8 条回复
回复