本文主要闡述低代碼的概念,介紹目前主流的低代碼平臺,總結低代碼平臺的典型特征、存在優勢以及未來發展趨勢。并站在程序員的角度,分析如何在已經到來的低代碼戰爭中,找到自己的定位,一展所長。
什么是低代碼?
低代碼(Low-Code)一詞最早由Forrester在2014年提出,通過少量代碼就可以快速生成應用程序的開發平臺。這類平臺面向的是IT專家或者平民程序員,以快速交付應用程序為目的,解決傳統軟件開發模式帶來的周期長、成本高等問題。
低代碼是一個相對的概念。從字面上看,能減少代碼量的開發方式就可以看做是低代碼。低代碼平臺指面向業務開發人員,屏蔽底層技術復雜性,以可視化方式為主,少量代碼為輔,用來快速搭建各種應用系統的開發平臺。
低代碼業內領軍者Outsystems有自己對低代碼的定義:低代碼是一種軟件開發方法,可以更快地交付應用程序,并且只需很少的手工編碼。低代碼平臺是一組工具,這些工具可以通過建模和圖形界面來可視化應用程序開發。可以使開發人員可以跳過手工編碼,從而加快了將應用程序投入生產的過程。
Mendix認為,低代碼開發是一種可視化應用開發方法。通過低代碼開發,不同經驗水平的開發人員能夠通過圖形用戶界面,使用拖放式組件和模型驅動邏輯來創建 Web 和移動應用。
從各個低碼平臺對低代碼的定義,可以看出低代碼概念的基礎特征:只需少量代碼、通過可視化方式開發,相比傳統開發模式,周期短,交付快,能夠快速搭建應用。
形式各異的低碼平臺
比較知名的低碼平臺,國外有Outsystems、Mendix,國內有阿里宜搭、簡道云、輕流等,以及今年來小眾性價比高的JNPF。讓我們先來看看這些低代碼平臺研制的產品的功能有哪些,主要解決什么樣的問題。
國外低代碼平臺
Outsystems
OutSystems 是低代碼市場的長期領導者,OutSystems 的低代碼開發平臺,讓軟件開發人員和業務用戶通過直觀的可視化界面來構建應用程序,而不是傳統的編寫代碼方式。用戶可以在開發平臺靈活拖動各個圖形化控件,以構建業務流程、邏輯和數據模型等所需的功能,必要時還可以添加自己的代碼。
Mendix
美國原生代低代碼開發廠商,低代碼開發平臺的全球領導者之一。
Mendix大部分的功能都是優越的,包括其數據建模和管理能力、提供數據庫及核心系統的連接組件,可以實現CRM、ERP等獨立應用數據的聯通。
國內低代碼平臺
JNPF
JNPF是引邁的高光產品,由具備10多年系統開發經驗和企業項目交付經驗的技術團隊傾力打造而成的企業級低代碼平臺,一款基于Java Boot/.Net6構建的簡單、跨平臺快速開發框架。
運用SpringBoot微服務架構,支持SpringCloud模式。前后端封裝了上千個常用類,方便擴展;采用前后端分離架構,集成了代碼生成器,支持前后端業務代碼生成,滿足快速開發需求;框架集成了表單、報表、圖表、大屏等各種常用的Demo方便直接使用;后端框架支持Vue3,平臺即可私有化部署,也支持K8S集群部署。
在JNPF中,至少包含表單建模、流程設計、報表可視化、代碼生成器、系統管理、前端UI等組件,這種情況下我們避免了重復造輪子,已內置大量的成熟組件,選擇合適的組件進行集成或二次開發復雜功能,即可自主開發一個屬于自己的應用系統。
應用地址:https://www.jnpfsoft.com/?csdn
國內零代碼平臺
阿里宜搭
宜搭是阿里巴巴自研的基于釘釘和阿里云的低代碼平臺,可讓用戶通過簡單的拖拽、配置即可完成應用搭建,為每個組織提供低門檻、高效率的數字化業務應用生產新模式。有效縮減企業應用開發時間,助力企業數字化升級。
宜搭通過高度的抽象,將頁面元素封裝為基礎組件和業務組件,將業務規則、權限等封裝為規則配置、公式和可拖拽的流程設計器,通過拖拽以及配置,無需寫代碼,即可完成符合業務需求的應用系統搭建。
簡道云
簡道云是一款靈活易用的應用搭建平臺,提供豐富的功能模塊,如:在線表單,流程,儀表盤,知識庫等功能。使用者無需代碼基礎即可像搭建積木一樣,快速搭建出符合需求的個性化管理應用。
輕流
輕流認為的無代碼開發是一種無需代碼基礎、適合業務人員、IT開發及其他各類人員使用的、快速構建適應企業各種需求變化的數字化開發平臺,用戶在幾天甚至幾個小時內就能完成系統的開發、測試和部署,并能夠隨時調整或更新。
雖然每個低代碼平臺的功能形態各不相同,但是我們仍然可以從中得出一些低碼平臺的通用特征:
- 低碼平臺的核心是搭建基礎引擎,如:表單引擎,流程引擎,報表引擎,消息引擎,規則引擎等等。
- 低碼平臺要具備建設系統基礎設施能力,如:組織架構,用戶體系,權限管理等。
- 低碼平臺都有組件/插件庫,基于數據模型,通過可視化的頁面操作/配置來構建應用
- 復雜一點的低碼平臺,需要擁有集成管理的能力,如:集成現有系統的開發能力,自動對接第三方開放平臺等。
- 低碼平臺功能越是豐繁復雜,越是需要程序員參與開發對接,深度配合。
程序員應該如何與低代碼相處?
低代碼要解決的痛點是,在低代碼平臺提供核心引擎和業務組件的基礎上,快速搭建一套具備基礎的業務功能,滿足常規需求和日常使用的應用。
- 對業務人員而言,它確實滿足了80%高頻重復的基礎需求,但仍有20%定制功能、復雜交互、特殊場景等個性化需求,無法通過可視化操作或者通用引擎來解決,必須要程序員介入開發。
另一方面,持續地進行迭代更新是一款軟件保持生命力的基本要素。而這往往會造成原本屬于二八原則里80%基礎需求變成20%的個性化需求。越是復雜的功能迭代,越是離不開程序員。
無代碼或許會到來,但去程序員不會發生。然而這并不意味著對程序員毫無影響。恰恰相反,當一個軟件工程80%的功能,都可以通過簡單的代碼邏輯,甚至不需要代碼就能實現。
如果不具備核心競爭力,那程序員還是程序員嗎?