Flash 还是 Silverlight?

2007.05.0512:15

新技术总是会引发热潮和争论,特别是一项针对现有技术的竞争品的出现。微软推出了 Silverlight,针对的自然是 Flash,两者的比拼从 WPF/E 出现一开始就没有停止过。这有一篇来自 gskinner 的分析,A Flash of Silverlight? My Analysis,从技术潜力,runtime,开发工具和未来趋势四个方面比较了这两种技术,不过作为 Flash 界大牛,自然是偏向 Flash 喽 :)

摘一段结论:

Conclusion

In summary, while I don’t entirely trust Microsoft’s intentions, I do think that Silverlight has potential, particularly in the short term while MS is still in “buying love” mode. Microsoft’s developer toolset is likely to be more robust, and have a much better integration story than anything Adobe can offer in the near future, but being Windows-only makes the tools inaccessible to many developers and a large portion of designers. I think the Silverlight plug-in will be an adequate runtime, but it will never pack the same punch per byte that the Flash player does, and it will never enjoy as large of an installed base.

一些其他的比较文章:

External API 在 IE 中有保留字

2007.04.1222:48

今天被这个郁闷了,原来 IE 中是有保留字的……

极其简单的一个 Flash 嵌入,Firefox 就一切正常,IE 死活报脚本错误,而且给出莫名其妙的行号和错误说明,对调试没有半点用处。

最后发现是 Flash 中的 ExternalInterfaceaddCallback 的时候用了一些保留字,我用的是 playstop,不知道还有没有别的,真是郁闷,要是都报错还好查一点,结果单单 IE 报错,ft。

猜想可能是和 IE 的 Flash ActiveX 对象自身提供的方法有命名冲突吧,记一笔,以后注意。

SWFObject 1.5

2007.03.0111:43

SWFObject 更新到 1.5,这可能也是最后一个版本了,因为这项目已经和 UFO 合并,新名字叫做 SWFFix。两个项目的作者有志将这个合作产物打造成 Flash 嵌入的事实标准,恩不错,统一了好啊统一了好,目前还在 alpha。

SWFObject 这个版本的具体更新内容看他们的 blog post

最近似乎对 Flash 的问题讨论的蛮多的,ALA 上也有两篇文章说到 Flash:
Semantic Flash: Slippery When Wet
Flash Embedding Cage Match

更新:AW 提供了 SWFObject 的中文版翻译,赞的。

Flash Switcher extension for Firefox

2006.10.3114:47

一个可以在 Firefox 中切换 Flashplayer 版本的扩展,来自sephirothSE|PY的作者。

安装后在 Firefox 状态栏有一个图标,可以切换包括从版本 2 到最新的版本 9 的 Flashplayer,方便开发者调试。另外还可以自行添加新版本的播放器。

这里下载,帖子里面有详细的使用方法

PS: on having layout 有小更新。

AS3写的zip文件解压类

2006.09.1520:20

叫做 Fzip,强大啊。看看他们的 demo(需要 flashplayer9 支持),从一个包含 1000 个 png 图标的 zip 包中读取图片,而且一边读一边逐个显示。这个 zip 包来自那套知名的免费图标 famfamfam

源码下载API

一个基于 flashplayer9 的VR全景图演示系统

2006.08.0211:22

panoramas

这种全景演示一向都是 quicktime 的天下,现在 flashplayer ——浏览器中普及率最高的 player —— 上也有了,前途不可限量哇。

大牛 andré michelle 的作品,目前使用是 free 的,不过要大家捐钱支持才能继续开发新功能,:D。这里查看:http://cubicvr.popforge.de/

这引擎说时迟那时快已经卖掉了。。。不知道哪位兄弟有下载当时的源码,偶没下。。。可惜啊可惜。。。这个活生生的事件教导我们,以后有好东西一定要赶紧抢啊~
现在这个东西作为展示放到了作者的 lab 页面里面,在 3D 栏目下,点击这里可以看到。
再更新,现在这引擎又开源了:D~~ 这里访问

