阅读更多
项目名称: CommonTemplate
发起时间: 2007年4月
网站:http://www.commontemplate.org
代码托管:http://code.google.com/p/commontemplate/

项目介绍:
CommonTemplate是一个模板引擎,用于编译运行CTL模板语言,并且模板可以在Java,.Net,JS等中通用;
其主要目标是作为JSP,ASP.Net等页面技术的另一种选择方案,以保证用简单的语法,良好的结构,不混杂业务逻辑的方式书写页面;
适合于充当Model-View-Controller(MVC)模式应用的View角色,以使能更好的分离页面设计人员与业务开发人员的职责;
也可以作为动态文本生成工具,生成HTML、XML、Mail、Java源代码或其它文本等。

产品信息:
运行平台: JRE1.4以上版本, 操作系统无关.
开发语言: Java
开源协议: Apache Licence 2.0

项目成员:
梁飞(广州)
桂林(上海)
严荣(大连)

是什么促使你们发起/开始这个项目?
JSP, Velocity, FreeMarker混杂不统一的语法, 不友好的扩展方式, 希望实现一个语法简单统一的, 细节考虑周全的, 易于扩展的模板引擎.

该项目面向哪些使用群体?
页面开发人员, 代码生成模板开发人员, 邮件模板开发人员, 动态配置模板开发人员.

举个例子说明下用户使用您的软件能做什么?
替代JSP, 作为视图输出引擎, 并可以方便生成静态页面.
作为代码生成模板, 通过从数据库导入数据模型, 结合模板生成相应Dao,Service,Action等.
作为邮件模板, 发件动态邮件内容.
任意文本生成

您在该项目中遇到的最大挑战是什么?
坚持腾出业余时间作开发, 有时候与学习计划冲突.
项目的推广.

您在该项目中认为获得成功的要素有哪些?
高质量的软件,
全面细致的文档,
优良庞大的用户社区,
更多的第三方扩展与集成,

您对该项目有哪些期望?
能给使用者带来方便, 有更多的用户.

你们如何来协调项目?
源码控制: SVN
团队联系: Email, MSN

那你们一般花多长时间在这个项目上?
每周10-20小时

你们用的开发环境是什么
OS: Windows
IDE: Eclipse

其他人如何给你们提供建议?
论坛: http://forum.commontemplate.org
15
0
评论 共 25 条 请登录后发表评论
25 楼 javatar 2011-09-13 23:25
CommonTemplate改名为HTTL,参见:
http://code.google.com/p/httl
24 楼 Kevin Shen 2008-10-24 21:49
哈哈,中国人也作开源了,努力吧
23 楼 javaichiban 2008-10-14 20:23
双手支持国产开源项目!!
有心在我的实际项目中使用,不过比较关心下面几个方面的问题:
1. 性能如何阿?有没有和其他引擎的比较?
2. 还有就是有没有成功案例?否则的话如果用了一段时间之后发现有问题再转平台那成本就大了
22 楼 danielli007 2008-10-09 09:14
支持,坚决支持!
21 楼 seemoon 2008-10-07 08:26
不错,支持
20 楼 tedeyang 2008-09-02 20:01
看了下功能特性,感觉非常好.
目前正在为一个项目做技术选型,要是ctl到了1.0版本,一定试用一下
19 楼 yymmiinngg 2008-09-02 16:27
两个字“支持”!
三个字“很支持”!
四个字“非常支持”!
18 楼 shaoyx 2008-09-02 10:07
坚决支持!
17 楼 srdrm 2008-09-02 09:18
支持国人做的. 不管有什么缺点.
16 楼 xmx0632 2008-09-02 08:48
报告个bug:
这句:
"能给使用者带来方便, 有更多的用户.
您对该项目有哪些期望?"
顺序写反了
15 楼 helyho 2008-09-01 23:49
easyjf感觉已经开始有点偏离方向了.
14 楼 SysTem128 2008-09-01 22:15
我觉得像这种已经有成熟作品的东西(比如Velocity,FM等)。
搞之前就应该做一个客户调查,总结一下上述作品的优点和不足。
毕竟个人或单个团队的经验不能敌比大众的吧。也避免了不少‘空想主义’的规划。
最重要的是可以赢得更多人的关注。
13 楼 helyho 2008-09-01 16:31
刚此看了,不错的中国货,那个语法外套我个人来说不感兴趣,我不用dreamweaver写东西,不用可视设计工具,所以.....
不过确实很棒,支持
12 楼 javatar 2008-09-01 16:15
Acaleph 写道
开源的东西,最重要的是持久计划与执行。

