写点什么

专家评微软“Flash”杀手——Silverlight

  • 2007-04-18
  • 本文字数:1249 字

    阅读完需:约 4 分钟

微软公司在 4 月 16 日的一次会议上,向外界宣布其针对下一代 Web 展现层所推出的新技术——Silverlight,被业界成为 Adobe Flash 产品的“杀手”。

Silverlight 技术集成多种现有的 Web 技术和设备,可以在 Windows、Mac 等操作系统上跨平台上运行,同时支持 IE 和 Firefox,甚至包括 Apple 的 Safari Web 浏览器。值得一提的是,在应用 Silverlight 技术时,无需对现有的网站设计进行移植,甚至包括直接利用 Adobe Flash 设计的内容。在谈到 SilverLight 和 Flahs 的区别时,微软的一位高层人士透露说:

WPF/E(Silverlight 的以前称呼)程序并不是传递给 Flash 播放器的一个编译好的二进制文件,相反,所有的代码都是基于标准的,且图像都使用了 XAML。同时,与 Flash 的内容不方便搜索引擎收录不同,SilverLight 是以 DOM 型式公开它的元素树,内容能很好被搜索引擎收录。

关于 SilverLight 的产品介绍可以参见 Sohu IT 的一篇报道。在台湾地区著名的微软技术专家王森的博客里,他提到了“ WPF 和 SilverLight 的区别”:

XAML 对 WPF 来说是一种把.NET 语言改用 XML 来描述的方式,也就是说,XAML 用在 WPF 上,像是另外一种编程语言,和 C#、VB、IronPython 类似。所以 XAML 能做的,C#和 VB 也能做,但是反过来 C#、VB 能做的,XAML 不一定能做到,因为 XAML 是为了配合开发工具,特别设计出来的一种语言,本身有它的局限性,需要配合正规的语言才能完成一个真正有用的程序。而 XAML 对 SilverLight 来说,本质则比较接近 SVG,XAML 用来描述构成画面的结构树,然后配合 JavaScript 去操作这棵表示 UI 的树,以达到互动的效果,所以对 SilverLight 来说,XAML 像是用来扩充 HTML/CSS 原本不足的一组 Tag。就像在 Firefox 中,一样可以用 JavaScript 去操作 SVG 所描述的画面,以达到多媒体的效果。

技术作家奚江华(《圣殿祭司的 ASP.NET 2.0 开发详解——使用 C#》一书的作者)在他的博客中列举了 Silverlight 的几个典型特性:

  1. 轻量级的浏览器 plug-in:Silverlight 的安装组件(Runtime Component)只有 1.1MB 大小,轻薄短小的特性,特别适合应用在 Internet 的安装部署。
  2. 原生的展现层 Runtime:Silverlight 本身是 render 为 XAML 基础,能够产生向量的文字、2D 绘图与影音的能力。
  3. 具备影音播放与互动能力:Silverlight 在设计之初,便被赋予一项任务,就是要能够轻易地应付影音档在 Internet 上的播放,例如 WMV、WMA 与 MP3 格式的媒体,只需一行 XAML 程序就可以搞定了。
  4. 程序开发层与现有技术的整合:Silverlight 在设计之初并不打算成为自创一格的孤岛,也就是一切都不以黑箱为目的,所以 Silverlight 本身公布了自身 WPF Object Model(即 WPF DOM),通过 JavaScript 可以存取 Silverlight 对象,并且可以与既有的 HTML、DOM、CSS 及 AJAX 技术进行整合与互动,成为一座来往便利的丰富岛屿(Rich island),让各种技术可以互相搭配运用。

希望深入了解和研究 Silverlight 是怎么一回事的开发人员,可以参考博客堂的微软技术专家开心就好撰写的 SilverLight 开发基础答疑系列

2007-04-18 22:10858

评论

发布
暂无评论
发现更多内容

5分钟介绍AI人工智能,机器学习和深度学习,John 易筋 ARTS 打卡 Week 40

John(易筋)

ARTS 打卡计划 arts

「架构师训练营 4 期」 第九周 - 001&2

凯迪

架构师训练营 4 期

Dubbo SPI 使用源码分析

Yangjing

dubbo spi ProxyFactory 服务暴露 ExtensionFactory

python常用库简介

张鹤羽

28天写作 3月日更

SICP 习题解答 1.10

十元

自动化测试环境搭建

IT蜗壳-Tango

IT蜗壳自动化 21天

阶段性正确

广之巅

阶段性正确

两会热议区块链,未来将呈现四大趋势

CECBC

区块链

数据分析师

Nydia

LinqToExcel.Extend 源码分析

happlyfox

28天写作 3月日更

Python 环境搭建

依旧廖凯

Python 28天写作 3月日更

程序员是如何解决问题的

ES_her0

28天写作 3月日更

android面试!Android事件体系全面总结+实践分析,大牛最佳总结

欢喜学安卓

android 程序员 面试 移动开发

【自动化】Day01

IT蜗壳

力扣(LeetCode)刷题,简单题+中等题(第20期)

不脱发的程序猿

LeetCode 力扣 28天写作 算法面经 3月日更

世界上最好的排序算法是什么?

Nick

数据结构 算法 快速排序

IDEA 常用插件与配置

TroyLiu

Java vim ide idea插件 IntelliJ IDEA

Docker 教程(一):Docker 是什么

看山

Docker DevOps

学习曾国藩:职场咸鱼的翻身之法

boshi

七日更 职业生涯

IntellIJ IDEA 命令行运行一个 HelloWorld Python 程序

HoneyMoose

云边协同

lenka

云计算 产品经理 3月日更

Python 语言基础之 变量和常量

HoneyMoose

程序员成长第二十二篇:做任务分配时,要考虑员工的成长。

石云升

项目管理 程序员 28天写作 职场经验 3月日更

容器 & 服务:K8s 与 Docker 应用集群 (三)

程序员架构进阶

Docker 容器 kubernet 28天写作 3月日更

架构师训练营 4 期 第10周

引花眠

架构师训练营 4 期

Android入门你值得拥有!手持4个大厂offer的我,附面试题答案

欢喜学安卓

android 程序员 面试 移动开发

Wireshark数据包分析学习笔记Day4

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

GitHub开源的超逼真俄罗斯方块游戏

不脱发的程序猿

GitHub 开源 28天写作 俄罗斯方块游戏 3月日更

LeetCode题解:279. 完全平方数,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

恋物志(三):“美丽到牙齿”的智能硬件圈地运动

脑极体

与前端训练营的日子 -- Week18

SamGo

学习

专家评微软“Flash”杀手——Silverlight_.NET_霍太稳@极客邦科技_InfoQ精选文章