JS 精灵语世界
我偶然在一个站点上发现了幻宇的《星际争霸》程序,令人惊讶的是完全是采用 JavaScript
写成的。
因为我曾经也是狂热的 JsCoder ,写过 UI
库,虽然也能支持构建星际争霸这样的程序,但是由于设计的落后,会带来大量的工作量。因而这个程序马上引起了我的注意。特别是他的后台技术。
很快我发现他的后台采用了一种二级编码,采用页面 JavaScript 来解析。
通常许多人会有一个误解,以为 JavaScript
的速度非常缓慢不适合来做游戏,更遑论解析器。其实更据我的经验,JavaScript 的速度通常都是能够胜任的,其力不从心的时候非常少。
JavaScript 的性能瓶颈我只遇到过一次,那就是使用 JavaScript 来绘制曲线。这也是后来我考虑将
SVG 支持加入 JavaScript UI 库的开发的直接原因。
另外一个关于 JavaScript 能够胜任游戏开发的理由是现在相当的游戏是使用游戏引擎的脚本接口开发的,在这里使用
Python 或者 JavaScript 来开发,在速度上其实已经相差无几了。
现在,华丽的 Js 游戏有了,二级解析器也有了。这个库的名称叫做 Js- Elf。带有相当的魔戒的意味。
随后我去了他的主站,JS 精灵语世界,http://elf.ivi.cn。站点仿用了 MSN QQ
这样的界面(如果使用无遍匡页面似乎就更炫了)。还有一个聊天室,在那里你可以找到幻宇。
但是目前 Js-Elf
库的文档实在不多,对于这点我已经向幻宇抱怨过多次,他说准备在春节度假期间做一些改观。
目前幻宇正在寻找 Js 爱好者组成开发小组来制作基于 Js-Elf 的游戏,事实上我也参加了。
我的一大愿望是将优秀的 JavaScript UI 库与 Zope 相结合,利用 Js 来形成一个 UI
组件体系,来构成显示层。显示层最终可能是使用 XML
来调用的。虽然我不知道这项技术未来会发展成什么样子,但是如果它能够持续地开放发展,我想没有什么是不可以实现的。
如果 JavaScript 能大量使用在 Zope/Plone 中,实在是太美好了 :)
在三四年前,我痴迷于 JavaScript 的时候,特别想用 JavaScript 来改造服务器端的行为。这个思路依赖于一个漂亮的数据表现组件库。我们知道现在的 JavaScript 可以下载任何格式的网络文件和流(比如 CSV ,而服务器更可以把数据和现实程序组装到一个文件中),我们可以把数据定义在任何一种文件或流中,然后给客户端一个显示程序(一堆组件),这应该就是潘老大所说现在大家在考虑的方向吧(我对 Plone 社团的动向可以说是一无所知) :) 我以前尝试过一个叫做 MF5 的组件库(以后可能会在 Blog 上了了这个古董吧),包括按钮、各种菜单、子窗体以及对各种组件的动画(主要是移动)支持、鼠标事件支持(我并不觉得 Js 只是雕虫小技而已)。并支持一种纯粹使用 Js 来将各个显示组件以类似于
Plone和javascript的集成
具体时日还不清楚。这个改变会很大,Plone现在增加一个新的功能都很谨慎,避免以后频繁更改导致接口变化过大。所以最终版本出来,那可能要等很长时间。你可以订阅plone-dev的邮件列表看看。Plone 2.1已经开始一些类似的动作,其中一个特性是live-search, 也就是上面的快速查询结果不会刷新页面,而是下拉出一个页面出来,估计会比较有趣的(看过一个screenshot)。
做自己的Bindows?
Bindows 实际上已经提供了基于xml的js UI界面,很有参考价值 kirc(a)yeah.net
精灵语出新版了,改名叫evml,官方站点是:http://www.script8.com
大家可以去看看,新的思想,新的实现方法
javascript的确是一个方向
你提供的http://elf.ivi.cn/的确不错,界面在firefox和ie上都运行流畅,速度也很快。
大量使用javascript的确是一个趋势。gmail就是这样。现在plone社区也在讨论采用这个方法重写新的界面。这样势必可避免大量的刷新,可极大的提升性能。