非常感谢,我们会加强这一块的工作的整理。
粗略的计划:
0.8.x 主要修改缺陷,完善设计。
0.9.x 开始平行开发.NET版本。
1.0 发布稳定版本, 并全面向前兼容。
1.0 以后主要开发辅助工具, 以及案例的开发。
当然, 我们都是业余时间开发, 时间有限, 所以不太可能列出精准计划, 请谅解.
现在已有一些任务在站点上列出:
[url]http://www.commontemplate.org/zh/planning.html[url]
打下广告:也希望有更多的人参与进来。
11 楼 earls 2008-09-01 16:07
有想法,简单看了一下,有机会试试
10 楼 Acaleph 2008-09-01 15:53
开源的东西,最重要的是持久计划与执行。
9 楼 javatar 2008-09-01 15:49
helyho 写道
有点生不逢时啊.
再有就是我没有觉得"FreeMarker等混杂不统一的语法"
难道你就能统一语法?
不知道是怎么个统一法
还有很不同意"混杂"的说法,大家用了这么久了.不也很好.

你的东西再好也不要通过没有证据而贬低人家这样,
大家用了这么久你的意思我们都有问题吗?
做好做个例子出来比较下.
否则大家都很迷茫

祝好.

呵呵, 谢谢你的建议, CommonTemplate没有贬低其它模板引擎, 也没说其它模板就混杂了, 只是"提供另一种选择方案", 可能在某些情况下更适用(如:需要CommonTemplate提供的一些特殊的数据格式化能力), 如果作为邮件模板, 我更推荐用Velocity, 因为Velocity指令非常简单(不到10个), 邮件中通常也不需要做更多数据格式化, Velocity更适用.
8 楼 QuakeWang 2008-09-01 14:54
helyho 写道

再有就是我没有觉得"FreeMarker等混杂不统一的语法"
难道你就能统一语法?
不知道是怎么个统一法

你可以看一下它的语法外套,common template的设计相当棒,和Velocity/FM相比质量高很多,这个不是在吹捧,你可以阅读Velocity/FM/CommonTemplate的源代码和设计来进行对比。
7 楼 yongchun 2008-09-01 14:45
希望开发团队能给大家带来更大的惊喜
6 楼 helyho 2008-09-01 14:41
有点生不逢时啊.
再有就是我没有觉得"FreeMarker等混杂不统一的语法"
难道你就能统一语法?
不知道是怎么个统一法
还有很不同意"混杂"的说法,大家用了这么久了.不也很好.

你的东西再好也不要通过没有证据而贬低人家这样,
大家用了这么久你的意思我们都有问题吗?
做好做个例子出来比较下.
否则大家都很迷茫

