低代碼開(kāi)發(fā)會(huì)帶來(lái)更多安全問(wèn)題嗎?
低代碼開(kāi)發(fā)目前已被大量應(yīng)用,其本身并沒(méi)有什么安全或不安全一說(shuō),所有應(yīng)用程序開(kāi)發(fā)框架、系統(tǒng)、流程和策略的安全性取決于企業(yè)自身。企業(yè)不應(yīng)該阻止使用低代碼平臺(tái),而是應(yīng)引入企業(yè)級(jí)低代碼開(kāi)發(fā)平臺(tái),讓用戶能夠了解其工作原理,并鼓勵(lì)使用這類平臺(tái)。同時(shí),確保這些平臺(tái)的安全可靠性。

CIO和IT團(tuán)隊(duì)?wèi)?yīng)在這方面提供便利,為此提供高質(zhì)量、可靠且安全的低代碼開(kāi)發(fā)平臺(tái),以便平民開(kāi)發(fā)者充分利用其開(kāi)展工作,這才是避免安全漏洞的最佳方法。
在早期,開(kāi)發(fā)者用匯編語(yǔ)言或機(jī)器語(yǔ)言編寫(xiě)程序。用這些低級(jí)語(yǔ)言從事開(kāi)發(fā)很難,需要經(jīng)驗(yàn)豐富的開(kāi)發(fā)者來(lái)完成極簡(jiǎn)單的任務(wù)。如今,大多數(shù)軟件使用高級(jí)編程語(yǔ)言開(kāi)發(fā),比如Java、Ruby、JavaScript、Python和C++。這些高級(jí)語(yǔ)言可以讓開(kāi)發(fā)者更輕松地編寫(xiě)更強(qiáng)大的代碼,專注于更重要的問(wèn)題,不必操心機(jī)器語(yǔ)言編程的底層復(fù)雜性。
如下圖所示,高級(jí)編程語(yǔ)言的出現(xiàn)改進(jìn)了機(jī)器和匯編語(yǔ)言編程,通??梢酝ㄟ^(guò)更少的代碼完成更多工作,這大大提升了研發(fā)團(tuán)隊(duì)的效率,使他們能夠更快地交付更龐大、更出色的應(yīng)用程序。軟件開(kāi)發(fā)仍是一項(xiàng)高度專業(yè)化的任務(wù),需要高度專業(yè)化的技能和技術(shù)。但是越來(lái)越多的人學(xué)會(huì)了這些語(yǔ)言,軟件開(kāi)發(fā)者隊(duì)伍隨之壯大,由此,高效軟件開(kāi)發(fā)者的時(shí)代誕生。

最終,開(kāi)發(fā)者開(kāi)始編寫(xiě)更龐大、更復(fù)雜的應(yīng)用程序。他們開(kāi)始編寫(xiě)編程平臺(tái)、框架和工具集,以增強(qiáng)其開(kāi)發(fā)能力。ASP.NET、Ruby on Rails、jQuery、Spring和React.js等框架讓開(kāi)發(fā)者可以更輕松地構(gòu)建更高級(jí)的應(yīng)用程序。此外,SaaS和云服務(wù)為開(kāi)發(fā)者工具庫(kù)增添了更多的功能。
如下圖所示,所有這些更高級(jí)的工具和服務(wù)改善了開(kāi)發(fā)體驗(yàn),延續(xù)了更少代碼完成更多任務(wù)的趨勢(shì),大大提升了交付能力。這不僅可以讓開(kāi)發(fā)者更容易構(gòu)建高價(jià)值的應(yīng)用程序,而且也可以使其通過(guò)較少培訓(xùn)就能成為嫻熟的開(kāi)發(fā)者。較少培訓(xùn)意味著市面上會(huì)有更多的軟件開(kāi)發(fā)者。在此基礎(chǔ)上,SaaS和基于云的應(yīng)用程序時(shí)代誕生了。

此后,人工智能和機(jī)器學(xué)習(xí)開(kāi)始受到更多關(guān)注,如下圖所示,這些基于人工智能和機(jī)器學(xué)習(xí)的工具增強(qiáng)了其他開(kāi)發(fā)工具的功能,它們讓經(jīng)驗(yàn)不足的開(kāi)發(fā)者可以從事開(kāi)發(fā),也就是說(shuō)低代碼和無(wú)代碼工具提升了開(kāi)發(fā)者構(gòu)建更復(fù)雜應(yīng)用程序的能力。現(xiàn)在,沒(méi)有受過(guò)開(kāi)發(fā)者培訓(xùn)的人就能構(gòu)建執(zhí)行高級(jí)任務(wù)的應(yīng)用程序。此時(shí),被稱為平民開(kāi)發(fā)者的時(shí)代。

低代碼和無(wú)代碼工具是一套不斷演進(jìn)的工具,所有企業(yè)都需要它們,而且將來(lái)依賴它們。既然低代碼與其他開(kāi)發(fā)環(huán)境的改進(jìn)沒(méi)什么不同,為什么反對(duì)低代碼的聲音那么大?這可能也在情理之中,因?yàn)槊恳豁?xiàng)新技術(shù)從誕生之初到被廣泛認(rèn)可都會(huì)面臨同樣的阻力。不久前,我們還“不敢”考慮將云用于企業(yè),或者“不敢”將React用于主力企業(yè)應(yīng)用系統(tǒng)。云計(jì)算還被認(rèn)為是影子IT,像Ruby on Rails或React這樣的“新穎平臺(tái)”只能用于非官方應(yīng)用系統(tǒng)。
現(xiàn)在,低代碼、無(wú)代碼、人工智能輔助的開(kāi)發(fā)工具已深入人心,而且只會(huì)越來(lái)越重要。如果處理得當(dāng),較之任何其他平臺(tái)、系統(tǒng)或開(kāi)發(fā)環(huán)境,低代碼不會(huì)帶來(lái)額外的安全風(fēng)險(xiǎn),也不會(huì)帶來(lái)更多的運(yùn)營(yíng)風(fēng)險(xiǎn)或無(wú)法管理的成本,關(guān)鍵是要妥善處理。如果任由低代碼成為影子IT的載體,它可能與任何其他影子IT項(xiàng)目一樣不安全。如果任由低代碼變得不受監(jiān)測(cè)和控制,它可能與任何其他不受監(jiān)測(cè)和控制的流程一樣不安全。
