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 抛出了一则很实在的评论,可以说总结了技术演变的本质:
我不在 Adobe 工作。我不在 Microsoft 工作。我不在 Borland 工作。我不在 Oracle 工作。我也不在任何一家参与竞争的厂商工作。我是一个普通的开发者。归根结底,正是由我这样的人来决定哪些技术能幸存,哪些会死掉——端看我们的选择,就那么简单。
查看英文原文: The Good, Bad and Ugly of Silveright Ignites RIA Discussion
评论