NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

专家评微软“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:10616

评论

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

华为云数据灾备方案,做好企业数据的坚硬后盾

YG科技

OceanBase 4.1解读:我们想给用户一个开箱即用的OceanBase部署运维工具

OceanBase 数据库

数据库 oceanbase

火山引擎边缘云,助力业务敏捷创新

火山引擎边缘云

CDN 边缘计算 火山引擎 边缘云

程序踩内存后,应该怎么排查

linux大本营

进程 内存管理 内存泄漏 C++

挑战 30 天学完 Python:Day10 循环语句

MegaQi

Python3 挑战30天学完Python 三周年连更

生活中的不确定性,如何应对?

Jack

华为云 OpenTiny 跨端、跨框架企业级开源组件库项目落地实践直播即将开启!

Kagol

开源 前端 Vue 3 UI组件库

组件必知必会|那些年我们使用过的轮子—Filter和Proxy

浅羽技术

javaWeb Proxy 过滤器 组件 三周年连更

xnginx在安全网关的应用场景

linux大本营

openresty 网关 web服务器

2023-04-20:有一堆石头,用整数数组 stones 表示 其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意两块石头,然后将它们一起粉碎 假设石头的重量分别为 x 和

福大大架构师每日一题

golang 算法 rust 福大大

Django笔记十二之defer、only指定返回字段

Hunter熊

Python django defer only

c语言实现timer的10个技术点

linux大本营

进程 定时器, Timer 文件描述符

lwip_recv_tcp阻塞读取数据代码

linux大本营

TCP 阻塞队列

OpenResty接口的详细讲解

linux大本营

负载均衡 反向代理 openresty 网关 HTTP服务

薪资结构重铸: Zebec将业务范围扩大到Web2薪资管理领域

EOSdreamer111

AI视觉实战1:实时人脸检测

轻口味

android AI 三周年连更

Android动画之帧动画

智趣匠

android App 三周年连更

借由Net5.5G,看到运营商的新沧海

脑极体

5.5G

华为云数据灾备解决方案,助力企业守好安全防线

YG科技

C++如何拿到线程池的返回值

linux大本营

线程池 C++

薪资结构重铸: Zebec将业务范围扩大到Web2薪资管理领域

股市老人

一文读懂物联网 MQTT 协议之实战篇

老周聊架构

三周年连更

怎么用systemd进行进程守护

linux大本营

Linux 进程 守护进程

io_uring的10个技术点

linux大本营

高并发 异步 零拷贝 io_uring

大型商业银行的超级App是如何“组装”而成?

Onegun

超级app 超级应用

AI能训练出符合“核心价值观”的人工智能吗?

FN0

人工智能 ChatGPT Claude

算法题每日一练:组合总和 II

知心宝贝

数据结构 算法 前端 后端 三周年连更

Go HTTP 调用

陈明勇

Go golang HTTP 三周年连更

一键生成通用的web服务(gin)完整项目代码,开发效率至少提升2倍

vison

golang Web gin框架 代码自动生成

OpenCV图像模糊操作(1) | 社区征文

A小调协奏曲

OpenCV C++ 三周年连更

小程序自定义组件开发

程序员海军

小程序 三周年连更

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