回顧“低代碼”歷史發(fā)展,是技術(shù)進(jìn)步了還是倒退了?(低代碼發(fā)展趨勢(shì))
低代碼開(kāi)發(fā)可以說(shuō)是最近IT技術(shù)圈的頂流,2014年之前還沒(méi)有“低代碼”這個(gè)術(shù)語(yǔ),19年之前幾乎沒(méi)人關(guān)注低代碼,但從19年到現(xiàn)在(2021年11月)的2年時(shí)間,低代碼的百度搜索指數(shù)增長(zhǎng)了10倍,可見(jiàn)這個(gè)領(lǐng)域的受關(guān)注程度正在與日俱增。
織信之前的文章,曾介紹過(guò)低代碼開(kāi)發(fā)的歷史,這次讓我們?cè)俅位仡櫄v史,因?yàn)榛仡櫄v史可以讓我們更好地把握未來(lái)發(fā)展的趨勢(shì),看清那些在技術(shù)演進(jìn)過(guò)程中不變的東西。
什么是低代碼?
“低代碼”是一種可視化編程方法,允許企業(yè)不必通過(guò)編寫(xiě)代碼而是通過(guò)圖形界面快速搭建應(yīng)用程序。 雖然“低代碼開(kāi)發(fā)”這個(gè)術(shù)語(yǔ)是在2014年由知名市場(chǎng)研究機(jī)構(gòu)Forrester為了描述這一類(lèi)服務(wù)提供商而創(chuàng)造的,但低代碼背后的想法并不新鮮。在這篇文章中,我們將看到這種模式是如何隨著時(shí)間的推移而發(fā)展的,以及它所面臨的問(wèn)題。
目錄:
- 1970年-1990年:第四代編程語(yǔ)言(4GL,F(xiàn)ourth-Generation Programming Language)
- 1990年:快速應(yīng)用程序開(kāi)發(fā)(RAD,Rapid Application Development)
- 2001年:模型驅(qū)動(dòng)架構(gòu)(MDA,Model-Driven Architecture)
- 2007年:移動(dòng)平臺(tái)(Mobile Platform)
- 2014年:低代碼與低代碼開(kāi)發(fā)平臺(tái)
- 2020年:數(shù)字化轉(zhuǎn)型的迫切需要
1970年-1990年:第四代編程語(yǔ)言
低代碼開(kāi)發(fā)平臺(tái)可以追溯到第四代編程語(yǔ)言——這個(gè)概念是在20世紀(jì)70年代到90年代發(fā)展起來(lái)的,與第三代編程語(yǔ)言(3GL)的大部分開(kāi)發(fā)重疊。
第三代編程語(yǔ)言:C, C , Java, Python, PHP, Perl, C#, BASIC, Pascal, Fortran, ALGOL, COBOL
第四代編程語(yǔ)言:ABAP, Unix Shell, SQL, PL/SQL, Oracle Reports, RJames Martin在他1982年出版的《Applications Development Without Programmers》中,認(rèn)為4GL技術(shù)(如RAMIS和FOCUS)向更廣泛的人群開(kāi)放了開(kāi)發(fā)環(huán)境,并使非程序員能夠自己創(chuàng)建應(yīng)用程序。
第四代編程語(yǔ)言指的是非過(guò)程的高級(jí)規(guī)范語(yǔ)言,包括支持?jǐn)?shù)據(jù)庫(kù)管理、報(bào)告生成、數(shù)學(xué)優(yōu)化、圖形用戶(hù)界面(GUI)開(kāi)發(fā)和web開(kāi)發(fā)。
1990年:快速應(yīng)用程序開(kāi)發(fā)
作為對(duì)瀑布模型的響應(yīng),當(dāng)使用Visual Basic、Delphi和Oracle Forms等可視化編程工具“組裝”桌面應(yīng)用程序的概念開(kāi)始流行時(shí),我們看到快速應(yīng)用程序開(kāi)發(fā)(RAD)在20世紀(jì)90年代獲得良好的發(fā)展勢(shì)頭。
瀑布模型是軟件開(kāi)發(fā)行業(yè)長(zhǎng)期使用的計(jì)劃驅(qū)動(dòng)過(guò)程,它是在20世紀(jì)七八十年代發(fā)展起來(lái)的,基于傳統(tǒng)的工程模式。
RAD工具作為易于學(xué)習(xí)的開(kāi)發(fā)環(huán)境而表現(xiàn)突出,其核心理念是:最終用戶(hù)應(yīng)該首先關(guān)注GUI,并逐步添加業(yè)務(wù)邏輯。
然而,RAD工具有其局限性:
- 它們通常是私有的商業(yè)軟件,這意味著綁定在特定的開(kāi)發(fā)環(huán)境中。目標(biāo)環(huán)境通常是指定的,例如VB/Delphi開(kāi)發(fā)的程序通常只能在Microsoft Windows、Oracle應(yīng)用服務(wù)器和Oracle Forms數(shù)據(jù)庫(kù)的環(huán)境中運(yùn)行。
- 因?yàn)槿狈δK化,團(tuán)隊(duì)在一個(gè)應(yīng)用程序上一起合作開(kāi)發(fā)是比較困難的,或者說(shuō)有很多限制條件。
- RAD工具(如Visual Cafe和Borlands JBUIlder)在速度和資源需求方面遇到了困難。它們是用Java寫(xiě)的,這在當(dāng)時(shí)意味著對(duì)資源的巨大需求。
2001年:模型驅(qū)動(dòng)架構(gòu)
為了減少部門(mén)和開(kāi)發(fā)之間的距離,對(duì)象管理組織(OMG,Object Management Group)在2001年推出了模型驅(qū)動(dòng)架構(gòu)(MDA)。作為一種軟件設(shè)計(jì)方法,它提供了一組指導(dǎo)方針,用于將規(guī)范構(gòu)建和表示為模型。
模型支持域的整體視圖,綜合考慮技術(shù)和業(yè)務(wù)需求,隨后轉(zhuǎn)換為可執(zhí)行代碼。在開(kāi)發(fā)和運(yùn)行時(shí)使用生成器和解釋器來(lái)生成或解釋模型中的代碼。
隨著MDA和微軟軟件工廠的出現(xiàn),模型驅(qū)動(dòng)軟件開(kāi)發(fā)(MDSD,Model-Driven Software Development)吸引了很多使用UML(統(tǒng)一建模語(yǔ)言,Unified Modeling Language)和BPMN(業(yè)務(wù)流程建模符號(hào),Business Process Modeling Notation)等工具的程序員的興趣。
2007年:移動(dòng)平臺(tái)
隨著蘋(píng)果在2007年發(fā)布iPhone iOS進(jìn)入移動(dòng)設(shè)備市場(chǎng),以及一年后谷歌的Android問(wèn)世,各種移動(dòng)平臺(tái)應(yīng)運(yùn)而生。
開(kāi)發(fā)者積極使用Android Studio和Xcode等可視化編輯器在本地開(kāi)發(fā)Android和iOS應(yīng)用。
這是桌面應(yīng)用程序在移動(dòng)設(shè)備上的復(fù)興。
然而,響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)以及增強(qiáng)型Web應(yīng)用(PWA,Progressive Web APPs)等技術(shù)已經(jīng)威脅到了移動(dòng)應(yīng)用,因?yàn)樗鼈兡軌驗(yàn)樾⌒驮O(shè)備提供具有良好用戶(hù)體驗(yàn)(UX)的網(wǎng)頁(yè)應(yīng)用,并且不需要依賴(lài)特定的移動(dòng)開(kāi)發(fā)平臺(tái)。
2014年:低代碼與低代碼開(kāi)發(fā)平臺(tái)
2014年,弗雷斯特集團(tuán)(Forrester)發(fā)表了一篇文章,此后“低代碼”(low-code)一詞成為顯學(xué)。
我們已經(jīng)看到了低代碼開(kāi)發(fā)平臺(tái)(LCDP,Low-Code Development Platform)的出現(xiàn)——它的起源可以追溯到2011年——其目標(biāo)是將盡可能多的概念整合到一個(gè)平臺(tái)上,從而使編寫(xiě)代碼變得不必要或至少顯著減少。
低代碼平臺(tái)包含RAD和MDSD過(guò)程,并將ALM(應(yīng)用程序生命周期管理,Application Life Cycle Management)以及持續(xù)集成(CI,Continuous Integration)或持續(xù)部署(CD,Continuous Deployment)集成到開(kāi)發(fā)、測(cè)試和生產(chǎn)環(huán)境中。
為了支持整個(gè)環(huán)境的“拖放”創(chuàng)建,必須有PaaS(平臺(tái)即服務(wù),Platform as a Service)的支持。通常使用公有云服務(wù)提供的PaaS,但也可以使用企業(yè)內(nèi)部服務(wù)(如基于OpenShift的容器平臺(tái))。
aPaaS(應(yīng)用平臺(tái)即服務(wù),Application Platform as a Service)提供了應(yīng)用程序整個(gè)生命周期所需的一切:從一開(kāi)始的規(guī)劃階段一直到開(kāi)發(fā)、驗(yàn)收和運(yùn)維。
2020年:數(shù)字化轉(zhuǎn)型的迫切需要
2020年,新冠疫情的大爆發(fā)暴露了許多企業(yè)在數(shù)字化方面已經(jīng)落后了。
為了保持他們的業(yè)務(wù)運(yùn)作并滿(mǎn)足他們的員工和客戶(hù)的需求,他們被迫升級(jí)他們的應(yīng)用程序,并構(gòu)建新的應(yīng)用程序來(lái)填補(bǔ)現(xiàn)有的流程空白。
因此,低代碼的普及程度得到了提升。這一勢(shì)頭將持續(xù)到2021年。
低代碼從歷史中學(xué)到了什么?
像幾十年前流行的4GL這樣的技術(shù),曾承諾能迅速滿(mǎn)足客戶(hù)的需求,但由于一些限制因素,最終失敗了,而且它們的流行程度自推出以來(lái)就不斷的在減弱。
進(jìn)入21世紀(jì),許多RAD開(kāi)發(fā)環(huán)境已經(jīng)銷(xiāo)聲匿跡了。隨著為web編寫(xiě)應(yīng)用程序成為趨勢(shì),Swing和SWT等“經(jīng)典”UI工具包變得越來(lái)越?jīng)]有意義。
UI設(shè)計(jì)越來(lái)越多地使用HTML、CSS和JavaScript來(lái)完成,這為網(wǎng)頁(yè)設(shè)計(jì)師創(chuàng)造了越來(lái)越多的工作機(jī)會(huì)。不同的網(wǎng)頁(yè)瀏覽器、操作系統(tǒng)(如Linux、macOS)以及從PC到智能手機(jī)再到可穿戴設(shè)備的都被當(dāng)作目標(biāo)系統(tǒng)。
我們注意當(dāng)前的低代碼服務(wù)提供商大多數(shù)都學(xué)習(xí)過(guò)歷史。他們知道困擾4GL和RAD的問(wèn)題,并試圖在他們的系統(tǒng)中修復(fù)這些問(wèn)題。
隨著企業(yè)轉(zhuǎn)向人工智能、機(jī)器人、機(jī)器學(xué)習(xí)和物聯(lián)網(wǎng)等新技術(shù),低代碼解決方案也在不斷發(fā)展,以提供這些能力。
結(jié)語(yǔ):
合理并且有效地運(yùn)用低代碼平臺(tái),不僅可以讓我們工作高效地運(yùn)行,還能最大程度保證團(tuán)隊(duì)目標(biāo)的達(dá)成。我推薦使用織信Informat,它內(nèi)置100多個(gè)應(yīng)用模板并覆蓋:OA、ERP、CRM、生產(chǎn)設(shè)備、績(jī)效、企業(yè)服務(wù)、個(gè)人及組織等多個(gè)應(yīng)用場(chǎng)景。點(diǎn)擊一鍵安裝,即可免費(fèi)試用?,F(xiàn)注冊(cè)可享終身免費(fèi)使用權(quán)益。同時(shí)還能體驗(yàn)在線搭建功能,是幫助企業(yè)開(kāi)啟數(shù)字化轉(zhuǎn)型的重要引擎!