日期:2014-05-17  浏览次数:20593 次

一个嵌入式HTML引擎
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框架下纳入许多特性。

总之,它包含许多有趣而值得借鉴的想法有待考察。
1 楼 hax 2008-05-11  
Symantic的产品好像用了这个引擎。
2 楼 lizhaosuper 2008-07-04  
这个引擎的源码在什么地方可以下阿
3 楼 hax 2008-07-30  
它不开源的。