本文概述
代碼生成
模型解析執(zhí)行
代碼生成優(yōu)點(diǎn)分析
1.應(yīng)用可以脫離開發(fā)平臺(tái)任意部署
2.可以保護(hù)開發(fā)商的知識(shí)產(chǎn)權(quán)
3.很好地融入客戶的IT架構(gòu)中
4.生成的代碼更容易理解
由于是生成了指定語言的源代碼,對(duì)該語言熟悉的技術(shù)人員可以很容易地讀懂和理解軟件的處理邏輯。而模型解析則由于其技術(shù)封閉性,客戶無法閱讀和了解軟件的處理邏輯和流程。當(dāng)軟件運(yùn)行出現(xiàn)問題時(shí)只能依賴平臺(tái)商的技術(shù)支持,而這種支持由于平臺(tái)商需要同時(shí)支持大量的客戶群,無法提供及時(shí)有效地支持。特別是由于軟件問題是由于平臺(tái)本身的問題所引起的時(shí),只能等到平臺(tái)升級(jí)后才能夠解決,這對(duì)于許多客戶來說是難以接受的。
5.對(duì)于需要提供源代碼的客戶更有吸引力
6.更容易利用和整合已有的IT成果
代碼生成平臺(tái)由于其技術(shù)的開放性,可以很好地與目標(biāo)語言的各種已有的資源進(jìn)行集成。這樣前期已完成的軟件模塊(例如:jar包、DLLs、Java包、JS控件等)可以很容易地集成到開發(fā)平臺(tái),這就避免了重復(fù)開發(fā)工作。甚至隨著這些模塊的進(jìn)一步完善,可以作為平臺(tái)插件成為平臺(tái)的擴(kuò)展包。這種模式使得代碼生成技術(shù)開發(fā)平臺(tái)具有很好的擴(kuò)展性和兼容性。
7.提供額外的編譯檢查
代碼生成需要對(duì)生成的源代碼進(jìn)行編譯,而編譯器會(huì)對(duì)生成的代碼進(jìn)行語法檢查,針對(duì)編譯器檢查出來的錯(cuò)誤平臺(tái)會(huì)主動(dòng)處理以保證代碼質(zhì)量。有些代碼生成技術(shù)開發(fā)平臺(tái)還會(huì)提供不同層次的質(zhì)量檢查工具,例如:模型級(jí)檢查工具、源代碼級(jí)檢查工具、網(wǎng)絡(luò)運(yùn)行安全檢查工具等,甚至能夠集成流行的代碼檢查工具。而模型解析平臺(tái)則必須靠自己的技術(shù)來解決這個(gè)問題,同時(shí)開發(fā)環(huán)境與運(yùn)行環(huán)境必須緊耦合以消除開發(fā)環(huán)境與運(yùn)行環(huán)境的不同帶來的軟件運(yùn)行潛在問題。
8.提供Debug功能
模型解析優(yōu)點(diǎn)分析
1.一站式解決方案
采用模型解析技術(shù)的廠商傾向于將開發(fā)與運(yùn)行融為一體給客戶一個(gè)“一站式”IT解決方案,這一點(diǎn)對(duì)于中小企業(yè)客戶有很大的吸引力。但是“一站式”解決方案牽扯到技術(shù)與管理等方方面面,對(duì)于廠商的挑戰(zhàn)極大。另外,廠商也需要經(jīng)過較長(zhǎng)時(shí)間的積累使得平臺(tái)更加成熟??蛻舨幌M约涸诘痛a平臺(tái)的投入由于廠商技術(shù)的限制或生存能力的限制打了水漂,“一站式”解決方案的技術(shù)封閉性使得客戶在平臺(tái)上開發(fā)的應(yīng)用無法移植到任何其它平臺(tái)上。
2.模型的調(diào)整更容易
模型的調(diào)整不需要重新顯式地進(jìn)行生成、編譯、重構(gòu)、測(cè)試、部署等步驟,這樣會(huì)大大降低周轉(zhuǎn)時(shí)間。
3.可以在運(yùn)行時(shí)對(duì)模型進(jìn)行實(shí)時(shí)調(diào)整
由于模型是運(yùn)行時(shí)可用,因此可以在不停止運(yùn)行應(yīng)用的情況下對(duì)模型進(jìn)行調(diào)整。
4.模型的兼容性更強(qiáng)
原則上解析器會(huì)開發(fā)一個(gè)能夠在不同平臺(tái)上獨(dú)立運(yùn)行的解析器,這樣只要有相同的解析器就能夠在該平臺(tái)上運(yùn)行模型。而代碼生成模式需要針對(duì)不同的平臺(tái)生成對(duì)于的語言代碼。
5.模型應(yīng)用發(fā)布簡(jiǎn)單
在模型解析場(chǎng)景下,只要啟動(dòng)模型解析器并將開發(fā)的模型導(dǎo)入即可。這樣,領(lǐng)域?qū)<抑恍枰P(guān)注于模型建立,模型創(chuàng)建成功后,點(diǎn)擊“發(fā)布”按鈕即可實(shí)現(xiàn)應(yīng)用的發(fā)布。
6.升級(jí)便捷而且具有很好的系統(tǒng)可伸縮性
這個(gè)優(yōu)點(diǎn)主要是針對(duì)云平臺(tái)模式,因?yàn)樵破脚_(tái)本身具有非常好的系統(tǒng)可伸縮性。
7.系統(tǒng)更安全
由于模型解析平臺(tái)的相對(duì)封閉性,再加上云平臺(tái)運(yùn)行模式,普通人無法接觸到文件系統(tǒng)及模型定義文件。這樣就避免了模型被破壞的風(fēng)險(xiǎn)。
8.更靈活
解析器比代碼生成器更簡(jiǎn)單也需要更少的代碼來實(shí)現(xiàn)相同的功能,因此也更容易進(jìn)行功能擴(kuò)展。
9.能夠?qū)崿F(xiàn)運(yùn)行時(shí)Debug
在應(yīng)用運(yùn)行時(shí)可以提供針對(duì)模型級(jí)的調(diào)試跟蹤。
結(jié)論
在對(duì)上述兩種低代碼技術(shù)進(jìn)行分析后,我們發(fā)現(xiàn)兩種技術(shù)各有春秋,換句話說“沒有最好的,只有最合適的”。那么,企業(yè)用戶如何選擇適合自己低代碼平臺(tái)呢?這可能取決于企業(yè)規(guī)模、企業(yè)管理水平、企業(yè)信息化建設(shè)階段、開發(fā)應(yīng)用業(yè)務(wù)領(lǐng)域、企業(yè)IT戰(zhàn)略及企業(yè)內(nèi)部IT團(tuán)隊(duì)的技術(shù)技能等要素。鑒于國(guó)內(nèi)低代碼平臺(tái)技術(shù)的成熟度與國(guó)外知名企業(yè)還有一定的差距,因此,建議企業(yè)在選擇低代碼平臺(tái)時(shí)要綜合考慮更多的要素并與自身特點(diǎn)、技術(shù)需求進(jìn)行匹配,這樣才能夠選出更適合自己的低代碼平臺(tái),畢竟這與企業(yè)購(gòu)買一款應(yīng)用軟件完全不同。關(guān)于如何選擇低代碼平臺(tái)的建議,這里暫時(shí)賣個(gè)關(guān)子,我將會(huì)在另一篇文章中詳細(xì)介紹。
聯(lián)系客服