1、定義
傳統軟體開發必須經曆“設計時”和“運作時”兩個階段,運作時設計,顧名思義,就是在軟體運作過程中,對軟體進行實時設計修改,而無需再次進行編譯,使用者即可使用。
“運作時設計(Design at Run-time)”,就是軟體在使用者使用過程中,可以通過設計器修改界面、功能、甚至對整個頁面進行重新定義,儲存釋出後使用者即可使用,而不需經過傳統軟體漫長的版本釋出周期,也與傳統快速開發平台功能更新後需要重新開機伺服器,重新開機用戶端等任何重置性操作有本質差別,整個軟體修改後,無需編譯,釋出等過程,而直接儲存即可讓使用者使用到即時修改的功能,它節省了大量開發、測試和釋出所需的時間周期,而對客戶的功能需求,更加定位準确。這是在2011年開始逐漸開始形成的一種全新的軟體開發理念和設計模式。
2、Any where、 Any Time調整業務功能的能力
核心内容,即軟體在使用過程中可以對功能進行任意調整,而其它使用者使用不受絲毫影響。即Any where、 Any Time對業務進行修改調整,而不會影響到其它業務,運作時設計實際上提供了強大的基礎平台支援,同時管控和設計。功能開發和調整無需釋出即時生效
3、核心内容
它的基本核心内容包括:
1) 腳本、表達式解釋器技術:
現代軟體平台設計中大規模的引入腳本,之前業内偶爾見到使用腳本,這也會給軟體開發技術上帶來巨大的挑戰與刺激,因為很少人會為了做一個軟體,去定義一種語言,并為它編寫解釋器,這似乎是一個不可完成的工作,而動态編譯橫行的今天,似乎是殺雞用牛刀了?然而為了更好的靈活性和更加運用自如,同時保證做到真正的“運作時設計”。快速開發平台更需要提供的動态編譯技術,讓靈活得到極大提升。
2) 智能窗體技術:
在動态軟體發展的今天,如果單單說動态界面已經很常見,而現代快速開發平台的動态界面技術,它不是去定義頁面的某個位置的布局,而是全部頁面都自己去定義,拖拉完成,同時配合動态資料源(業務表),它做到了快速定義頁面,開發效率成倍提升。後來有人把部件和頁面定義,統稱為“智能窗體”。
3) 界面與資料源分離,低耦合技術:
正如前面所講,我們需要定義的是一套軟體,而非一個頁面的某個位置(動态表單),是以,必須做到資料與頁面完全分離的技術,這也是運作時設計平台的核心技術之一,真正做到了完全的資料與界面分離。
4) 資料源動态定義技術:
動态資料源技術,将資料來源劃分,使資料有不同類别,如通過SQL語句形成,通過自己編寫形成等,解決了資料來源的問題,而同時,定義了讀寫和隻讀的模式,讀寫表不但可以顯示資料,還可以将變化的資料完整儲存到資料庫。
5) 解釋執行與編譯執行技術:
為了提高效率,定義了腳本文法,編寫了解釋器,實際上,腳本解釋器的運作效率非常不錯,但是為了更加提高效率,運作時設計還會把代碼做類似編譯的處理,把它處理為樹型結構的DOM,這有點類似于HTML的DOM結構,這樣的做法,就是每次運作系統時,不再去解釋語言,而直接“執行語言”。似乎說得有點懸乎。
6) 核心工作流技術:
任何工作幾乎都離不開工作流,大部分管理系統中,有一半以上是采用工作流來處理,運作時設計軟體具備自主工作流引擎,可以處理工作流相關事務。
7) 高擴充性技術:
利用現代語言可以很輕松的做到高擴充性,然而,即使所有設計都考慮得非常完美,也總會有10%在例外,是以,一個軟體無論功能有多麼強大,必須提供開發擴充,以供使用者實作那10%的例外,是以這也是現代快速開發平台的重要一個特點,實際上,采用腳本技術,對于擴充性不需要做過多的設計并可自然獲得,然而,它卻有着非常重要的意義。
以上7點技術,便是“運作時設計”的重要技術特性,它是貫穿現在軟體快速開發平台設計始末,“運作時設計”,Design at Run-time,是現代軟體快速開發平台的特點之一,也是非常重要的特性。
4、代表公司
采用此類技術的快速開發平台,目前市面上非常少,典型的代表産品如重慶度量科技旗下的度量快速開發平台,真正做到了運作時設計的理念。
5、發展趨勢:
具備“運作時設計”的快速開發平台作為一種新型的開發工具,它不僅具備傳統快速開發平台的所有優勢,而且運作時設計能讓在使用者使用過程中立即對軟體功能進行調整,同時節省大量傳回公司調整、修改、釋出所需要的時間周期,對于準确把握客戶需求,提高客戶滿意度,節省研發成本方面,有不可替代的作用。相信越來越多的平台公司會加入“運作時設計”的理念,做更好服務于客戶的人性化軟體。
運作時設計如何動态建立并調整窗體視訊: