Silverlight 3 Beta出来了

早上一开Google Reader,发现已经全部被Silverlight 3的消息占领了,基本上都来自于Silverlight官方网站上的消息。

Silverlight 3的新特性很多,其中几个比较强大的特点:

  • Silverlight终于可以脱离浏览器独立运行了
  • 终于支持GPU硬件加速了
  • 可读写的位图(Bitmap)API,意味着你可以一个像素一个像素地创建位图了,如果你足够有耐心和能力,你可以做一个真正的在线图像处理应用了,就像Photoshop一样
  • 支持自定义音视频编解码,意味着在Silverlight中播放视频不再在乎格式,你甚至可以自定义自己的流媒体格式。当然这就可以解决flash中FLV文件的互相盗链问题了,你可以对FLV加密,然后在播放器中对FLV流进行解密。别人就算拿到你的FLV文件也没关系了,因为他根本播不了。这算是除DRM(Digital Right Management)之外,一种低成本的版权保护吧。

Silverlight VS Flash,谁更强?

Silverlight和Flash,到底谁更强?谁更有优势?很多初接触Silverlight和Flash的人总是会问这个问题,因为它们在表面看来确实很像,在更深层的应用来看,依然可以异曲同工。当然了,现在在3D特效、P2P流媒体方面,最新的Flash Player 10仍然以很大的优势处于领先地位。

如果你很犹豫,你不知道选择什么好,或者你对其中的Flash或者Silverlight有所顾忌,你可以看一看这个强人的blog:分别用flash和Silverlight写了很多一样的效果,你可以进行对比。这个上面写的很多效果都很酷,另外附有源文件下载,也是很不错的学习材料,值得一看。

当然了,上面的投票并不一定可靠,请依靠自己的大脑,相信你自己的眼睛!我之所以这么说,因为这个blog的文章会同时发表在Silverlight的官方网站上,所以请相信你自己的判断!

不管怎样,不可否认的是,Silverlight是Microsoft的一个重要战略产品,在目前看来,它的发展速度很迅猛,在许多基本的、常见的应用中已经不逊色于Adobe的Flash,未来会是怎样的一个形式还很难说。…

Silverlight 2.0 RTW发布,等写完MooTools文档开始玩

上个星期Microsoft放出消息说北京时间昨天凌晨2点发布Silverlight 2.0 RTW,经典论坛Silverlight版版主nasawz很“敬业”地、很忠实地作为Silverlight的粉丝守在电脑前守到两点多,一直等到Silverlight 2.0正式发布,实在是令人佩服。有关Silverlight 2的各种工具的下载集合及更新说明,请参考这篇文章:Silverlight 2 正式版官方正式发布(更新下载地址)(感谢nasa的辛苦工作!)

最近开始抽空翻译MooTools的帮助文档,争取这个周末翻译完成,中文帮助文档发布地址在这里。准备翻译完成之后看看Silverlight,2.0了,终于可以再试试了。

另外,貌似Silverlight 2.0在可以在非安全连接中调用安全连接(SSL)服务了。这个以后再说,嗯~

还有,都说Silverlight 2.0支持Chrome,为什么不说是Chrom支持Silverlight…

虚惊一场后,Silverlight 2 RC0这次是真的发布了

虚惊一场之后,Silverlight 2 RC0终于还是发布了。基本上没有什么大的改变,也没有什么太多新特性。新增了三个组件:

一些新的Control Skin,具体可以看这里:
Silverlight 2 Release Candidate Now Available

这里有一些Breaking changes说明,你也可以下载这个文档

相关工具下载页面

Microsoft Silverlight Tools for Visual Studio 2008 SP1
Microsoft Expression Blend 2 Service Pack 1 Preview
Windows: Silverlight 2 RC0 Developer Runtime
Mac: Silverlight 2 RC0 Developer Runtime

Silverlight 2 RC0 Released?

奇怪的是这次放出的版本居然叫RC0,不是应该到RC就结束了么?我估计也许是Adobe刚发布了Flash CS 4,把Microsoft逼急了,所以毫无征兆地发了个版本出来。

后来的事情更是证明了这个版本是急不可耐地发出来的,因为几分钟以后,官方网站上把发布RC0版本的新闻给删掉了,于是一切就像恢复到了Silverlight 2 RC0还没发布时的样子。然而开发者们总是激动的,下载链接地址早就已经遍布在网络上了:

Version 2 of the Silverlight developer runtime along with the Silverlight Tools is now available. This release candidate will give developers the chance to convert their sites from Beta 2 –Release before the final release of the runtime…

