效率提升30倍 無代碼開發讓「小白」也能編程
記者 唐 婷
近日,有外媒指出,在過去35年,軟體行業發生了一些重大轉變。其中之一便是,越來越多的軟體應用程式,已構建了基於無代碼原則的平臺,軟體業的未來將是屬於無代碼平臺的。
那麼,代碼在軟體編寫中扮演著怎樣的角色?什麼是無代碼平臺?軟體編寫是否真的可以做到無代碼?無代碼軟體的優勢有哪些?它是否代表了軟體業未來的發展趨勢?帶著上述問題,科技日報記者採訪了業內相關專家。
代碼是軟體的「物理」載體
當前,人類社會正處於飛速發展的資訊時代。現代信息系統的出現、發展與廣泛應用則是資訊時代的顯著特徵。
北京理工大學計算機網絡及對抗技術研究所所長閆懷志在接受科技日報記者採訪時介紹,所謂現代信息系統,是指由計算機與網絡通信硬體、軟體、信息資源、用戶和規章制度所組成的、以處理信息流為目的的人機一體化系統。軟體是現代信息系統的重要組成部分,在其中發揮著關鍵的作用。
軟體是指與計算機系統操作有關的電腦程式、規程、規則,以及相關的文件、文檔及數據。軟體在運行時,會向計算機或其他設備提供運算指令或程序集合,用以處理信息,並以文檔形式來描述程序功能需求以及如何操作和使用程序。
一般認為,程序就是軟體代碼,它是由常被戲稱為「程序猿」的編程人員,利用開發工具所支持的語言,編寫出來的源文件。軟體代碼通常是一組有序的數字或字母,它們是代表客觀實體及其屬性的符號。
一個軟體的生成,首先要從軟體的設計需求出發,然後進行軟體功能設計,制定軟體系統整體架構、劃分功能模塊、確定各模塊的實現算法,再通過編寫具體的代碼,最終形成相應的軟體。
「也就是說,代碼是軟體業務功能及邏輯結構的『物理』載體,是軟體運行進而實現其預定功能的基礎實體。」閆懷志介紹道,一般而言,人們常見的代碼就是用程式語言寫好的、可用記事本打開的多行英文文本,即原始碼。這種原始碼,是由編程人員採用彙編語言和高級語言寫出來的「原始」代碼。
除腳本語言原始碼外,大部分原始碼無法在計算機上被直接運行,通常能在計算機上直接運行的都是可執行程序。從原始碼轉化為可執行程序,這一轉變需要經過預編譯、編譯、彙編、連結等多個步驟。
閆懷志解釋道,之所以要經過這一轉變,是因為原始碼本身並不能被計算機的中央處理器(CPU)所識別,需要通過編譯程序將其進行「翻譯」,生成以彙編語言表示的、可被中央處理器識別的二進位代碼,即目標代碼。而目標代碼又需要通過連結後方可執行,這種經過連結後的二進位代碼被稱為可執行代碼,可在計算機上被直接運行。
無需編碼即可實現開發
作為軟體的「物理」載體,代碼在軟體編寫和運行中扮演了重要的角色。那無代碼軟體又是怎麼回事?
「嚴格來說,並不存在無代碼軟體,任何軟體都是必須有代碼的。」閆懷志介紹道,人們常說的無代碼軟體,實際上指的是無代碼開發。所謂無代碼開發,是指軟體開發者無需通過手工編碼即可實現目標需求的一種軟體開發方式,也就是用軟體來生產軟體。這種軟體開發技術的創新實踐,最大限度地簡化了知識轉移和軟體工程控制的過程,為軟體開發和運維提供了極大的便利,使「人人都是程式設計師」不再是天方夜譚。當然,專業程式設計師利用該技術,也可以使軟體開發效率得到顯著提升。
對此,天津大學軟體學院軟體工程系教授馮志勇也表達了相同的觀點。在馮志勇看來,所謂無代碼,更多的只是一種概念。儘管利用這項技術,用戶在軟體編寫界面不再需要輸入代碼,可以採用圖像拖曳等更為人性化的人機互動方式實現編程,但這就需要後臺儲備大量已編好的代碼模塊。
「事實上,無代碼開發,對後臺的支撐能力提出了很高的要求,後臺需要配有非常強大的技術團隊,來完成底層功能模塊的開發工作。只有這樣,才能使用戶完成『傻瓜操作』,才能讓操作界面變得簡潔。」馮志勇指出。
那麼,無代碼開發如何實現?
閆懷志介紹道,無代碼開發主要是藉助無代碼開發平臺,該平臺是一種無需編程的配置型軟體快速開發工具,利用新型人機互動方式,直接配置業務參數就可構建應用系統。這就使非專業編程人員也能輕鬆完成軟體開發工作,而不必掌握高級程式語言。
無代碼開發平臺可提供統一技術架構和極簡開發方法,用戶能自行選擇合適的系統甚至完全定製一套個性化的系統,避開專業代碼開發的那些「繁文縟節」。目前常用的微信、釘釘等手機APP,這些應用系統的開發就很可能用上了無代碼平臺。
安全性存在風險隱患
事實上,業界對簡化代碼開發的訴求早已有之。閆懷志舉例道,以企業應用程式開發為例,過去數十年就誕生如工作流(Workflow)、智能業務流程管理系統(iBPMS)、低代碼(Low—Code)等應用開發模式。2018年5月,國際知名諮詢公司高德納諮詢公司更是提出了高生產力應用程式平臺(high productivity application PaaS,簡稱為hpaPaaS)的理念,由此掀起了新一輪無代碼開發熱潮,很多人因此預測「無代碼軟體未來已來」。
無代碼開發的技術優勢有很多,總體來說,就是操作簡單、高效。這種模式允許使用者不直接編寫代碼,大大降低了軟體開發門檻,因此它的適用群體更加廣泛。非專業編程人員根據業務需求,即可構建出適用的業務系統;而專業編程人員則可以從繁重枯燥的編碼工作中解脫出來,使代碼開發質量和效率同時得到顯著提升。
「當前,無代碼軟體的開發效率可達到傳統開發模式的10倍到30倍。但是,無代碼開發絕不意味著,專業編程人員將失去飯碗。」閆懷志認為,這是因為依靠無代碼平臺編制的軟體,目前依舊存在一些不足。比如,要完成高效的無代碼開發工作,操作者仍需掌握必要的軟體開發知識和編程技能,而且這種軟體的自定義能力會受到一定的限制,在可擴展性上也存在一些短板。同時,在安全性方面,無代碼軟體的安全性在很大程度上要依賴於平臺自身架構的安全性及其提供的應用安全機制,因此在安全性方面,該種軟體也是存在著一定的風險。
不過,可以預見的是,無代碼軟體將是未來軟體生產的重要發展趨勢。在閆懷志看來,雖然這一發展過程會存在許多變數,但總體上業界普遍持審慎的樂觀態度。「如果能夠有效地解決安全隱患和自主可控問題,無代碼軟體的發展未來可期。」他說。
來源:科技日報