低代碼開發(fā)簡史

低代碼開發(fā)可以說是最近技術(shù)圈的頂流,19年之前還沒有 低代碼 這個(gè)術(shù)語,但從19年到現(xiàn)在(2021年5月)的2年時(shí)間,低代碼的搜索指數(shù)增長了10倍,可見這個(gè)領(lǐng)域的受關(guān)注程度正在與日俱增。Medium上的這篇文章介紹了低代碼開發(fā)的歷史,副標(biāo)題是回到可視化編程的源頭,回顧歷史可以讓我們更好的把握未來發(fā)展的趨勢,看清那些在技術(shù)演進(jìn)過程中不變的東西。
原文鏈接:A Brief History Of Low-Code Development

以下為正文:

“低代碼”是一種可視化編程方法,允許企業(yè)不必通過編寫代碼而是通過圖形界面快速搭建應(yīng)用程序。

雖然“低代碼開發(fā)”這個(gè)術(shù)語是在2016年由一家市場研究機(jī)構(gòu)為了描述這一類服務(wù)提供商而創(chuàng)造的,但低代碼背后的想法并不新鮮。在這篇文章中,我們將看到這種模式是如何隨著時(shí)間的推移而發(fā)展的,以及它所面臨的問題。

目錄

  • 1970年代-1990年代:第四代編程語言(4GL,F(xiàn)ourth-Generation Programming Language)
  • 1990年代:快速應(yīng)用程序開發(fā)(RAD,Rapid Application Development)
  • 2001:模型驅(qū)動架構(gòu)(MDA,Model-Driven Architecture)
  • 2007:移動平臺(Mobile Platform)
  • 2016:低代碼與低代碼開發(fā)平臺
  • 2020:數(shù)字化轉(zhuǎn)型的迫切需要
  • 低代碼從歷史中學(xué)到了什么?

1970年代-1990年代:第四代編程語言(4GL,F(xiàn)ourth-Generation Programming Language)

低代碼開發(fā)平臺可以追溯到第四代編程語言——這個(gè)概念是在20世紀(jì)70年代到90年代發(fā)展起來的,與第三代編程語言(3GL)的大部分開發(fā)重疊。

  • 第三代編程語言:C, C++, Java, Python, PHP, Perl, C#, BASIC, Pascal, Fortran, ALGOL, COBOL
  • 第四代編程語言:ABAP, Unix Shell, SQL, PL/SQL, Oracle Reports, R

James Martin在他1982年出版的《Applications Development Without Programmers》中,認(rèn)為4GL技術(shù)(如RAMIS和FOCUS)向更廣泛的人群開放了開發(fā)環(huán)境,并使非程序員能夠自己創(chuàng)建應(yīng)用程序。

第四代編程語言指的是非過程的高級規(guī)范語言,包括支持?jǐn)?shù)據(jù)庫管理、報(bào)告生成、數(shù)學(xué)優(yōu)化、圖形用戶界面(GUI)開發(fā)和web開發(fā)。

1990年代:快速應(yīng)用程序開發(fā)(RAD,Rapid Application Development)

作為對瀑布模型的響應(yīng),當(dāng)使用Visual Basic、Delphi和Oracle Forms等可視化編程工具“組裝”桌面應(yīng)用程序的概念開始流行時(shí),我們看到快速應(yīng)用程序開發(fā)(RAD)在20世紀(jì)90年代獲得良好的發(fā)展勢頭。

瀑布模型是軟件開發(fā)行業(yè)長期使用的計(jì)劃驅(qū)動過程,它是在20世紀(jì)七八十年代發(fā)展起來的,基于傳統(tǒng)的工程模式:


瀑布模型

RAD工具作為易于學(xué)習(xí)的開發(fā)環(huán)境而表現(xiàn)突出,其核心理念是:最終用戶應(yīng)該首先關(guān)注GUI,并逐步添加業(yè)務(wù)邏輯。

UI和邏輯都可以存儲為組件面板中的組件。


James Martin定義的RAD開發(fā)階段

然而,RAD工具有其局限性:

  • 它們通常是私有的商業(yè)軟件,這意味著綁定在特定的開發(fā)環(huán)境中。目標(biāo)環(huán)境通常是指定的,例如VB/Delphi開發(fā)的程序通常只能在Microsoft Windows、Oracle應(yīng)用服務(wù)器和Oracle Forms數(shù)據(jù)庫的環(huán)境中運(yùn)行。
  • 因?yàn)槿狈δK化,團(tuán)隊(duì)在一個(gè)應(yīng)用程序上一起合作開發(fā)是比較困難的,或者說有很多限制條件。
  • RAD工具(如Visual Cafe和Borlands JBuilder)在速度和資源需求方面遇到了困難。它們是用Java寫的,這在當(dāng)時(shí)意味著對資源的巨大需求。

2001:模型驅(qū)動架構(gòu)(MDA,Model-Driven Architecture)

為了減少部門和開發(fā)之間的距離,對象管理組織(OMG,Object Management Group)在2001年推出了模型驅(qū)動架構(gòu)(MDA)。作為一種軟件設(shè)計(jì)方法,它提供了一組指導(dǎo)方針,用于將規(guī)范構(gòu)建和表示為模型。

模型支持域的整體視圖,綜合考慮技術(shù)和業(yè)務(wù)需求,隨后轉(zhuǎn)換為可執(zhí)行代碼。在開發(fā)和運(yùn)行時(shí)使用生成器和解釋器來生成或解釋模型中的代碼。

