http://www.terrainformatica.com/
提供了免费的HTML嵌入引擎,包括对HTML、CSS和脚本的支持。
它有许多有趣的地方。
一个是号称为嵌入式场景做过特别优化,性能超过以嵌入式闻名的Opera。
除了应用前景外,我特别感兴趣的是它对现有Web技术的一些扩展和思索。
因为是从引擎开发者的角度探索,而且他不像Webkit、Gecko那样,没有
负担,所以可以更大胆的引入许多尝试。
比如HTML语法,可以这样:
<body>
<div .header />
<div #sidebar >
<div .panel #recent-projects><caption>Recent projects</caption>
<ul><include src="content/list-of-projects.htm" /></ul>
<table>
<tr><td>Open:</td><td href="#">Project...</td></tr>
<tr><td>Create:</td><td href="#">Project...</td></tr>
</table>
</div>
<div .panel #getting-started><caption>Getting started</caption>
<ul><include src="content/getting-started.htm" /></ul>
</div>
<div .panel #headlines><caption>Headlines</caption>
<dl><include src="content/headlines.htm" /></dl>
</div>
</div>
<div .panel #msdn-news>
<caption>MSDN: Recent news</caption>
<dl><include src="content/msdn-recent-news.htm" /></dl>
<p style="text-align:right;"><a href="#">More news...</a></p>
</div>
</body>
其中 <div .panel #recent-projects> 这样的我们显然可以猜到是什么。
又如它对JavaScript的扩展:
tab = Element.create { tag: "option", text: label, value: filename };
其实就是去掉了函数调用的括号来简化有名参数的语法。
再如:
// for element with id="foo"
function self#foo.onClick() { ... }
// for element with id="foo-bar"
function self#foo-bar.onClick() { ... }
其中self其实就是window.self,整个就相当于:
window.self.document.getElementById('foo-bar').onclick = function () { ... }
此外,它还在CSS框架下纳入许多特性。
总之,它包含许多有趣而值得借鉴的想法有待考察。