祝好.

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • C# SDK 类库监控和性能分析技术

    为了帮助开发人员识别和解决这些问题,可以使用一种称为 PerfView 的工具,它可以监控和分析在 .NET 环境下运行的 C# SDK 类库。总结起来,使用 PerfView 监控 C# SDK 类库的性能可以帮助开发人员识别和解决潜在的性能问题。希望本文提供的示例和步骤能帮助你开始使用 PerfView 来监控和分析你的 C# 应用程序的性能。下面我们将探讨如何使用 PerfView 监控 C# SDK 类库的性能,并提供相应的源代码示例。安装完成后,我们可以开始使用它来监控我们的 C# 应用程序。

  • SDK开发思路C#

    2.添加引用 如果添加引用报错的话(那么应该是c++文件),所以我们在对应的demo中找到c#语言对应的.cs文件(进行拷贝,复制到我们的程序中)1.拷贝dll库到我们程序的exe同一目录下,若用到halocn算子,则需要将halcon中的相关dll拷贝到exe同一目录下。3.设置回调函数(被动形式) 若颜色采集异常,则可以增加(白平衡,饱和度)处理,调用封装好的借口,显示图像。回调函数:应用程序将函数地址注册给操作系统,并注册事件,当事件产生的时候,操作系统进行调用,并且把数据传上来。

  • C# SDK exe dll 防止反编译

    ///////////////////////////////////////////////////////////////////////////////// C# SDK (Software Development Kit) exe dll 防止反编译

  • 创建自己的sdk

    下面操作只能保证项目知道去哪里找了,但是不知道具体找哪个(这就需要个人设置)右键class出来这个界面,在里面勾选静态库(.lib)头文件如下,namespace可以写在头文件里面声明。代码如下,我们要将其封装为一个sdk供别人安装使用。截下来演示怎么导入到另一个项目中。将那两个文件移到那个文件夹中。我们拿到生成的这两个文件了。要把造轮子当作一种享受。

  • 打开C#项目时出现“error : 找不到指定的 SDK”的错误解决方法汇总

    3.检查解决方案目录下是否有global.json这个文件,如果有则备份并删除它;网址下载对应版本的.NET SDK,关闭当前VS后安装;

  • 在C#中安装和配置.NET

    以上代码创建了一个名为"MyConsoleApp"的命名空间,并在其中定义了一个名为"Program"的类。在"Main"方法中,我们使用"Console.WriteLine"方法输出一条简单的消息。.NET是一个跨平台的开发框架,它提供了许多功能强大的库和工具,可以帮助我们构建各种类型的应用程序。在文件夹中,创建一个新的文本文件,并将其命名为"Program.cs"(注意文件扩展名必须是.cs)。通过以上步骤,你已经成功安装和配置了.NET框架,并创建并运行了一个简单的C#控制台应用程序。

  • 暴强贴:从.NET平台调用Win32 API

    作者:刘铁猛日期:2005-12-20关键字:C# .NET Win32 API版权声明:本文章受知识产权法保护,如果阁下想转载,在转载的时候烦劳阁下连同在下的姓名一起转载,并向bladey@tom.com发一个Mail,我很想知道我的文章都去哪里了.谢谢.小序        Win32 API可以直接控制Microsoft Windows的核心,因为API(Application Program

  • C#访问网络共享文件夹,带用户名密码域,解决电脑重启后访问不到网络文件夹

    问题:winform访问网络共享文件夹,电脑重启后访问不到指定目录 原因:访问网络共享文件夹目录需要相关的用户凭据,文件资源管理器可以记住凭据,但是电脑重启后直接用软件访问网络文件夹路径是没有凭据的,就会出现访问不到的问题。 解决:访问时携带用户名,密码,域,等信息 使用: using (SharedTool tool = new SharedTool("用户名", "密码", "域")...

  • C# + AnyCAD 实现三维模型展示

    需求:三维模型展示 实现:考虑过CreoView 但去官网申请使用链接,久久没有收到回复,于是google一番,决定使用开源的AnyCad来实现 附官方链接:http://www.anycad.net/ GitHub链接:https://github.com/anycad/AnyCAD_Sample AnyCAD 官方SDK下载:AnyCAD 官方SDK下载 1.准备引用 去   An...

  • BCGSoft Demo示例展示:文档/视图示例

    BCGSoft公司的BCGControlBar产品是全球最优秀的MFC界面类库,功能强大,显示丰富,在国际上享有盛誉,并屡次获奖,是VC界面设计的必备首选! 本文中的示例演示了如何通过库利用文档/视图结构来增强所提供的功能。 您也可以下载BCGControlBar专业版免费试用体验哦! DockingView 本示例演示了如何嵌入一个CView-derived类到对接

  • C# 使用Sentech相机sdk 获取图像,转换为halcon HImage的两种方法

    在网上搜索半天,没有找到关于Sentech相机和halcon联合编程的例子,先将自己的代码发布如下. sentech相机驱动和sdk 下载地址  参考PvPipelineSample这个例子,自己修改后就可以连接相机. SDK获得图像类型是其自定义的 PvBuffer PvImage pvIma

  • 最新2018820c#调用淘宝sdk,topsdktopapi,调用demo

    大家都知道调用淘宝的sdk会遇到很多问题,大家可以下载demo学习,用的C# vs2013,测试的是获取淘口令功能 下载地址:最新c#成功调用topsdk获取淘口令demo - 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl + Q 插入链接 Ctrl + L 插入代码 Ctrl + K 插入图片 Ctrl...

  • 三维曲线图的绘制方法大全

    上一篇文章我们将了如何使用plot函数绘制二维空间的曲线图,以及如何设置曲线图的样式,这一章我们要介绍一下使用plot3绘制三维空间的曲线,设置曲线样式你们就参考上一篇文章,两者是一样的,这一章重点将三维空间曲线图的特点。 首先我们介绍一下plot3的基本使用方法:plot3(x1,y1,option1,x2,y2,option2...),其中参数x1、x2、y1、y2都是变量,op

Global site tag (gtag.js) - Google Analytics