Terra模板引擎开发(1)

  大概有过开发企业应用经验的童鞋都会有种感觉---重复性的东西太多了。你会发现,在一个项目有基于角色的管理模块,另外一个项目也同样会有,同样,一个项目有字典表,N个项目也同样会有。遇到这种情况,大部分的人的做法大概会从以前做过的项目里面拷贝到新的项目,但是在拷贝的过程中,我们还是要更改许多东西。感觉重复的东西实在是太多,有没有一种方式能把这些东西抽象出来,从而让我们能从这些繁琐的事情里面解脱出来。还记得以前大学在做PPT的时候,很多为了方便,会直接选择适合的模板去做,那我们开发的时候,是否也可以把一些共性的东西做成模板,通过模板生成项目,然后我们填充修改里面的内容就可以了。于是我萌生了一个开发模板引擎的想法。

  其实说白了就是一个代码生成工具,但是又跟代码生成工具有不同的地方,代码生成工具一般会生成一些比较零散的代码段或代码文件,我希望基于模板生成的项目是粒度较为大的,较有针对性而且完整的东西。用过vs的朋友就知道,上面有提供各个方面技术的模板,然而这些模板都比较基础,因为IDE面向的是各个方面的开发,而不仅仅是企业应用的开发。但如果是企业应用的开发,那范围就缩小了很多,我们可以把日常工作中有共性的东西抽出来,从而形成一个规范的模板,下个项目要用的时候,直接导出来用就行。

  我先是做了个小尝试,简单地实现了两个模板,一个是Java的Restful项目,一个.net实现的桌面多线程服务,这两个项目的目的主要是验证一下我的想法的可行性,至于模板的规范性还是有待完善了,界面如下图所示:

  

  虽然说模板是一些共性的东西抽象出来,但是每个项目还是有很多个性化的东西,那怎么办?可能只能通过配置去实现了,所以,每个模板所配置的东西都应该是不同,比如Java web项目可能有5个步骤需要配置,.net的桌面项目需要配置的步骤又是不一样。也就是说,根据你选择的模板,后面看到的配置界面应该是不一样(也有可能有相同的步骤)。通过一系列的配置,我们就可以针对特定的场景去生成项目。随着模板不断扩展添加,就可以涵盖企业开发的方方面面,从而减少无谓的重复工作。

  开博客的原因主要是为了记录一下工具的开发历程,同时也希望和大家探讨是否有解决上述问题的更好办法。

  现在工具的版本号为alpha v0.4,以下是下载的地址:
  http://files.cnblogs.com/files/terraengine/v0.4.zip

时间: 2024-11-07 21:48:40

Terra模板引擎开发(1)的相关文章

转 如何使用velocity模板引擎开发网站

基于 Java 的网站开发,很多人都采用 JSP 作为前端网页制作的技术,尤其在是国内.这种技术通常有一些问题,我试想一下我们是怎样开发网站的,通常有几种方法: 1:功能确定后,由美工设计网页的UI(界面)部分,然后由程序员在其上加入代码显示逻辑(比如循环,判断显示数据结果).也就是通常的 jsp 页面制作,当然这部分可以由美工完成模板,然后由 jsp 工程师再继续以它为原型创建相应的 jsp 页面. 2:功能确定后,由美工设计网页的UI(界面)部分,然后由网页制作人员在其上加入代码显示逻辑(比

前后端数据交互处理基于原生JS模板引擎开发

json数据错误处理,把json文件数据复制到----> https://www.bejson.com/ 在线解析json 这样能直观的了解到是否是json数据写错,在控制台打断点,那里错误打那里断点,观察是否有错误. <!DOCTYPE html> <html> <head> <title>前后端数据交互处理原生JS模板引擎开发</title> <meta charset ='utf-8'> <script type=&

SimpleTemplate模板引擎开发

模板引擎相信大家是经常使用的,但是实现原理估计没多少人知道(你要是说不就是replace嘛,那我也无话说了...). 先来看看这个SimpleTemplate想实现的是什么功能吧: 是个C#端的模板引擎 模板中能放普通变量(i, j, index, username这种直接了当的变量名) 模板中能放复合变量(user.FirstName, user.LastName这种有对象前缀的变量) 最终客户端代码通过下面的方式进行调用: static void Main(string[] args) {

Spring Boot基础教程8-web应用开发-模板引擎jsp

一.spring boot的web应用开发,是基于spring mvc 二.Spring boot 在spring默认基础上,自动配置添加了以下特性: 1.   包含了ContentNegotiatingViewResolver和BeanNameViewResolver beans. 2.   对静态资源的支持,包括对WebJars的支持. 3.   自动注册Converter,GenericConverter,Formatter beans. 4.   对HttpMessageConverte

Spring Boot基础6-web应用开发-模板引擎FreeMarker

原文视频参考:http://www.roncoo.com/course/view/c99516ea604d4053908c1768d6deee3d 一.spring boot的web应用开发,是基于spring mvc 二.Spring boot 在spring默认基础上,自动配置添加了以下特性: 1.   包含了ContentNegotiatingViewResolver和BeanNameViewResolver beans. 2.   对静态资源的支持,包括对WebJars的支持. 3.  

Spring Boot基础7-web应用开发-模板引擎Thymeleaf

原文视频参考:http://www.roncoo.com/course/view/c99516ea604d4053908c1768d6deee3d 一.spring boot的web应用开发,是基于spring mvc 二.Spring boot 在spring默认基础上,自动配置添加了以下特性: 1.   包含了ContentNegotiatingViewResolver和BeanNameViewResolver beans. 2.   对静态资源的支持,包括对WebJars的支持. 3.  

基于Velocity开发自己的模板引擎

Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象. 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只 关注页面的显示效果,而由java程序开发人员关注业务逻辑编码.Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提 供了便利,同时也为我们

Node.js开发入门—使用jade模板引擎

在"Node.js开发入门--Express安装与使用"里,我们曾经使用express generator创建了一个HelloExpress网站,express工具为我们生成了基本的目录结构.模板.stylesheet.routers等.虽然那只是一个简单的HelloWorld类的小东西,可里面包含的内容还是有些多了,为了更好的理解Express所支持的jade模板引擎的用法,我们这次提供一个手动创建的小网站,可以显示来访者的IP,并对访问进行计数. 安装jade npm instal

springBoot(5):web开发-模板引擎FreeMarker

一.简介 spring boot的web应用开发,是基于spring mvc. Spring boot在spring默认基础上,自动配置添加了以下特性: 1.包含了ContentNegotiatingViewResolver和BeanNameViewResolver beans. 2.对静态资源的支持,包括对WebJars的支持. 3.自动注册Converter,GenericConverter,Formatter beans. 4.对HttpMessageConverters的支持. 5.自动