Flash或者Silverlight来实现P2P靠谱不?

好久没写blog了,被奥运折腾得不行,天天盼着奥运结束,终于快结束了,来blog除除草,简单地说说Flash、Silverlight和P2P吧。

Flash Player 10出来很久了,号称支持P2P,而且支持UDP,想那个时候当我听到UDP的时候,我是多么的兴奋啊!后来翻翻相关文档一看,却是有些失望。Flash Player 10确实支持一些P2P特性,但是局限性太多太多了,仅仅只是支持“End User”到“End User”的通讯,不支持大文件(分片)传输,不支持多播(多点传送,Multicast),这样在P2P应用方面就非常有限了。

唯一的希望就是Flash Player的UDP协议支持情况了,如果比较开发,使用起来能够比较自由的话,还可以在这个上面打点主意。要是仅仅只是在RTMFP协议中使用的话,这个UDP也就没有什么好玩的了。

Silverlight从出来的时候就号称很强大,到现在的2.0…

共享一些数据:Silverlight的安装率

在某娱乐社区网站上扔了个简单的统计代码,统计了一下Silverlight的安装情况,实际上,应该有很多网站或者公司都做了这样的统计,比如腾讯,在弹出的迷你首页上就有一个很不起眼的Silverlight的应用,另外,在安装QQ时会顺带安装Silverlight,我估计也应该有统计相关数据g。

这个是以记录Cookie的方式来统计的,基本上一台机器只算一票,总共统计了大约40多万台机器的安装情况。不排除少量用户清理Cookie的状况,不过统计时间不长,清理Cookie的少量用户不会对结果造成影响。统计结果如下:


注:表上有错,第四行不是1.0Beta,是1.0正式版。

我记得官方曾在四月份的时候就说在中国的安装率已经达到30%,又三个月过去了,安装率才上升了四个百分点,进展速度未免有点慢。也许是因为该站用户都比较低端,可能有85%甚至90%以上的用户没有听说过Silverlight,无意中被某些软件顺带安装上了Silverlight。…

Silverlight 2 Beta 2: Available very soon

好久没有关注Silverlight了,以前做的一个Silverlight 1.1的项目之后,一直搁置在电脑里,没有动,我老大跟我说有空还是弄出来看看吧!我也想弄出来看看,不过一直在等Silverlight 2出来。终于快了,Beta 2要出来了

其实Beta我也没有怎么用,只是稍微地看了一下,依然觉得还不够好,继续在等,Beta 2了,又有些新东西:

* UI Framework — we’ve made lots of improvements to the animation support, error handling, accessibility, keyboard input and general overall performance. This is intended to bring us more in line with WPF and improve overall compatibility between the two.

在Silverlight 2中使用嵌入字体

在Silverlight 1.1中,使用中文字体时需要使用Downloader从服务器上下载字体(具体请参考这篇文章:在Silverlight中使用中文)。在Silverlight 2中,据说是可以读取系统字体了,都以为可以不用再这么复杂地从服务器上下载字体了。结果有人发现放出来的2.0的Beta版本中无论设置什么字体都只能显示微软雅黑字体(针对中文)。

不过在Silverlight 2中提供了一种更简单的设置字体的方式,不用写长长的Downloader代码了,你只需要这样:

这个是宋体

在编译的时候会自动把相关字体打包成XAP文件放在ClientBin目录下,看起来是不是非常的简单?

通过使用这样的方式:

#

Silverlight会自动创建一个Downloader去下载相应的文件,并设置字体。和Silverlight 1.1中一样,在这里我们也可以使用zip格式的文件,例如:

这个是宋体

Silverlight中Downloader的缺陷?

在异步加载图片的时候发现的问题,因为要加载很多不同的图片,每次加载一个都要new一个Downloader,结果发现句柄数一直不停地往上冒。后来写了个简单的测试程序,发现每次new一个Downloader,就会增加三个句柄左右,但并不回收。后来改变个方式,重复使用同一个Downloader,发现句柄数在增加一次后就一直不变了。看来和以前说的Silverlight内存回收属于一样的问题,现在就只能使用方法绕过去了,尽量重复使用Downloader,不要new新的Downloader。

比如使用一个Downloader池,一个简单的Downloader Pool应该有两个List和两个方法,两个List分别用来管理工作中的Downloader和空闲的Downloader,一个方法用来提供空闲的Downloader,另外一个方法用来回收已经用完的Downloader。注意,若使用下面的这种代码,需要在回收Downloader时同时去掉Downloader上所附加的托管事件(使用“-=”操作符),你也可以把Downloader的事件封装在这个Downloader…