KeyFeatures:

  • Application properties
    • change cube from javascript
    • customizable splashscreen
    • customizable keymap (turn, zoom)
    • constrain horizontal (if no sky, floor is defined)
    • low render-resolution while moving (for slower computer)
    • switchable motion blur
    • field of view (camera eyeangle)
  • Cube properties
    • define more than one cube in the config.xml
    • texture settings: size, blur
    • url for each cube side (supports gif, png, jpg, swf)
  • HotSpot properties
    • simply defined by a x, y coordinates on a texture
    • allowing 2 different actions
      • open URL
      • navigate to another cube definition

FRC 0.2

2006.07.3014:37

FRC 0.2 :D

使用 CSS 加载图片、设置 scale9 grid 以及 blending mode。支持多 block 。

目前只能应用于普通的 block,复杂的比如 float, positioned 还不支持,嵌套 block 也有问题。Anyway, just for fun.

SWFObject 更新

2006.07.3005:34

SWFObject 更新至 1.4.3,修复了一个 bug,IE5 和 IE6 在用 SWFObject 嵌入多个 Flash 时,如果有某个 Flash 使用 ExternalAPI 添加了 callback 和 页面的 JavsScript 交互,那么会出一个 “Out of Memory” 的 bug,而且这个 bug 只出现在 flashplayer9 中。具体说明见这个 post

前两天写 FRC 的时候恰好遇到这个问题,本来页面里面是有多个 block 的,后来发现在 IE 里面多个 Flash 的时候有这么个严重的 bug,不知道怎么解决,就只放了一个。居然这么快就找到修复方法了,这下我的 FRC 可以小更新一把,嘿嘿。

FRC: Flash-based Rounded Corner

2006.07.2812:18

Rounded Corner,圆角边框,是一个让 web designer 头疼的老问题了,很多人在研究它的实现,为了圆角效果好、html 代码整洁,大家真是想破了头。说起来 CSS3 开始引入的多背景支持用来做圆角边框最合适了,可惜几乎没有浏览器支持,所以只好歪门邪道折腾自己了。我最近也折腾了一下做了一个基于 Flash 的,原理很粗糙,就是用 JavaScript 修改 DOM 节点,插入额外标签,嵌入 Flash。为啥用 Flash?因为 Flash 支持透明,支持混合模式,可以动态加载图象,有 BitmapData 可以对位图做各种处理……反正好处很多,具体可以看看下面我做的 demo。其实用 Flash 还有一个原因就是用图片或者用 js 都被人研究透了,实在没啥好研究的了…… :D

Demo 在这里,目前只能拿来看看,离实际使用还有距离,等我慢慢改哈。bug 是很多的,没准会把你浏览器搞挂,当心当心。

发现 bug 或者有什么意见请留言。

random things

2006.07.2306:43
  • CSS Browser Selector,通过一个 JS 判断用户的浏览器类型,来给<html>元素添加 class。之后就可以在 CSS 中利用形如 .gecko .mydiv{} 的方法来给 gecko 写专门样式了。

    不过它判断的是浏览器发送的头信息,要知道这个信息是可以伪装的……

  • Javascript Sound Kit,又一个利用 Javascript 和 Flash 结合的应用,给网页中添加音效。

  • 前段时间的项目发现,关于使用 11px 的 Mingliu 字体,各浏览器都有些不同。
    IE:如果未指定语言(lang 属性),使用utf-8 就可以使用 Mingliu 字体,如果 html 中指定了语言为 zh-cn,那么使用 utf-8 也不行,只有另行再赋值 zh-tw(或 zh-hk) 到特定元素的 lang 属性才行,而对于 IE5,我测试的是要把字体加一号,font-size 设置为 12px 才行,奇怪;
    Opera:必须要指定语言,编码设成 utf-8 没什么用,不过 big5 倒是可以,但我们做网页不是 gb2312 就是 utf-8 了,一般也不会用 big5;
    Firefox:无需额外设置就可以直接使用。

    结论:看来还是 Firefox 轻松一点,不过对其他各家浏览器的处理不是很明白,用什么字体和选什么语言也有这么大的关系么?