如何選擇低代碼開發(fā)平臺
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
事實(shí)表明,低代碼和無代碼開發(fā)平臺允許開發(fā)人員比傳統(tǒng)編程速度更快、成本更低地開發(fā)應(yīng)用程序。而人們需要了解如何為工作選擇正確的低代碼或無代碼工具。 如今的低代碼和無代碼開發(fā)平臺使軟件開發(fā)人員團(tuán)隊(duì)(甚至非編程人員)能夠交付、支持和擴(kuò)展廣泛的應(yīng)用程序。它們用于構(gòu)建移動(dòng)應(yīng)用程序、提高客戶體驗(yàn)、簡化工作流程、使遺留應(yīng)用程序?qū)崿F(xiàn)現(xiàn)代化、數(shù)據(jù)集成自動(dòng)化,以及支持?jǐn)?shù)據(jù)可視化,這些都是一些常見的用途。 低代碼和無代碼開發(fā)工具的主要特點(diǎn)是它們可以被開發(fā)人員成功使用;他們可以比使用原生SDK更快地開發(fā)應(yīng)用程序;并且可以用更少的費(fèi)用開發(fā)應(yīng)用程序。雖然許多低代碼和無代碼開發(fā)平臺需要收取許可費(fèi)或訂閱費(fèi)用,但也讓開發(fā)人員節(jié)省人工成本。 01 無代碼和低代碼的成本以及如何節(jié)省成本 如果開發(fā)人員正在構(gòu)建消費(fèi)者或客戶應(yīng)用程序,需要避免使用按用戶收費(fèi)的開發(fā)系統(tǒng),并避免使用無法提供類似原生性能的開發(fā)系統(tǒng)。如果開發(fā)系統(tǒng)生成的應(yīng)用程序性能低下或非原生,消費(fèi)者可能難以獲得更好的體驗(yàn)。 粗略估算一下,美國初級軟件開發(fā)人員每年的收入在5萬美元到12萬美元(平均為7.2萬美元),而采用原生代碼從頭開始構(gòu)建的簡單消費(fèi)者應(yīng)用程序需要花費(fèi)6到25個(gè)人/月(平均為12個(gè))的費(fèi)用,因此開發(fā)一個(gè)簡單的原生應(yīng)用程序可能需要7.2萬美元。而一個(gè)更復(fù)雜的原生應(yīng)用程序的開發(fā)成本可能超過100萬美元。 如果使用低代碼開發(fā)系統(tǒng)將一個(gè)簡單應(yīng)用程序的開發(fā)時(shí)間減少到一個(gè)人/月(成本約6,000美元),但向每位用戶只收取10美元的許可費(fèi),那么一旦擁有6,600個(gè)用戶,獲得的收入將超過原生開發(fā)的成本。而這只是一個(gè)大概的估計(jì)。 在這種情況下,開發(fā)工具按應(yīng)用程序、服務(wù)器、開發(fā)人員或開發(fā)人員/年收費(fèi),對開發(fā)人員來說可能更具價(jià)值。另一方面,如果開發(fā)人員正在構(gòu)建大量供幾百名員工內(nèi)部使用的應(yīng)用程序,那么更可能傾向于按用戶付費(fèi)。 員工對應(yīng)用程序的期望往往低于消費(fèi)者的期望,當(dāng)需要應(yīng)用程序執(zhí)行工作時(shí),員工實(shí)際上沒有選擇使用它的權(quán)利。他們可能會(huì)有所抱怨,但仍然會(huì)使用它。 02 無代碼開發(fā)vs.低代碼開發(fā) 如果使用的是無代碼開發(fā)工具,通??梢詫⒔M件拖放到設(shè)計(jì)面板上,但發(fā)現(xiàn)該工具缺少需要的組件或功能時(shí),就會(huì)遇到一些問題。因此需要從開發(fā)這一工具的開發(fā)人員或第三方供應(yīng)商那里購買或以其他方式獲得所需的組件。 在低代碼開發(fā)工具中,雖然學(xué)習(xí)曲線可能比無代碼工具更陡峭一些,因?yàn)樾枰帉懸恍┐a,但擴(kuò)展工具的障礙通常更低。因此不必購買另外組件,通??梢跃帉懘a來調(diào)用系統(tǒng)、開源或供應(yīng)商API。 在一些低代碼環(huán)境中,其代碼是可選的。換句話說,在一定程度上,該環(huán)境可用于無代碼開發(fā)。業(yè)務(wù)用戶可能能夠執(zhí)行95%的開發(fā)工作,而程序員為剩余的5%開發(fā)工作編寫必要的代碼。這些工作會(huì)因應(yīng)用程序和工具而有所不同。 通常情況下,開發(fā)人員需要為低代碼工具編寫的代碼在語義上類似于可能已經(jīng)知道的語言。例如,Microsoft Power Fx基于Microsoft Excel,而Alpha Software的Xbasic則源于Microsoft Basic。許多低代碼工具使用的語言或者與Javascript有著密切的關(guān)系,或者嵌入了真正的Javascript引擎,例如V8。 有一種觀點(diǎn)認(rèn)為無代碼開發(fā)只是面向業(yè)務(wù)用戶的低代碼開發(fā)。還有一種更現(xiàn)實(shí)的觀點(diǎn)認(rèn)為,所有無代碼和低代碼開發(fā)團(tuán)隊(duì)都需要專業(yè)開發(fā)人員參與團(tuán)隊(duì)工作,以提供用戶自己無法構(gòu)建的部分:數(shù)據(jù)庫模式、組件開發(fā)、體系結(jié)構(gòu)、用戶體驗(yàn)設(shè)計(jì)和質(zhì)量評審。 03 無代碼和低代碼工具的種類 在開始購買低代碼或無代碼開發(fā)工具之前,開發(fā)人員應(yīng)該問自己一些關(guān)于開發(fā)應(yīng)用程序的問題,以了解采用低代碼或無代碼工具是否有意義。以下是他們需要提出的問題: 正在構(gòu)建桌面應(yīng)用程序嗎?是用于Windows?用于Mac?用于Linux?還是用于所有操作系統(tǒng)? 正在構(gòu)建網(wǎng)絡(luò)應(yīng)用程序嗎?是用于桌面瀏覽器?用于平板電腦?用于智能手機(jī)?還是用于所有設(shè)備? 正在構(gòu)建移動(dòng)應(yīng)用程序嗎?是用于iPhone?用于iPad?用于安卓?還是用于所有移動(dòng)設(shè)備操作系統(tǒng)? 是否打算為移動(dòng)設(shè)備編寫原生代碼?是否使用混合網(wǎng)絡(luò)技術(shù)?使用原生shell和Web內(nèi)容?還是使用所有這些技術(shù)? 有預(yù)算嗎?預(yù)算是多少?有截止日期嗎?開發(fā)時(shí)間有多長?有多少名開發(fā)人員?他們擁有哪些技能?預(yù)算、截止日期和資源是否與應(yīng)用目標(biāo)一致?是如何進(jìn)行估算的? 應(yīng)用程序是否需要采用數(shù)據(jù)庫?如果需要,是采用現(xiàn)有數(shù)據(jù)庫還是新建數(shù)據(jù)庫?客戶端會(huì)更新數(shù)據(jù)庫嗎? 應(yīng)用程序是否需要支持客戶端通信?還需要其 他特殊功能嗎? 是否正在構(gòu)建供內(nèi)部使用的應(yīng)用程序?是為客戶還是消費(fèi)者構(gòu)建?是為商業(yè)伙伴?還是為所有這些人? 是否正在替換或現(xiàn)代化現(xiàn)有業(yè)務(wù)流程?是否正在嘗試將現(xiàn)有的紙質(zhì)表格實(shí)現(xiàn)計(jì)算機(jī)化? 正如這一系列問題所表明的那樣,應(yīng)用程序的目標(biāo)環(huán)境有很多種。無代碼和低代碼開發(fā)工具也有很多種設(shè)計(jì)范式。 桌面設(shè)備的目標(biāo)包括適用于Windows、macOS、Linux甚至DOS的桌面應(yīng)用程序。移動(dòng)設(shè)備的目標(biāo)包括Android、iOS及其適用于平板電腦和智能手表等。Web應(yīng)用程序目標(biāo)幾乎包括上述所有內(nèi)容,另外還要考慮支持瀏覽器(Chrome、Edge、Safari、Firefox和Opera)以及響應(yīng)式處理不同屏幕尺寸的能力?;旌蟇eb應(yīng)用程序?qū)⒃鷖hell應(yīng)用程序與Web內(nèi)容相結(jié)合。 其設(shè)計(jì)范例包括定制原型應(yīng)用程序;帶有屬性表和小代碼片段的拖放設(shè)計(jì)環(huán)境;聲明性字段描述;掃描表格的轉(zhuǎn)換;線框或圖形設(shè)計(jì)的轉(zhuǎn)換;以及從數(shù)據(jù)庫模式生成表單。控件可以具有絕對或相對布局,并且可以具有用于控件組的流布局或容器??丶旧砜梢允瞧脚_原生的,也可以作為工具運(yùn)行時(shí)的一部分來實(shí)現(xiàn)。 后端功能可能包括身份驗(yàn)證和連接到數(shù)據(jù)庫、云計(jì)算服務(wù)和企業(yè)應(yīng)用程序。移動(dòng)應(yīng)用程序可能支持文本消息、推送通知、地理定位、照片和視頻服務(wù)、社交身份提供商以及與社交網(wǎng)絡(luò)的集成。使用后端服務(wù)的應(yīng)用程序可能被設(shè)計(jì)為即使在連接中斷時(shí)也能工作,并且可能知道如何解決當(dāng)多個(gè)用戶嘗試離線更新數(shù)據(jù)庫時(shí)可能出現(xiàn)的數(shù)據(jù)沖突。 04 行業(yè)領(lǐng)先的低代碼和無代碼開發(fā)平臺 如今在無代碼和低代碼開發(fā)領(lǐng)域有400多家供應(yīng)商。調(diào)研機(jī)構(gòu)Gartner公司對其中的大約250家供應(yīng)商進(jìn)行了調(diào)查,但在試圖將它們劃分為不斷變化的類別時(shí)感到為難,因?yàn)樵S多供應(yīng)商和一些產(chǎn)品跨越多個(gè)類別。 行業(yè)專家認(rèn)為不應(yīng)該將業(yè)務(wù)流程管理(BPM)和機(jī)器人流程自動(dòng)化(RPA)工具與其他無代碼和低代碼工具混為一談,即使存在一些技術(shù)重疊。其不同之處在于業(yè)務(wù)流程管理(BPM)和機(jī)器人流程自動(dòng)化(RPA)工具將其他系統(tǒng)自動(dòng)化和編排為主要目的;普通的低代碼開發(fā)工具可能會(huì)使用企業(yè)系統(tǒng),但只是作為達(dá)到目的的一種手段。 例如,機(jī)器人流程自動(dòng)化(RPA)是一種對貸款進(jìn)行盡職調(diào)查的枯燥、重復(fù)、多系統(tǒng)過程的自動(dòng)化工具;現(xiàn)場服務(wù)代理采用平板電腦應(yīng)用程序取代紙質(zhì)表格、加快流程并消除辦公室內(nèi)的信息轉(zhuǎn)錄,但該流程的自動(dòng)化程度不足以滿足機(jī)器人流程自動(dòng)化(RPA)的要求。 以下選擇了行業(yè)中七個(gè)低代碼和無代碼開發(fā)供應(yīng)商作為示例,并按字母順序排列: Alpha Software:Alpha Anywhere是一種端到端、低代碼、快速的應(yīng)用程序開發(fā)工具,適用于面向數(shù)據(jù)庫的桌面、Web和混合移動(dòng)應(yīng)用程序開發(fā),可供具有各種技能的開發(fā)人員使用。 Alpha TransForm是一種用于移動(dòng)表單開發(fā)的無代碼和低代碼工具,具有離線功能,包括在連接恢復(fù)時(shí)自動(dòng)同步。 Appian:Appian提供可視化的無代碼設(shè)計(jì)器和低代碼工具,用于通過無代碼企業(yè)數(shù)據(jù)集成進(jìn)行Web和移動(dòng)應(yīng)用程序開發(fā)。Appian分別為業(yè)務(wù)流程管理(BPM)和機(jī)器人流程自動(dòng)化(RPA)提供自動(dòng)化平臺。 Claris:Claris FileMaker是一種低代碼開發(fā)系統(tǒng),適用于桌面、Web和移動(dòng)應(yīng)用程序開發(fā),并具有自己的數(shù)據(jù)庫。它具有內(nèi)置模板、拖放設(shè)計(jì)和直觀的圖形用戶界面。Claris Connect是一個(gè)自動(dòng)化平臺,構(gòu)建在與FileMaker相同的核心上。 Mendix:Mendix Studio是面向開發(fā)人員的WYSIWYG、基于瀏覽器的開發(fā)環(huán)境。Mendix StudioPro是一個(gè)基于桌面的開發(fā)環(huán)境,其中包括軟件開發(fā)所需的所有功能,以及在需要時(shí)添加自定義代碼的能力。Mendix還提供了一個(gè)自動(dòng)化平臺。 Microsoft:Microsoft Power Apps是適用于Windows10的低代碼應(yīng)用程序構(gòu)建器,它使用模板、拖放設(shè)計(jì)和Power Fx(一種類似于Excel的編程語言)。Power Apps包含一個(gè)語言模型,可以從自然語言描述生成Power Fx代碼。專業(yè)開發(fā)人員可以使用Azure Functions和自定義連接器擴(kuò)展Power Apps。而Power Automate是一個(gè)帶有工作流引擎的獨(dú)立RPA平臺。 OutSystems:OutSystems允許拖放視覺元素來為Web和移動(dòng)應(yīng)用程序創(chuàng)建用戶界面(UI)、業(yè)務(wù)流程、業(yè)務(wù)邏輯和數(shù)據(jù)模型,并在需要時(shí)使用代碼對其進(jìn)行自定義。它提供了大約70個(gè)預(yù)構(gòu)建的模板和樣式。OutSystems Forge包含數(shù)千個(gè)預(yù)構(gòu)建的代碼模塊,可以將它們放入應(yīng)用程序中,并根據(jù)需要在IDE中進(jìn)行擴(kuò)展。 Salesforce:Salesforce Lightning是用于Salesforce平臺的低代碼、拖放式應(yīng)用程序開發(fā)平臺。Lightning還可以連接到其他應(yīng)用程序和數(shù)據(jù)。Lightning App Builder允許業(yè)務(wù)用戶點(diǎn)擊創(chuàng)建應(yīng)用程序;Lightning Web Components幫助開發(fā)人員創(chuàng)建可重用的元素。 05 選擇無代碼或低代碼開發(fā)平臺的關(guān)鍵因素 還記得開發(fā)人員需要問自己的一長串問題嗎?這是需要獲得答案的地方?,F(xiàn)在并沒有一個(gè)萬能的無代碼或低代碼開發(fā)系統(tǒng),即使面臨組織的系統(tǒng)需要實(shí)現(xiàn)標(biāo)準(zhǔn)化的壓力。人們可能會(huì)發(fā)現(xiàn)不同的部門出于不同的目的需要采用不同的開發(fā)產(chǎn)品。 收費(fèi)模式有意義嗎?對于消費(fèi)者應(yīng)用程序,可能無法證明按用戶收費(fèi)的低代碼系統(tǒng)是合理的。許多低代碼供應(yīng)商在他們的網(wǎng)站上公布定價(jià)。對于其他公司,用戶可以咨詢他們的銷售部門,向他們詢問定價(jià),并對正在選擇的一些供應(yīng)商方案進(jìn)行比較。 低代碼/無代碼平臺是否支持所有想要的部署目標(biāo)?如果沒有需要繼續(xù)尋找。如果開發(fā)人員的選項(xiàng)均不支持所有所需的部署目標(biāo),則考慮將目標(biāo)列表確定為最重要的設(shè)備或?yàn)g覽器。 低代碼/無代碼平臺是否適合開發(fā)人員的技能組合?考慮通過團(tuán)隊(duì)一起構(gòu)建應(yīng)用程序,而不是依賴于擁有所有必要技能的某個(gè)成員。如果不具備采用這些工具所需的所有技能,需要繼續(xù)尋找,因?yàn)橐苍S其他工具可能更適合開發(fā)團(tuán)隊(duì)。如果工具選項(xiàng)都不適合團(tuán)隊(duì)的技能,那么或者考慮進(jìn)行培訓(xùn),或者招聘新成員,或兩者兼而有之。 低代碼/無代碼平臺會(huì)改善開發(fā)時(shí)間表嗎?低代碼開發(fā)的主要賣點(diǎn)之一是更短的上市時(shí)間。如果這對開發(fā)人員來說是一個(gè)重要的考慮因素,那么需要弄清楚真正完成其項(xiàng)目需要多長時(shí)間。開發(fā)人員根據(jù)開發(fā)要求和歷史經(jīng)驗(yàn),向供應(yīng)商詢問時(shí)間表。向使用過該工具的開發(fā)人員提出同樣的問題,并小心謹(jǐn)慎地將文檔和測試階段以及初始開發(fā)和最終部署包含在時(shí)間估計(jì)中。 低代碼/無代碼平臺是否可以擴(kuò)展?一些低代碼解決方案可能帶來了瓶頸,限制了可以同時(shí)運(yùn)行應(yīng)用程序的用戶數(shù)量;其他的一些設(shè)計(jì)可以處理非常大的負(fù)載。在某些情況下,可以通過在負(fù)載平衡器后面運(yùn)行多個(gè)服務(wù)器來解決服務(wù)器端的瓶頸。供應(yīng)商應(yīng)該能夠告訴典型的部署可以處理多少用戶,但是對于最終部署,開發(fā)人員應(yīng)該執(zhí)行負(fù)載測試。 低代碼/無代碼平臺能否滿足用戶的期望?消費(fèi)者期望采用的應(yīng)用程序可以提供亞秒級響應(yīng)和原生的感覺。在智能手機(jī)的應(yīng)用上,要測試的行為之一是滾動(dòng)一長串的列表:當(dāng)用力向下滑動(dòng)時(shí),其列表滾動(dòng)應(yīng)該更快,但在停止之前將會(huì)放慢速度。 進(jìn)行概念驗(yàn)證。在評估期間被動(dòng)學(xué)習(xí)低代碼產(chǎn)品是不夠的。選擇真正想要構(gòu)建的一個(gè)簡單子集,然后創(chuàng)建概念驗(yàn)證應(yīng)用程序。建議開發(fā)團(tuán)隊(duì)盡可能在內(nèi)部做POC開發(fā),只是在遇到困難時(shí)才向供應(yīng)商尋求幫助。 執(zhí)行低代碼開發(fā)是一個(gè)可以帶來許多回報(bào)的過程。一方面,很多組織堅(jiān)持他們的移動(dòng)應(yīng)用程序必須采用原生代碼編程,然后當(dāng)他們發(fā)現(xiàn),在開發(fā)iOS應(yīng)用程序花費(fèi)100萬美元以及一年的時(shí)間,然后又在一個(gè)幾乎完全相同的Android應(yīng)用程序上花費(fèi)50萬美元和6個(gè)月的時(shí)間的時(shí)候會(huì)感到震驚。因此值得探索和采用低代碼替代方案,無論是為了節(jié)省成本還是縮短上市時(shí)間。 另一方面,很多組織認(rèn)為低代碼開發(fā)可以由業(yè)務(wù)用戶進(jìn)行,無需專業(yè)開發(fā)人員或數(shù)據(jù)庫管理員的幫助,但很可能面臨項(xiàng)目失敗的情況。 因此,如果組織設(shè)定了明確的目標(biāo),那么需要組建一個(gè)了解如何更快、更好地構(gòu)建低代碼應(yīng)用程序的團(tuán)隊(duì)。 該文章在 2023/3/10 16:51:27 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |