低代碼平臺采用可視化的聲明性技術(shù),而不是傳統(tǒng)的編程方式,開發(fā)人員和非開發(fā)人員都使用這些技術(shù),并顯著減少了交付應(yīng)用程序和自動化過程的時間和精力。
即便如此,低代碼對不同的人來說仍然意味著很多事情,因為在這個總稱下存在幾種工具類型:網(wǎng)站生成器、表單生成器、API連接器、數(shù)據(jù)庫生成器、工作流自動化等。這里,我們將介紹低代碼開發(fā)與“無代碼開發(fā)”的區(qū)別、主要用例、平臺使用情況和關(guān)鍵特性。
低代碼簡介
2014年,F(xiàn)orrester創(chuàng)造了“低代碼”這個術(shù)語,用來描述“加速應(yīng)用程序交付,減少手工編碼量”的開發(fā)平臺。
低代碼平臺使用可視化的、聲明性的技術(shù)來替代傳統(tǒng)的編程方式,開發(fā)人員和非開發(fā)人員都使用這些技術(shù),并顯著減少了交付應(yīng)用程序和自動化過程的時間和精力。
然而,即便如此,低代碼對不同的人來說仍然意味著很多事情,因為在這個總稱下存在幾種工具類型:網(wǎng)站生成器、表單生成器、API連接器、數(shù)據(jù)庫生成器、工作流自動化等。
每種工具都針對不同的領(lǐng)域,需要不同熟練程度的技術(shù)。它們唯一的共同點是具有圖形用戶界面,使應(yīng)用程序用戶能夠配置和調(diào)整解決方案,以滿足確切的需求。
低代碼開發(fā)平臺通常包括以下幾個:
- Visual IDE(集成開發(fā)環(huán)境):一個拖放界面,開發(fā)人員可以在其中構(gòu)建應(yīng)用程序的UI、工作流和數(shù)據(jù)模型
- 后端和服務(wù)連接器:集成數(shù)據(jù)源和服務(wù)中的數(shù)據(jù)和邏輯
- 可重用組件:預(yù)構(gòu)建、預(yù)測試的拖放模塊和功能
- 應(yīng)用程序管理器:用于構(gòu)建、調(diào)試、部署和維護最終應(yīng)用程序的工具
低代碼模型興起的最顯著原因之一是更快的交付和更快的創(chuàng)新。此外,它使組織中的任何人都能夠構(gòu)建應(yīng)用程序——即使是那些技術(shù)知識或開發(fā)經(jīng)驗有限的人。
考慮到快速開發(fā)的好處——更低的成本、更快的交付和更大的可訪問性——低代碼市場將在2030年達到1900億美元。
低代碼開發(fā)平臺可以追溯到第四代編程語言(4GL),這是20世紀(jì)70年代到90年代發(fā)展起來的概念。該語言引入了一些最流行的快速應(yīng)用程序開發(fā)(RAD)工具,如Clarion、Microsoft Access和Powerbuilder,將類似開發(fā)的功能交給了具有非技術(shù)背景的業(yè)務(wù)用戶。
現(xiàn)代低代碼開發(fā)平臺推動了這一發(fā)展。這些平臺將計算或領(lǐng)域概念可視化,并添加了底層基礎(chǔ)設(shè)施來支持它們。但是,也許最重要的是,它們消除了構(gòu)建和運行最終應(yīng)用程序之間的任何摩擦。
低代碼和無代碼是一樣的嗎?
很簡單,答案是否定的。雖然兩個平臺都依賴于相同的可視化拖放開發(fā)原則,但無代碼平臺不用代碼開發(fā),而低代碼平臺保留了一些在需要時手動添加代碼的能力。
在很大程度上,無代碼的應(yīng)用程序很少是復(fù)雜的,只局限于特定的領(lǐng)域和功能。這些工具主要要求用戶配置解決方案,并對所完成的任務(wù)有明確的限制。因此,它們通常需要進一步開發(fā),來集成和連接到多個服務(wù)或添加自定義功能。
低代碼能用來做什么
低代碼開發(fā)平臺彌補了現(xiàn)成軟件固有的局限性、無代碼的剛性和從頭開發(fā)定制應(yīng)用程序的高成本之間的差距。
最流行的用例包括:
(1)業(yè)務(wù)流程應(yīng)用程序
低代碼平臺的主要目標(biāo)之一是業(yè)務(wù)流程管理,允許用戶構(gòu)建自動化流程的應(yīng)用程序,并更有效地處理它們。
(2)數(shù)據(jù)庫管理應(yīng)用程序
使用低代碼平臺綁定、查看、更新和可視化數(shù)據(jù)庫表。通過支持大多數(shù)流行的數(shù)據(jù)庫格式,開發(fā)人員可以輕松地將業(yè)務(wù)邏輯與數(shù)據(jù)管理期間發(fā)生的各種事件聯(lián)系起來。
(3)Omni-channel平臺
這些需求需要應(yīng)用程序從多個來源(數(shù)據(jù)庫、API、自定義業(yè)務(wù)邏輯、文件和云服務(wù))獲取數(shù)據(jù),并自動提供實時可見性。
(4)Microservices-based應(yīng)用程序
使用低代碼加速獨立、可擴展服務(wù)的開發(fā)和易于維護。
(5)現(xiàn)代化的遺留應(yīng)用程序
構(gòu)建API,用新功能對現(xiàn)有系統(tǒng)進行現(xiàn)代化、擴展和增強。
誰在使用低代碼?
當(dāng)我們談?wù)搼?yīng)用程序開發(fā)時,我們通常會想到由經(jīng)驗豐富的開發(fā)人員開發(fā)的應(yīng)用程序。傳統(tǒng)上,情況就是這樣。然而,低代碼平臺已經(jīng)引領(lǐng)了全民開發(fā)者的新時代,連接了業(yè)務(wù)和IT,填補了軟件需求和開發(fā)人員短缺的缺口。
即便是一個沒有經(jīng)過正式軟件開發(fā)培訓(xùn)的用戶,仍可以使用低代碼平臺構(gòu)建應(yīng)用程序。由于更接近產(chǎn)品、特定領(lǐng)域的流程和客戶,理想情況下,他們可以識別當(dāng)前的業(yè)務(wù)需求,充當(dāng)解決方案設(shè)計師,并在沒有IT參與的情況下實現(xiàn)解決方案。
其他不同的開發(fā)范例也存在。例如,一些低代碼平臺以開發(fā)人員為目標(biāo),并支持快速開發(fā)、集成和自動化。其他人則以軟件開發(fā)專業(yè)人士和普通開發(fā)者為目標(biāo),提供協(xié)作和開發(fā)應(yīng)用程序的工具。
不管用戶類型是什么,目標(biāo)都是加速整個組織的開發(fā)。
除了速度、成本和易用性等明顯優(yōu)勢外,低代碼還可以幫助普通開發(fā)者:
- 加快開發(fā)解決組織內(nèi)關(guān)鍵挑戰(zhàn)的解決方案
- 幫助了解新應(yīng)用程序機會的用戶
- 在IT的不當(dāng)影響的情況下,提高整體業(yè)務(wù)生產(chǎn)率
許多平臺還包括更深層次的技術(shù)能力,以支持專業(yè)開發(fā)人員和縮短軟件開發(fā)周期。一個好的開發(fā)平臺可以加速軟件開發(fā)中平凡的、可重復(fù)的方面,讓開發(fā)人員能夠更加專注于解決應(yīng)用程序邏輯的獨特需求,這些需求需要時間、注意力和專業(yè)知識才能成功。通過這樣做,與IT功能中的傳統(tǒng)代碼相比,它們具有顯著的優(yōu)勢:
- 縮短軟件開發(fā)生命周期
- 應(yīng)用一致的代碼質(zhì)量并降低維護負(fù)擔(dān)
- 提高團隊的效率和敏捷性
- 提供一條更直接的方法來處理復(fù)雜的注意,如應(yīng)用程序的安全性、基礎(chǔ)設(shè)施和可伸縮性。
低代碼平臺的工具箱包括一系列預(yù)先構(gòu)建的組件,這些組件在其專業(yè)領(lǐng)域內(nèi)具有定義良好的功能。但在選擇平臺時,買方應(yīng)考慮:
(1)確定當(dāng)前和未來的用例
考慮當(dāng)前的工具、系統(tǒng)和服務(wù)。該平臺能否解決眼前的問題,并加速整個組織的應(yīng)用程序開發(fā)。
(2)指定將開發(fā)應(yīng)用程序的用戶
低代碼仍然需要一些編碼技能來構(gòu)建應(yīng)用程序。了解誰將設(shè)計、開發(fā)和維護應(yīng)用程序?qū)τ谄ヅ溆美陀脩裟芰κ侵陵P(guān)重要的。
(3)集成需求
幾乎所有平臺都提供API,許多供應(yīng)商提供預(yù)構(gòu)建的集成,這非常適合與第三方供應(yīng)商合作。但是,可以使用API做什么,它們的性能如何,以及支持它們的方式有很大的不同。因此,認(rèn)真的買家應(yīng)該謹(jǐn)慎地檢查平臺的可擴展性,而不僅僅是指向點擊連接器。
(4)跨平臺支持
大多數(shù)企業(yè)傾向于使用跨平臺開發(fā)框架來為web、移動和其他平臺開發(fā)解決方案。這應(yīng)該在幕后自動發(fā)生,不需要額外的努力、編碼或資源。
(5)托管
低代碼曾是SaaS的同義詞,但現(xiàn)在的供應(yīng)商提供了更大的靈活性。例如,許多企業(yè)不讓他們的數(shù)據(jù)或應(yīng)用程序設(shè)計離開他們精心控制的網(wǎng)絡(luò),無論是出于遵守法規(guī)還是其他規(guī)則。因此,知道在哪里以及如何托管應(yīng)用程序與構(gòu)建應(yīng)用程序一樣微妙,不應(yīng)被忽視或掉以輕心。
面向?qū)I(yè)開發(fā)人員的低代碼功能
雖然低代碼提供了幾種開箱即用的服務(wù),可以在不編寫代碼的情況下組裝應(yīng)用程序,但越來越需要更復(fù)雜的特性來支持開發(fā)人員的思維方式和現(xiàn)代IT。這些措施包括:
(1)處理數(shù)據(jù)
大多數(shù)低代碼平臺都是可擴展的,提供了與供應(yīng)商的直接集成,并使IT能夠?qū)PI、web服務(wù)和命令行轉(zhuǎn)化為可重用的構(gòu)建塊。此外,這些現(xiàn)成的集成將允許您連接到外部API,允許方便使用和管理身份驗證令牌、檢索數(shù)據(jù),以及某種程度的查詢參數(shù)化。
在標(biāo)準(zhǔn)連接器之外,開發(fā)人員經(jīng)常面臨一些細(xì)微差別,例如身份驗證、數(shù)據(jù)驗證和錯誤處理,有時會使對特定技術(shù)的集成變得如此復(fù)雜,以至于可能會減少低代碼開發(fā)的關(guān)鍵優(yōu)勢。因此,了解該平臺是否支持行業(yè)標(biāo)準(zhǔn)接口和協(xié)議(如:REST、JDBC和OData),或者它是否是開放的,并且可以通過自定義代碼和API進行擴展,將極大地影響大型開發(fā)團隊的采用。
(2)定制和復(fù)雜性
過去對低代碼開發(fā)的批評之一是,它所提供的應(yīng)用類型的局限制。在過去,許多“解決方案或垂直利基”平臺僅僅圍繞常見的業(yè)務(wù)問題、概念或行業(yè)(如,工作流或BPM)展開,這在IT團隊中造成了一種看法,即缺乏靈活性,無法提供他們想要或需要的附加功能。
然而,隨著軟件開發(fā)人員的角色和技術(shù)的進步,現(xiàn)代的低代碼平臺也在進步。但是不同平臺的定制選項仍然存在很大的差異。有些是隱藏代碼的專有“黑盒”;有些是開源的,提供對底層代碼的訪問。還有一些提供了用額外的自定義代碼補充生成代碼的功能。
在采用任何平臺之前,必須了解開發(fā)人員將任何外部創(chuàng)新引入低代碼平臺的容易程度。擁有快速構(gòu)建應(yīng)用程序的能力,同時平衡對更復(fù)雜功能的需求,這是開發(fā)人員采用的一個基本因素。為了交付完全可定制的應(yīng)用程序,開發(fā)人員需要一種類似pro代碼的體驗,在這種體驗中,他們可以在快速地解決方案中實現(xiàn)復(fù)雜性,適應(yīng)邊緣情況,或者將獨特的解決方案集成到最復(fù)雜的技術(shù)堆棧中。
(3)企業(yè)發(fā)展
為了在企業(yè)環(huán)境中采用,開發(fā)人員可能需要考慮與他們特定環(huán)境相關(guān)的更深層次的功能集,包括平臺如何實現(xiàn):
- 重用:資產(chǎn)的可重用性是IT團隊生產(chǎn)率的關(guān)鍵驅(qū)動因素。一個好的低代碼平臺應(yīng)該允許用戶重用預(yù)先配置好的模塊、核心函數(shù)、代碼片段和后端集成商,來快速構(gòu)建不同的應(yīng)用程序。
- 可擴展性:低代碼解決方案應(yīng)允許在環(huán)境和應(yīng)用程序中進行擴展。例如,您可能有基礎(chǔ)設(shè)置地能力來開發(fā)和部署應(yīng)用程序,但您的許可條款可能會限制它,反之亦然。因此,在設(shè)置時,要了解平臺容量,并了解它是否適合您的可擴展性需求。?
真正可擴展的低代碼平臺具有定義良好的REST API,這些API將UI與后端層分離,允許大規(guī)模開發(fā)應(yīng)用程序,并確保按照行業(yè)標(biāo)準(zhǔn)遵循性能和設(shè)計方面的最佳實踐。理想情況下,低代碼平臺必須具有快速的API創(chuàng)建和綁定工具,以及自動化的API文檔,以幫助您將單一的遺留應(yīng)用程序重新構(gòu)建為基于微服務(wù)的現(xiàn)代微應(yīng)用程序。
- DevOps:一個成熟的低代碼平臺應(yīng)該集成并支持敏捷開發(fā)流程的功能。說到DevOps功能,需要考慮:對應(yīng)用程序進行版本控制或與GitHub等版本控制系統(tǒng)集成;在整個開發(fā)生命周期(開發(fā)、測試和其他環(huán)境)中工作;能夠連接到管理待辦事項和路線圖的工具;與持續(xù)集成、變更管理流程等集成;支持災(zāi)難恢復(fù)和數(shù)據(jù)科學(xué)的工具和其他特定功能。
(4)合規(guī)性和安全性
雖然普通開發(fā)者通常沒有安全方面的經(jīng)驗或理解,但這對于企業(yè)開發(fā)者來說是至關(guān)重要的一步。在購買前依靠內(nèi)部安全團隊對平臺進行評估應(yīng)被認(rèn)為是最佳做法。專家最好了解平臺如何適應(yīng)基于角色的管理、數(shù)據(jù)屏蔽和其他考慮因素,如HIPAA合規(guī)性、托管約束或其他與安全相關(guān)的限制。
低代碼流程
低代碼應(yīng)用程序的構(gòu)建速度可能很快,但在構(gòu)建時仍應(yīng)考慮最佳實踐。以下是如何成功選擇和實現(xiàn)低代碼的指導(dǎo)方針:
(1)平臺選擇
由于該領(lǐng)域有無數(shù)的供應(yīng)商,對于公司來說,很難知道在選擇過程中從哪里開始。理想的策略應(yīng)該是讓傳統(tǒng)IT幫助選擇平臺,對他們投入生產(chǎn)的任何其他技術(shù)工具或系統(tǒng)遵循相同的流程。這意味著深入測試平臺的能力、指導(dǎo)使用、教育用戶、確保符合組織的架構(gòu)計劃、有一個維護計劃和退役策略等等。
(2)規(guī)劃你的第一個解決方案
從路線圖開始。這可能是顯而易見的,但它有助于關(guān)注組織的直接需求,有什么要求?你需要什么樣的應(yīng)用程序?誰來建造它?
規(guī)劃可部署技術(shù)的范圍,以確定數(shù)據(jù)安全、測試、所有權(quán)規(guī)則等標(biāo)準(zhǔn)。實現(xiàn)低代碼平臺的很大一部分是了解自己的需求,包括現(xiàn)在和將來的需求。
(3)整合
花時間了解所選平臺將如何與日益復(fù)雜的技術(shù)堆棧連接,這些技術(shù)堆??梢园ǚ植际较到y(tǒng)、遺留應(yīng)用程序、第三方API、現(xiàn)成軟件等等。此外,現(xiàn)代組織中的數(shù)據(jù)集成、各種數(shù)據(jù)格式和不同類型的端點可能很復(fù)雜,并且會阻礙速度,尤其是在大型IT環(huán)境中。
(4)構(gòu)建
當(dāng)構(gòu)建應(yīng)用程序時,無論你是一名經(jīng)驗豐富的工程師還是一名普通的開發(fā)人員,都不可避免地存在一個學(xué)習(xí)曲線。為了得到最好的結(jié)果,請從一個小型應(yīng)用程序開始,建立對工具集的信心,并采用敏捷思維方式。通過快速原型設(shè)計、快速反饋和重復(fù)來鼓勵快速失敗的心態(tài)。
(5)測試
由于低代碼編程可以最大限度地減少編寫應(yīng)用程序所需的時間和精力,因此很多人會認(rèn)為它減少了QA團隊測試應(yīng)用程序所需的時間。然而,低代碼應(yīng)用的功能測試和性能測試與其他類型的應(yīng)用一樣重要。
事實上,在某些方面,對于為低代碼環(huán)境,擁有可靠的QA過程甚至比在傳統(tǒng)應(yīng)用程序更重要,因為它們通常構(gòu)成必須與外部數(shù)據(jù)資源集成的更大工作流的一部分。
(6)部署
低代碼的一個直接好處是部署速度——通常只需點擊一下。但是,有這么多選擇——公共云、私有云、混合云以及本地部署——仍然需要具備開發(fā)技能的人員來管理基礎(chǔ)設(shè)施和架構(gòu)上的細(xì)微擦別,以便將應(yīng)用程序投入生產(chǎn)。還要注意如何執(zhí)行此操作來消除與管理、驗證和擴展應(yīng)用程序相關(guān)的額外技術(shù)負(fù)擔(dān)。
低代碼底線
由于在解決成本、范圍和時間限制上的優(yōu)勢,低代碼平臺似乎可以長期使用。低代碼的商業(yè)案例在不斷增加,反之,對低代碼無法滿足企業(yè)需求或它們將取代人工編碼的毫無根據(jù)的擔(dān)憂繼續(xù)下降。
如果IT部門超負(fù)荷工作或無法滿足交付時間,低代碼可能很誘人。然而,采用的關(guān)鍵是從小處著手,同時培養(yǎng)組織能力和技能。對于初學(xué)者來說非常簡單,可以構(gòu)建高價值的應(yīng)用程序——并且足夠復(fù)雜,可以滿足專業(yè)開發(fā)人員應(yīng)對復(fù)雜挑戰(zhàn)的需求。
雖然這些平臺可能無法給出所有開發(fā)挑戰(zhàn)的答案,但它們已經(jīng)簡化并縮短了幾個軟件開發(fā)階段。因此,無論是一次性原型、概念驗證,還是關(guān)鍵業(yè)務(wù)管理系統(tǒng),低代碼都有很大潛力為現(xiàn)代企業(yè)提供靈活性和創(chuàng)新。
原文鏈接:https://dzone.com/refcardz/low-code-application-development