一款优秀的HTML渲染引擎

4
我正在寻找一个具有以下特点的Html渲染引擎:
  1. 在良好的设计工具中提供支持,帮助我处理语法、理解我的对象(警告我类型错误和不存在的类/方法名称)并验证我的Html。

  2. 一种漂亮易读的方式来混合Html标记与常见的编程语法,例如if then。

  3. 支持子模板/函数(在同一文件或另一个文件中),它们本身使用相同的语法。

  4. 能够以常规方式使用变量,如a = 1 ... a = a + b ... if a > c ...

  5. 支持更大型常用的类库/成熟的语言(.Net/Java/RoR/Django/Php等)。

  6. 生成纯净的标记。

我认为这基本上就是这样了... 我想这不应该很难,但我还没有找到完美的引擎。

1
你已经考虑过哪些了? - Emil Vikström
最近并且热情高涨的是:使用带有代码块的Asp.Net Ascx。它几乎完美但有缺陷。特别是当在一个Ascx中使用另一个Ascx时,代码块将不会被评估。 - joeriks
Afaiu Asp.Net Mvc在第3部分上遇到了问题。到目前为止,我找到的最好的调用子模板的解决方案是http://blogs.msdn.com/b/davidebb/archive/2010/01/13/take-your-mvc-user-controls-to-the-next-level.aspx,但这不是一个开箱即用的解决方案,而且还没有完成。 - joeriks
同时,MVC(使用VS 2010)仍然无法处理属性字符串中的代码"<%# MyObject.SomeMisspelldProperty %>",在我看来这真的很糟糕。(没有语法检查,没有智能感知)。 - joeriks
你是指 HTML 编辑器吗? - singpolyma
显示剩余4条评论
2个回答

1
你可能想查看一下 'ASP.NET MVC'。
1. Visual Studio 2010实际上是一个很棒的Web开发工具。我特别满意它对Javascript的支持。在我尝试过的所有编辑器中(包括最流行的免费编辑器),它都是最好的。它支持所有使用的语言的自动完成。它还会警告Html验证错误。它还有一个免费版的Express Edition。
2. 你可以使用选择你想要的服务器端语言,vb.net或C#。这取决于你选择哪个更易读。服务器端代码被封装在<% %>标记之间。在Visual Studio中,这些标记也以自己的颜色显示,以使它们更加突出。对我来说,这似乎是干净的分离?
3. 一个模板系统由用户控件支持,这些用户控件位于具有相同语法的单独文件中。看看它,看看你是否喜欢它。
4. 标准的.NET语言语法相当常见和易读。但这当然是个人选择。
5. 由于你正在使用.NET,你可以访问它的所有库。
6. 你可以使你的标记尽可能地干净,你可以完全控制产生的Html。

也许你不喜欢编程风格,或者你不喜欢微软(我知道我不喜欢 :-)),但他们可能真的有一个赢家,这个框架非常干净。再加上强大的Visual Studio 2010,你就可以开始了。此外,Stackoverflow也是用它写的。

有一些很好的视频介绍这个框架。Scott Hanselmann和Scott Guthrie的视频让我很快上手。


选择你的服务器端语言。VB.NET还是C#?这让我想起了“哦,我们有两种。我们有乡村和西部”。 :-) - Ken
:) 真的,我不喜欢VB,但我认为C#是一种相当不错的静态类型语言。如果你坚持使用正确的功能,LINQ + Entity Framework与ASP.NET MVC结合起来可以非常强大。但这也是一个品味的问题。 - Jan
在引号内使用<%会导致Visual Studio失去智能感知支持,这可能是一个奢侈的问题。但可以通过插件Resharper来解决。我已经决定使用Asp Net Mvc,并期待Razor。我认为C#有点丑陋,但我想我会应对得来。VB.Net感觉有点老旧。由于缺乏MS的支持(与主要语言相比),我不知道是否敢使用任何Iron语言。 - joeriks
不错的选择,我对这些编程语言也有同感。如果我的评论帮助你选择了一个框架,你介意把问题标记为已回答吗? - Jan
MVC 3 + Razor! 智能感知,@helper 或 @functions 函数,漂亮的标记,一切都很好! - joeriks

0

Kompozer

用于所见即所得和基本HTML: kompozer.net

Notepad++ <-- 我更喜欢这个

用于高级纯代码: http://notepad-plus-plus.org

两者都是免费的 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接