咱們分析軟件項目開發過程當中各階段的時間佔比能夠慢慢體會到,一套軟件項目 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、目標實現
經過前面兩個步驟的執行,就能夠將一個簡易的設計工具設計製做出來了。
固然,這只是一個起步,後續還有不少的功能有待實現,例如:流程、報表等等