`
achun
  • 浏览: 315293 次
  • 性别: Icon_minigender_1
  • 来自: 河南郑州
社区版块
存档分类
最新评论

js模板编译器jCT,推荐/问题贴

    博客分类:
  • jCT
阅读更多

jCT的更多信息请看我博客里的jCT专题 或者jCT开源主页示例 里面有最简单的例子

=====================================================

简介:

jCT是

JavaScript Common Templates ==JavaScript 模板编译器

先澄清几个问题

  1. 一般说模板都用Template,jCT用的是复数形式的Templates,是什么原因
    因为jCT支持自定义的文法标识,并且自动识别.
  2. 模板就模板,怎么叫编译器呢
    因为jCT的设计理念很独特,jCT认为
    模板就是把 页面代码 javascript对象化代码化函数化 ,通过带入表现数据函数化对象 得到最终期望的页面表现 的工具,
    然而在模板工具具体实现的时候,会存在是否可以与javascript兼容结合等问题
    jCT用最简单的方法 ,最简洁容易改造 的代码,完全兼容 javascript语法的前提下完成了工作.
    在jCT的理念里,模板仅仅需要完成页面代码 javascript对象化代码化函数化 ,这一基本功能,
    然后通过完全兼容 javascript语法,来支持纷繁复杂的各种需求.
    从jCT模板的实现形式来看,与后台的php,jsp,asp文法非常相似,已经超出了模板的概念,因此称之为
    JavaScript 模板编译器
  3. 如何使用jCT呢
    使用jCT可以有多种形式,因为jCT没有写如何调用jCT模板的代码,虽然这提供了最大的灵活性,但是也给使用造成了一定的入门门槛,
    因此我写这篇帖子也是和大家交流的目的,帮助对jCT感兴趣的朋友使用jCT

jCT的开发历程:

jCT的开发历程是很曲折的,最开始我也一直在用后台模板技术,自己也写了一个实现,可是我发现后台模板技术有一些天生的缺陷.

  1. 虽然采用的模板技术,数据可以和表现分离了,但事实上提供数据的代码和负责表现的代码仍然有一定的耦合性
  2. 毕竟是后台的模板,不能和前台浏览器的环境很好的结合在一起
  3. 在后台运行的模板对服务器有一定的压力

于是我开始寻找前台的javascript模板,最终选定的是著名的JST,无可非议JST是优秀的.不过使用中我发现

  1. 我对数据的使用方法和JST的文法有冲突,
  2. JST使用了大量的正则表达式,这个在大一点的模板下就很慢了.
  3. 当我想改造JST时发现JST的代码写的如此晦涩,致使我无法下手
我决定自己写一套javascript模板工具.开始的时候也是向JST一样定义各种javascript的语法包装,并为各种特殊的要求写特定的模板语法设施.当jCT完成到第2版的时候,我对这种修修补补的写法产生的疑问.这些什么javascript的语法,特殊的要求,最终也是用javascript写的,而我又包装了一层,这不是很多余嘛!如果能直接兼容javascript语法,那不就不用这些特殊的代码了嘛!于是就有诞生了jCT3.看看下面jCT的模板,和php,jsp,asp如此的相似
<html>
<head>
</head>
<body>
<!---
/*+Exec*/
var D=['aaa','bbb','cccc'];
/*...*/
$(‘body').html(this.GetView());
-->
<ul>
<!---for(var I=0;I<D.length;I++){-->
<li>+-D[I]-+</li>
<!---}-->
</ul>
</body>
</html>
 
查看我的博客,里面有jCT的专题.请感兴趣的朋友不耻下问,
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics