主頁 >  其他 > 低代碼,想說愛你不容易

低代碼,想說愛你不容易

2021-02-19 14:52:00 其他

本文內容

  • 低代碼發展現狀
    • 國外趨勢
    • 國內風云
  • 低代碼產品形態
  • 低代碼研發痛點
    • 多人協作不便
    • 孱弱的表達能力
    • 混亂的變數和引數
    • 動態計算/事件順序/黑盒子
  • 本文小結

一直想寫篇文章,聊一聊“低代碼”這個話題,一方面,“低代碼”這個概念確實非常火,其熱度絲毫不亞于曾經的“中臺”,有人說,2021年是屬于“云原生”的時代,看起來我們每一年都在被技術的“娛樂圈”拋棄,明明連 Kubernetes 都還沒有入門呢?人們已然在歡呼雀躍般地聲稱要拋棄 Docker ,這個世界有時就是如此地魔幻,明明我們生活在一個擁有大量基礎設施的時代,我們不必再像前輩們“刀耕火種”一般地去開發軟體,可我們的生存空間為什么就越來越狹窄了呢?拼多多事件過去沒有多久,騰訊的陽光普照獎再次讓“打工魂”覺醒,也許果真像大魚海棠里設定的一樣,人的記憶只有7秒,而另一方面,我想結合我最近開發“作業流”的感受,來吐槽下這個看起來美好的“低代碼”,也許,對企業而言,引入“低代碼”的確能減少研發成本,可博主并不認為,它會降低業務本身的復雜性,如果所有聲稱“低代碼”或者“無代碼”的專案,最終依然需要研發人員來作為收場,對此,我想說,對不起,這不是我想要的“低代碼”,

低代碼發展現狀

或許,一個人成熟的標志就是,在面對一個未知的事物的時候,決不會不由分說地一通吐槽,就像一個人在職場上,你不能永遠都只是學會抱怨,相對于抱怨,人們更希望聽到的是解決方案,所以,一個人的成長,本質上就是不斷學會為自己、為別人找解決方案的程序,前者是為了認識自我,而后者是為了交換資源,所以,在聽我吐槽“低代碼”前,不妨先一起來看看低代碼的發展現狀,

低代碼產品發展現狀

國外趨勢

有人認為,“低代碼”的興起源于釘釘的低代碼應用 易搭 的落地,誠然,巨頭企業的每一個動向都引領著整個行業的風潮,可低代碼這個概念最早要追溯到1980年,彼時,IBM 的快速應用程式開發工具(RAD)被冠以新的名字——低代碼,這是低代碼這個概念首次面向大眾,此后的40年里,國外誕生了諸如 Outsystem 、Mendix 、 Zoho Creator 等等的產品,整體發展相對緩慢,直到2015年以后,AWS、Google、Microsoft 和 Oracle 等巨頭開始入局低代碼領域,2018年,西門子更是宣布以 6 億歐元收購低代碼應用開發領域的領導者 Mendix 、快速應用開發的低代碼平臺 Outsystem 獲得 3.6 億美金的投資,低代碼平臺市場開始火爆起來,我們所熟悉的 Power Platform,其實就是微軟的低代碼開發平臺,低代碼領域通常都需要大量的積累和研發,需要有10到20年左右的技術沉淀,

國內風云

國內的低代碼領域,相比國外發展起步較晚,可依然涌現出像牛刀、APICloud、iVX、搭搭云、氚云、簡道云、云表、宜搭云等等產品,從整體上而言,這類這類產品基本上都提供了可視化搭建環境,都聲稱無需編碼即可完成業務系統的搭建,其實,從一名程式員的初心出發,我們所做的一切努力都是為了以后不寫代碼,經常有人問,怎么樣可以做到零缺陷、零 Bug ,其實不寫代碼就好啦!我們并不擔心低代碼讓我們失業,相反地,如果低代碼可以消化掉 30% 的垃圾專案,那么,我們將會有更多的時間去做些有意義的事情,而不是在一個“劣幣驅逐良幣”的市場里,靠著 996 來爭個你死我活,而從低代碼的商業價值角度來看,Salesforce、Appian、Joget 這三家公司均已上市,Mendix 和 Outsystem 更是估值 10 億美元以上的獨角獸公司,這正是巨頭們入局低代碼的原因所在,

