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