写点什么

Silverlight 会成为 CLR 之上通用的 GUI 框架吗?

  • 2009-11-30
  • 本文字数:1009 字

    阅读完需:约 3 分钟

之前,要在 CLR 上开发 GUI,开发人员不得不在如下几个重要技术框架之中做出选择:Windows Forms、ASP.NET、WPF、GTK#和 Silverlight 早期版本。这些技术不仅具有兼容性、跨平台的问题,而且更为重要的是它们之前存在或多或少的差异。开发人员不仅要学习多种技术,开发出来的 GUI 也很难在 Windows、Linux、Mac OS X 和浏览器上复用或通用。但是,以上问题随着 Silverlight 4 的到来有望改观。

Silverlight 最初以一个浏览器插件的形式来到人间,以期用于开发更为丰富的 Web 应用。然而,微软对 Silverlight 的功能不断进行强化,在 Silverlight 3 中提供了脱离浏览器运行的能力后,又在 Silverlight 4 中增加了提升权限的能力。通过提升权限,脱离浏览器的Silverlight 应用程序就可以访问用户文件。除此之外,Silverlight 4 还获得了无限制的Socket 功能,内置的提醒API,甚至和COM 进行互操作。

Silverlight 一旦从浏览器迈进桌面的世界,它也就有可能成为一个具有跨平台能力的通用 GUI 框架。前几天,Miguel de Icaza 在其博文《 Silverlight: Universal GUI toolkit 》中也表达了同样的观点:

未来的 Silverlight 版本将不再是一种 Web 独享的技术。用 Silverlight 来构建完整的桌面应用程序现在将成为可能。

同时,Miguel 认为 Silverlight 4 将给大家带来了极大的惊喜,已经可以完全和 AIR 进行竞争了。他甚至还打算用 Silverlight 来开发一个 BitTorrent 客户端呢。

无独有偶,在 Silverlight 3 发布后不久,InfoQ 编辑朱永光在其博客文章《使用 Silverlight 3 作为桌面应用程序开发平台》中也提出了类似构想:

Silverlight 3 作为微软最新的 RIA 平台,为我们带来了很多新特性。RIA 顾名思义,即要有 Internet,又要有 Applicaiton。不过我们是否可以只要 Applicaiton,也就是说把 Silverlight 3 作为开发桌面应用程序的一个平台呢?
为什么这样做呢?统一开发人员的技能,Web 与桌面应用可轻易相互移植,方便开发跨平台应用程序。

除了第三方持这样的观点外,微软在发布 Silverlight 4 的同时也展示了一款用 Silverlight 开发的桌面应用程序—— Fishbowl ,以此向大家传递 Silverlight 可作为通用 GUI 框架的理念。

我们相信,未来会涌现出很多精彩纷呈的基于 Silverlight 的桌面应用程序,比如用 Silverlight 开发一款炫目的媒体播放器来播放本地音乐和在线音乐。

InfoQ 的读者朋友们,你的看法如何呢?会选择 Silverlight 4 作为唯一的界面开发技术吗?请留下你的投票。

2009-11-30 00:252083
用户头像

发布了 254 篇内容, 共 57.8 次阅读, 收获喜欢 2 次。

关注

评论

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

PromiseKit 源码阅读

fuyoufang

四十个鹏城春夏,一场数字繁花

脑极体

List 如何一边遍历一边删除

Bruce Duan

List删除元素

眼见为实,华为鲲鹏架构服务器生态大揭秘

华为云开发者联盟

华为 鲲鹏920 服务器 云服务 华为云

SpreadJS 纯前端表格控件应用案例:雷鸟365在线文档系统

葡萄城技术团队

大前端 SpreadJS 在线文档

架构师Week7作业1

Nan Jiang

读《我们为什么要去火星》随笔

Jackchang234987

产品 人生 读书 随笔杂谈

Redis系列(六):你说要看Redis线程模型?安排

z小赵

redis 高并发

压测工具试验

独孤魂

架构师Week7作业2

Nan Jiang

余生很贵,请别浪费

程一初

Python

POI内存溢出故障排查

Season

JVM POI jvm调优

干货分享丨玩转物联网IoTDA服务系列五-智能家居煤气检测联动

华为云开发者联盟

人工智能 物联网 IoT 智能设备 华为云

阿里取消周报,打击低效加班!HR透露6大原因!

程序员生活志

阿里 周报

多云架构下,JAVA微服务技术选型实例解析

华为云开发者联盟

Java 开源 微服务 云服务

如何优雅的实现一个过滤器

废材姑娘

spring

我的 20 条工作原则

霍太稳@极客邦科技

成长 知识管理 职场成长

Docker网络学习第四篇-Namespace通信实战

Lazy

Docker Linux 网络

信创舆情一线--两部门发文加强对数字货币等新型权益的保护

统小信uos

SpringBoot教程:MyBatis多数据源配置

Bruce Duan

mybatis SpringBoot 2 多数据源配置

程序设计的一种思路:DDD

再见小飞侠

方法论 DDD 软件设计

云上自动化 vs 云上编排

华为云开发者联盟

云计算 云原生 云服务 云主机 华为云

Python Kafka 报错:ImportError: cannot import name 'KafkaConsumer'

BigYoung

Python kafka importerror 报错

揭秘 vivo 如何打造千万级 DAU 活动中台 - 启航篇

vivo互联网技术

vue.js 中台 Vue 业务中台

GitHub宣布已将所有代码永久封存于北极地底1000年!网友炸锅了:我写的bug终于能流传永世了!

程序员生活志

GitHub 程序员

1. 初识Jackson -- 世界上最好的JSON库

YourBatman

json Jackson Fastjson

性能优化概述

superman

【架构训练 Week07 作业】

Rex

22种超全用户触点采集,易观方舟SDK又更新了

易观大数据

BIGO技术:全球时钟同步服务建设

InfoQ_3597a20b53cc

互联网

B站新一代golang规则引擎的设计与实现

calo

B站 高并发 AST 规则引擎 Go 语言

Silverlight会成为CLR之上通用的GUI框架吗?_.NET_朱永光_InfoQ精选文章