低代碼領域,目前關注的重點主要集中在:表單生成和處理作業流生成和管理辦公協作人力資源客戶關系ERP 等企業應用上,就如同 SAP金蝶SCM 等企業軟體一樣,每一個軟體都曾聲稱能幫助企業解決某一類問題,低代碼領域同樣遵循“二八原則”,即 80% 的場景,通過定義的方法論、方式、工具集能夠實作;而剩下的 20% 的場景或許實作不了,需要使用者通過擴展的方式來自行解決,譬如,針對大多數企業都存在的 CRUD 的需求,通過在線的 Excel 表格來實作基于表的業務驅動,例如 SeaTable 就是這類主打協同作業的產品;針對大多數企業都存在的審批類的需求,則可以通過可視化的作業流設計系統來完成,例如 葡萄城 的 SpreadJS 和 活字格 ,同樣可以視為低代碼平臺,甚至早期的 .NET 開發者被人“黑”只會拖控制元件,這難道不是廣義上的低代碼嗎?

低代碼產品形態

搞清楚整個低代碼的發展現狀以后,那么,整個低代碼領域主要的產品形態有哪些呢?了解其主要的產品形態,對于我們形成低代碼的直觀印象非常有幫助,在我看來,主要分為四類:

  • 表單生成類:以 宜搭云 和 JNPF 為代表,主張通過可視化的設計器來完成頁面布局、編排、設計,即所謂的“所見即所得”,類似的還有 iVX,
  • 作業流生成類:以 Mendix 和 Outsystems 為代表,提供組件式的服務,通過編排作業流來實作特定的業務,即通過流程圖的方式來實作業務邏輯部分,不同的節點代表不同的功能,不同的線條代表不同的分支,
  • 協同作業類:以 SeaTable 為代表,基于表的業務驅動開發平臺,可以以不同的維度管理資料、對資料可視化、共享協作等等,同時具備自動化規則、腳本運行等能力,
  • 服務聚合類:以 APICloud 為代表,基于API聚合的組件市場工具,通過流程管理工具,可以管理整個應用的開發周期,從產品、設計開始,到研發測驗和運營,

所以,整體而言,低代碼產品的核心是表單引擎流程引擎(BPM),外圍支撐是BI引擎、*協同作業服務聚合等等,目前,市面上主流的低代碼產品,表單引擎和流程引擎(BPM)基本是標配,所以,嚴格地說起來,上面的分類并不嚴謹,因為基本上都是混合式的產品形態,下面是部分低代碼產品的截圖:

某“低代碼”二維碼應用

某“低代碼”人力資源管理系統

某“低代碼”可視化搭建系統

低代碼研發痛點

相信大家都知道了,接下來的內容是本文真正的重點,為什么要這樣說呢?這主要和博主自身的作業有關系,簡單來說,公司需要一個想象中的可視化設計器,業務人員只需要通過拖拽就可以完成業務邏輯的編排,而開發人員則需要負責對外輸出組件供業務人員使用,這聽起來特別像我們剛剛討論的第二種產品形態對不對?聽起來非常美好對不對?我承認這個想法真的符合潮流、非常的“低代碼”,所以,我們前期采用了微軟的 Windows Workflow Foundation 框架,使用以后的效果大概是下面這個樣子:

Windows Workflow Foundation 設計器

多人協作不便

那么,我們在這個程序中到底遇到了哪些問題呢?首先,這種可視化編輯的場景,遇到的第一個問題就是多人協作,如果你使用過騰訊檔案、釘釘檔案這類在線檔案類產品,你應該能領悟到我說的這個點,微軟的這個框架是采用XMAL這種格式來儲存資料的,雖然理論上可以通過 Git 實作多人協作,實際維護起來表示非常地麻煩,所以,我們最終由單人去維護這些作業流,那么,更廣義上的低代碼又該如何解決這個問題呢?流程圖這種東西,就是一種看起來非常清晰,改起來非常麻煩的東西,就像一條鎖鏈一樣,你要不停地斷開和接上,

孱弱的表達能力