隨著MDA和微軟軟件工廠的出現(xiàn),模型驅(qū)動軟件開發(fā)(MDSD,Model-Driven Software Development)吸引了很多使用UML(統(tǒng)一建模語言,Unified Modeling Language)和BPMN(業(yè)務(wù)流程建模符號,Business Process Modeling Notation)等工具的程序員的興趣。

2007:移動平臺(Mobile Platform)

隨著蘋果在2007年發(fā)布iPhone iOS進(jìn)入移動設(shè)備市場,以及一年后谷歌的Android問世,各種移動平臺應(yīng)運(yùn)而生。

開發(fā)者積極使用Android Studio和Xcode等可視化編輯器在本地開發(fā)Android和iOS應(yīng)用。

這是桌面應(yīng)用程序在移動設(shè)備上的復(fù)興。

然而,響應(yīng)式網(wǎng)頁設(shè)計(jì)以及增強(qiáng)型Web應(yīng)用(PWA,Progressive Web APPs)等技術(shù)已經(jīng)威脅到了移動應(yīng)用,因?yàn)樗鼈兡軌驗(yàn)樾⌒驮O(shè)備提供具有良好用戶體驗(yàn)(UX)的網(wǎng)頁應(yīng)用,并且不需要依賴特定的移動開發(fā)平臺。

2016:低代碼與低代碼開發(fā)平臺

2016年,弗雷斯特集團(tuán)(Forrester Group)發(fā)表了一篇文章,此后“低代碼”(low-code)一詞成為顯學(xué)。

我們已經(jīng)看到了低代碼開發(fā)平臺(LCDP,Low-Code Development Platform)的出現(xiàn)——它的起源可以追溯到2011年——其目標(biāo)是將盡可能多的概念整合到一個(gè)平臺上,從而使編寫代碼變得不必要或至少顯著減少。

低代碼平臺包含RAD和MDSD過程,并將ALM(應(yīng)用程序生命周期管理,Application Life Cycle Management)以及持續(xù)集成(CI,Continuous Integration)或持續(xù)部署(CD,Continuous Deployment)集成到開發(fā)、測試和生產(chǎn)環(huán)境中。

為了支持整個(gè)環(huán)境的“拖放”創(chuàng)建,必須有PaaS(平臺即服務(wù),Platform as a Service)的支持。通常使用公有云服務(wù)提供的PaaS,但也可以使用企業(yè)內(nèi)部服務(wù)(如基于OpenShift的容器平臺)。


低代碼平臺的組件和架構(gòu)

aPaaS(應(yīng)用平臺即服務(wù),Application Platform as a Service)提供了應(yīng)用程序整個(gè)生命周期所需的一切:從一開始的規(guī)劃階段一直到開發(fā)、驗(yàn)收和運(yùn)維。

2020:數(shù)字化轉(zhuǎn)型的迫切需要

2020年,新冠疫情的大爆發(fā)暴露了許多企業(yè)在數(shù)字化方面已經(jīng)落后了。

為了保持他們的業(yè)務(wù)運(yùn)作并滿足他們的員工和客戶的需求,他們被迫升級他們的應(yīng)用程序,并構(gòu)建新的應(yīng)用程序來填補(bǔ)現(xiàn)有的流程空白。

因此,低代碼的普及程度得到了提升。這一勢頭將持續(xù)到2021年。

低代碼從歷史中學(xué)到了什么?

像幾十年前流行的4GL這樣的技術(shù),曾承諾能迅速滿足客戶的需求,但由于一些限制因素,最終失敗了,而且它們的流行程度自推出以來就不斷的在減弱。

進(jìn)入21世紀(jì),許多RAD開發(fā)環(huán)境已經(jīng)銷聲匿跡了。隨著為web編寫應(yīng)用程序成為趨勢,Swing和SWT等“經(jīng)典”UI工具包變得越來越?jīng)]有意義。

UI設(shè)計(jì)越來越多地使用HTML、CSS和JavaScript來完成,這為網(wǎng)頁設(shè)計(jì)師創(chuàng)造了越來越多的工作機(jī)會。不同的網(wǎng)頁瀏覽器、操作系統(tǒng)(如Linux、macOS)以及從PC到智能手機(jī)再到可穿戴設(shè)備的都被當(dāng)作目標(biāo)系統(tǒng)。

我們注意當(dāng)前的低代碼服務(wù)提供商大多數(shù)都學(xué)習(xí)過歷史。他們知道困擾4GL和RAD的問題,并試圖在他們的系統(tǒng)中修復(fù)這些問題。

隨著企業(yè)轉(zhuǎn)向人工智能、機(jī)器人、機(jī)器學(xué)習(xí)和物聯(lián)網(wǎng)等新技術(shù),低代碼解決方案也在不斷發(fā)展,以提供這些能力。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、什么是低代碼開發(fā)平臺? 低代碼開發(fā)平臺(LCDP)是無需編碼(0代碼)或通過少量代碼就可以快速生成應(yīng)用程序的開...
    Nodejs開發(fā)閱讀 629評論 0 0
  • 近幾年,企業(yè)面臨數(shù)字化轉(zhuǎn)型帶來的壓力,為了快速適應(yīng)行業(yè)變化和趕超競爭對手,在高級技術(shù)人才缺乏的情況下,低代碼開發(fā)獲...
    林間秋雨閱讀 446評論 0 1
  • 表情是什么,我認(rèn)為表情就是表現(xiàn)出來的情緒。表情可以傳達(dá)很多信息。高興了當(dāng)然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,701評論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險(xiǎn)厭惡者,不喜歡去冒險(xiǎn),但是人生放棄了冒險(xiǎn),也就放棄了無數(shù)的可能。 ...
    yichen大刀閱讀 7,884評論 0 4

友情鏈接更多精彩內(nèi)容