基本介紹
當我們最開始接觸軟體開發的時候,我們大都是採用記事本來編寫程式,運用JDK、MFC等提供的API自己編寫代碼來完成想要的功能,編寫完之後還要編譯成可執行的檔案,然後再運行。這種方式雖然通俗,但是一點也不方便,慢慢的,編程人員開始尋求比較方便開發的工具,於是諸如eclipse、jbuilder、VC++等等一系列的開發工具便出現市面上,這些工具的出現,大大方便了開發人員的編程工作,減少了編程人員很多不必要的麻煩。像包括編譯、異常處理、發布、模擬運行等等操作,都可以在這些開發工具上完成。
但是,隨著時間的推移,編程人員發現,即使有這么好的開發工具,在開發的過程中,依然要寫很多很多的代碼,而且仔細的分析來看,很多代碼基本上都是重複的編寫,功能大同小異。於是,他們便開始琢磨另一種更為方便高效的開發工具,比如說:我們可以將很多重複的代碼封裝起來,然後需要用到的時候自行調用?或者是我們可以搭出一個基本的開發框架,然後編程人員可以在這個框架的基礎上進行二次開發?通過編程人員一次一次的實驗,最終形成了一種新的開發工具,那就是開發平台。
模式
從國內代表性的軟體開發平台中,我們可以看出這一類產品的大致脈絡,亞思捷的TNT平台:TNT平台的核心優勢在於低成本的個性化,他可以同時向客戶提供T——業務系統模板,即OA、CRM、文檔管理、信息門戶、線上考試等標準化的套用系統;N——開源組件包,即上述套用系統的原始碼;T——開發工具,即基於微軟Jupiter平台的快速開發工具,開發者可以通過界面屬性設定的方法來完成對業務系統的快速開發,自動化生成C#和JAVA的二種語言的系統。顯然,TNT中的兩個“T”是業務的重點,而殺手鐧則是低價。
其他廠家的軟體開發平台與上述三種均大同小異,都是提供“標準化+行業化+個性化”的套用模式。
從中我們看出,這些軟體開發平台確實都非常具有我們在上文中提到的技術共性,另外我們還都具有一個共同點,那就是他們既提供軟體開發平台,又提供基於該平台生成的各種套用系統,兩種產品相輔相成。這種模式也是軟體開發平台銷售的主流模式[2]。
市面上的快速開發平台主要分為兩種模式。
一種是引擎模式,一種是生成原始碼模式。拿報表來舉例,所謂引擎模式是指通過報表設計器設計出報表模板,發布到報表引擎中,在運行時,你只需要向報表引擎里傳遞相關的參數,如報表條件,報表引擎負責查詢資料庫,加工數據,然後以各種方式展現出來,在這個過程中是不需要開發人員編寫代碼的,也不產生原始碼的。即使是在開發過程中也是如此,利用開發平台開發業務系統時,開發者不需要編碼,只需通過WEB頁面進行參數定製即可,這些參數存放在系統資料庫或XML檔案中。系統運行時,引擎會調用這些參數進行頁面展現及業務處理。
這種模式的快速開發平台,完全不需要懂技術,不需要寫代碼,就可快速製作ERP、OA、CRM、HRM、EAM、BI、PMS等軟體,節省95%成本和時間。
另一種便是生成原始碼的,這種方式主要通過一個桌面式設計器來定義業務模組,輔助生成原始碼框架,然後用戶可以在生成的原始碼的基礎上編寫、修改自己的原始碼,實現業務邏輯,包括生成、修改JSP頁面。所以生成原始碼模式也可認為是一種代碼生成器。這種模式的主要代表是普元平台,另外有宏天軟體的EST-BPM,這種模式的產品對開發者的要求比較高,但由於面向的對象基本都是軟體開發商或者有研發實力的企事業單位,深受政府單位和大中型企業的歡迎。