咱们分析软件项目开发过程当中各阶段的时间占比能够慢慢体会到,一套软件项目 UI及基本业务的设计会占到整个项目开发的50%以上的时间,再看UI设计,通用的部分占到70%以上,咱们会想,若是能将这些重复简易的工做可否经过简易的操做来快速实现呢? 这样能够将大部分的时间用到后续的真实业务逻辑处理上去,就能够縮段开发时间,节约开发成本。这样的想法,我相信不少人都会有这样的想法,既然咱们有了这样的项目,就能够规划是否能够设计一个工具程序来实现咱们这样的目标。前端
如下思路,是根据本身项目开发经验及咱们想要实现的目标来实现的,此思路及实现方法不必定适合全部的人,固然实现的方法也有多种途径,只是根据我的擅长及本身所掌握的部分来逐个的实现。本篇只作简要说明,后续我将对设计时各部分碰到的问题及若是来实现作说明,对有想本身开发设计工具的朋友起到一个参照做用。数据库
1、目标规划后端
如今大部分的软件项目通常都是采用B/S的架构,若是咱们WEB项目 采用HTML+ JS + 后台 模式 是否是能够快速实现呢?既能支持跨平台,有能支持多种数据库,那不是更省心了吗?未来开发项目时,根据客户的实际环境,选择对应的语言,就能够快速实现了,而且前端的页面及JS 能够在不一样版本之间共用,这样就更能省心了。朝着这个目的,能够制定出一个框架设计实现初步规划。架构
重点分三部分:
框架
一、WEB前端: 采用 HTML + Jquery + Js 自定插件工具
二、WEB后端: 采用 C#、Java 实现前端的交互业务处理逻辑(目的:针对IIS、Tomcat 的部署环境来分别实现出来)学习
同时支持主流数据库 Sqlserver、MySql、Oracle 等开发工具
三、WEB设计: 经过C/S 设计工具,来快速生成HTML网页页面(包含各控件运行时所须要的各类参数)spa
经过以上三个部分,能够将一个完整的工具组成就能够体现出来了。插件
固然,这对WEB设计端有不少种实现方式,例如 B/S 架构直接设计或C/S架构设计生成等,至于哪一种实现方法,其实都可有可无,重要的是最终的目
标 是统一的,咱们尽可能开发实现时采用本身擅长的技术来实现了,至于想挑战的朋友,能够经过边学边开发的模式何尝不是一件好事,无论成功与否
最起码能从开发中学习到不少知识。
2、分步实现
咱们已经明确规划了开发工具的组成部分,那下一步就是来针对以上的部分分别来实现,固然,设计-运行 之间都是相互关联的,咱们能够先从简单的最迫切须要实现设计端如何来绘制页面开始,只有后端设计页面能实现出来了,后续的执行方能进展下去。
一、先实现C/S模式的页面设计功能:
但愿工具能经过拖拉控件的模式,在快速定位并生成控件,这样先将简单的实例实现出来,就说明咱们已经具有可实现的基础了。
网页预览效果:
我采用的 Winform 自定义控件绘制的方式来实现,将WEB项目中经常使用到的网页控件,在后台设计端所有开发设计成插件,经过拖拉方式,将控件
放置到咱们的画板页面上,这样就能够初步实现了咱们的页面简易设计功能。固然 咱们将页面绘制出来了,下一步生成页面的HTML网页就是相
对简单了。
二、WEB前端JS插件实现
当咱们网页设计生成了,此时只能说是实现了第一步,那么咱们须要对这些设计出来的页面控件,实现复杂的功能,那么咱们采用JQUERY 自定插
件模式,这样,对设计出来的每种类型的控件,它所须要的取值、赋值、事件注册绑定、事件执行、样式控制、属性取值、赋值等功能,所有经过
JS来实现,这样针对同类型的控件,能够重复使用。
例如:目录树、下拉选择、日期选择、复选、单选等等,
三、WEB后端的实现
咱们开发出来的网页,确定须要跟后台进行数据的交互操做,那么这块咱们也必需要实现,可是针对不一样的部署运行环境,例如IIS、Tomcat等我
们必需要分开实现这样的功能,即经过两种不一样的语言,来实现相同的功能。
网页与后台的交互采用 AJAX 来实现,这样就能够实现前端与后台数据的交互功能了。
3、目标实现
经过前面两个步骤的执行,就能够将一个简易的设计工具设计制做出来了。
固然,这只是一个起步,后续还有不少的功能有待实现,例如:流程、报表等等