阅读更多
项目名称: 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#中安装和配置.NET

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

  • C#打印条码BarTender SDK打印之路和离开之路(web平凡之路)

    从来没想过自己会写一篇博客,鉴于这次从未知的探索到一个个难点的攻破再到顺利打印,很想记录这些点滴,让后人少走弯路。 下面走进正题。 需求:取数据库里的相应的字段数据,并生成条形码,可以批量、单条打印。大概意思就是你要搞出来一个高大上的标签,可以贴在我的货堆上。打印机我已经给你买好了,自己看着办。 第一次接触打印机器,我有点不知所错。虽然...

  • .NET C# 学习 安装.NET SDK环境 创建第一个ASP.NET项目 DAY1

    最近开始学学.NET。都说学过JAVA的学习.NET非常简单。

  • C#实现SM2国密签名签验签和加密解密

    话不多说,上码。 依赖,BouncyCastle.Crypto.dll ,经测试,可与java版本的bcprov-jdk15on-1.62.jar互通。 在这里插入代码片 using Org.BouncyCastle.Crypto.Engines; using Org.BouncyCastle.Crypto.Signers; using System; using System.Text; using Org.BouncyCastle.Crypto.Parameters; using Org.BouncyC

  • C#常用类(2)-Utils(常用方法)

    using Newtonsoft.Json; using Newtonsoft.Json.Converters; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Configuration; u...

  • CSharp(C#) 调用 C++ SDK dll

    摘要 最近3天忙的一个项目,要死了。有个 C++ 写的 SDK dll,需要写成 C# 的接口提供给其他人,项目需要就要死人啊 T_T。接下来就介绍这个项目上使用的东西,下面有说不对的,请大家见谅,谢谢~~~ 文章目录摘要目录1. 非托管调用2. 创建工程,VS20173. C++ 的接口 & 实现4. C++ dll 测试工程5. C++ 中间件设置和问题6. 中间件介绍1. 知识点介...

  • C#、打开basler相机

    使用到了Basler的相机,利用C#编写的SDK,下面进行简单的整理记录。 首先引用basler的动态库文件,具体引用位置如下: 安装目录\Basler\pylon 5\Development\Assemblies\Basler.Pylon\x64\Basler.Pylon.dll ———————————————— 版权声明:本文为CSDN博主「大_樱_桃」的原创文章,遵循 CC 4.0 BY-S...

  • 小白对于.Net SDK以及CLR的理解

    SDK 看了网上的许多定义,SDK就是“软件开发工具包”,我对于这个工具包的理解就是,我们在日常写代码的过程中所会用到的一些类,比如C#中的IO类等等,我们使用它的前提就是我们的电脑安装了SDK,这样才可以使用这个类,同时SDK提供给我们的文件说明,就相当于某个类我们F12转到定义的地方,这就是我对SDK大概的理解(望大家多多给意见) CLR CLR:公共语言运行时,它的作用就可以简单的看做一个翻...

  • C#使用SDK主动采集图像

    坑:使用C#主动采集图像接收返回的结构体的指针 平台: 软件:vs2015 硬件:某品牌的工业相机 主动采集的函数: CamAPI.gcGetImage(camid, DataBuffer, 500, Param); //获取一帧图像 //nID in 为设备ID值,范围从1~32 //pBuffer out 接收图像数据缓存,必须大于实...

  • [iphone-adMob]程序添加Admob样例

    #import "ProgrammaticAdViewController.h" #import "AdMobView.h" @implementation ProgrammaticAdViewController // The designated initializer.  Override if you create the controller programmaticall...

  • 调用百度语音识别C#SDK

    调用百度语音识别C#SDK 首先新建一个工程 从nuget下载Baidu.AI 登录百度帐号,如果没有注册一下,然后申请一个应用key如下图 下载测试文件 添加代码文件 // 设置APPID/AK/SK var APP_ID = "1*****"; var API_KEY = "GQl*******Eq"; ...

  • WinForm中使用AnyCAD三维控件 の 初始化

    在WinForm中可以方便的集成AnyCAD.Net三维控件,只需要以下几部即可完成。 一、添加DLL程序集 AnyCAD.Foundation.Net.dll AnyCAD.Presentation.Net.dll AnyCAD.Exchange.Net.dll 二、初始化控件 1.首先创建一个窗体 2.在窗体上放置一个Panel用来放置三维控件 3.初始化控件...

  • VS开发:.NET插件系统实现快速可视化

    面临的问题   在开发插件系统中,我们通常会面临这样的问题:   一些功能并不是在开启时就要被使用的,例如VS中的大量功能对一个大部分程序员来说用不着,但框架本身却应该向用户提供该插件的相应信息?   在可视化的插件功能列表中,我们不仅希望提供简单的插件名称信息,更希望能以图片,或动画等形式展示其功能特性,便于用户选择。   插入辅助类来解决上一个问题? 想法虽好,但...

  • AnyCAD .Net SDK 用户手册 v2013.1

    AnyCAD .Net SDK 用户手册 v2013.1 1. 简介 AnyCAD .Net SDK为.Net4.0开发者提供简单易用的三维建模和三维可视化的API。SDK主要由三维建模的API和可视化管理API组成。 AnyCAD 三维建模有以下功能: l 三维基本体,如点、线、多折线、Spline曲线、圆、椭圆、圆弧、球、长方体(立方体)、圆柱、圆锥等 l 复合体:复合线(...

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

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

  • Aubo智能机械臂C# SDK使用流程分享

    目录 一、SDK环境搭建 1.安装Visual Studio 2019 community; 2.基于C#搭建语言环境; 3.理解熟悉sdk接口; 4.引用sdk函数库,具体方法见下: 二、运行环境搭建 1.安装虚拟机VMware,官网下载; 2.Aubo虚拟运行环境适配,具体配置方法见下pdf; 3.更新Aubo示教器版本; 4.实现主机与虚拟机通信。 一、SDK环境搭建 1.安装Visual Studio 20...

  • C#调用海康SDK

    最近在学习用C#调用海康摄像机的SDK进行二次开发,真可谓是问题多多 对 PInvoke 函数“WindowsFormsApplication1!WindowsFormsApplication1.hkClient::NET_DVR_Login_V30”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托...

Global site tag (gtag.js) - Google Analytics