其次,是流程圖這種表現方式的“表達”問題,就像你如果需要在SQL里表示回圈要用到游標一樣,這類作業流都無法表達程式三個結構中的回圈,更不用說表達力孱弱的運算式啦,所以,這就造成一個非常尷尬的問題,你在流程圖里寫不了太復雜的運算式,一旦業務人員寫不出來,就需要開發人員去寫輔助性質的代碼,類似正則字串插值字串處理、格式化等等的函式或者API非常缺乏,當然,我最無法忍受的,就是組件與組件間傳值的方式,你除了回傳JSON和寫表再沒有其它方式,更何況這個JSON回傳給某個組件了,人家還未必能直接決議直接使用呢?因為編輯器無法系結這種復雜的資料結構,

混亂的變數和引數

接下來,我最想吐槽的是,關于全域變數引數的問題,在流程圖中你經常需要各個分支的標志位(Flag)或者是臨時變數,然后你就看到了那種“變數滿天飛”的混亂局面,簡直像極了你剛開始寫的代碼,你需要順著每個線條,逐個點開每個組件的屬性面板,查看它都使用了哪些引數或者變數,至此,你終于明白了它的資料是如何流動的,從前,鄉愁是成千上萬行的代碼;現在,鄉愁是剪不斷理還亂的“蜘蛛網”,多年前,我對虛幻引擎(Unreal)的藍圖功能有多么憧憬;多年后,我對這種基于流程引擎的低代碼就有多排斥,尤其是,當我需要復用某一段邏輯的時候,我只能小心翼翼地選中節點和線條,然后再拷貝過去,

動態計算/事件順序/黑盒子

最后,我參考了一位被 Power Apps 所折磨的朋友的意見,除了上面提到的這些問題, 屬性面板或者公式無法使用動態計算的值,類似Vue 里面的計算屬性,從實際使用的體驗來看,這類以流程引擎和表單引擎為主要賣點的低代碼工具,其實都會存在這樣的問題,而面對這種問題,一般只能通過trick的手段來解決,同樣地,Power Apps 事件順序的不確定問題,因為低代碼實際上是框架提供了某種機制,可以幫你完成某個事情,所以,低代碼內部對于使用者來說,完全就是一個黑盒子,譬如 Power Apps 在無網路的環境下使用會卡頓,除錯起來非常不便等等,

本文小結

坦白來講,這篇博客實在沒什么“技術含量”,無非是按照一個月前的計劃在整理內容,我對“低代碼”持一種中立的態度,作為程式員,我是希望有這樣的技術來簡化流程,可以讓研發人員從枯燥的“增刪改查”中解放出來,留出時間去做更多有意義、有價值的事情,當我了解了低代碼和零代碼的差異以后,我突然明白,我需要的其實是零代碼,因為我希望那幫業務人員能自己搞定,這樣就不用再來煩我,可經歷這段時間的“低代碼”,我清醒地認識到,這個想法根本不現實,一來業務人員并不像他們想象的那樣,除了不會寫代碼以外無所不能;二來業務的復雜性滿足守恒定律,它永遠不會消失,只會從一種形式變成另一種形式也許,低代碼真的能幫企業省不少錢;也許,企業最喜歡做的事情,就是花點小錢招人外包做這種事情,但我依然想告誡開發者們,不要去追逐這些看起來美好的東西,對企業來說,它今天使用 A 技術,明天使用 B 技術,完全無關緊要,可對于個人而言,這個選擇顯得非常重要,看一看曾經的 SAP 咨詢顧問就知道了,如果有一天 SAP 都倒閉了,你掌握著這些只有在 SAP 上能發揮作用的技術有什么用呢?對技術人員來說,學習通用型的知識和技能,永遠比把雞蛋放在一個籃子里要更保險

雪輕鴻 CSDN認證博客專家 .NET Python 偽·全堆疊攻城獅
謝謝你,在這世界的角落,找到我,一個即將進入而立之年的中年大叔,常年以 飛鴻踏雪 的花名混跡江湖,在現實生活中,我是一名 偽·全堆疊攻城獅,因為我覺得,什么都略懂一點,生活會更多彩一些,目前,主要關注.NET、.NET Core、Python、資料分析、微服務、Web 等技術方向,日常行為:讀書、寫作、電影、烹飪、洞簫等,喜歡看日劇/紀錄片/科普、刷B站、刷LeetCode等,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/260981.html

標籤:其他

上一篇:如何在面試中介紹自己的專案經驗(作者原創版)

下一篇:年輕時不做會后悔的八件事

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more