無碼編程:無代碼軟件開發(fā)大行其道
譯文圖1. Webflow用于構(gòu)建網(wǎng)站的無代碼平臺(tái)
【51CTO.com快譯】代碼是大多數(shù)軟件程序和應(yīng)用程序的骨干。每行代碼充當(dāng)一條指令:采用一種逐步性的邏輯機(jī)制,以便計(jì)算機(jī)、服務(wù)器和其他機(jī)器執(zhí)行操作。想創(chuàng)建那些指令,就要知道如何編寫代碼,這項(xiàng)寶貴的技能有時(shí)很吃香。
但如果你無需編寫一行代碼就能構(gòu)建軟件會(huì)怎樣?這就是無代碼開發(fā)背后的想法,這種軟件開發(fā)方法一直受到追捧。借助無代碼平臺(tái),無需編寫任何底層代碼即可開發(fā)軟件。
圖2. Webflow
構(gòu)建網(wǎng)站的無代碼平臺(tái)Webflow的聯(lián)合創(chuàng)始人兼首席執(zhí)行官Vlad Magdalin說:“無代碼讓不懂編寫代碼的人可以像軟件工程師那樣開發(fā)同樣的應(yīng)用程序。無需代碼就能實(shí)現(xiàn)過去用代碼實(shí)現(xiàn)的功能。”
也可以將無代碼開發(fā)視為一種可視化編程。用戶通過拖放式用戶界面處理代碼元素,而不是借助基于文本的開發(fā)環(huán)境。麻省理工學(xué)院媒體實(shí)驗(yàn)室的Scratch編程語言就是一種頗受歡迎的技術(shù),該語言使用圖形化編程塊教孩子和成人如何編程。
Visual Dev School的聯(lián)合創(chuàng)始人Lacey Kesler說:“它更像是使用擁有邏輯的構(gòu)建模塊。這種方法使人們無需學(xué)習(xí)如何編寫代碼即可為互聯(lián)網(wǎng)構(gòu)建軟件。”
無代碼編程是軟件開發(fā)領(lǐng)域自然發(fā)展的產(chǎn)物。起初是使用匯編語言的低級(jí)編程(程序員能使用的最接近機(jī)器代碼指令的語言),如今已演變成Java、Python、C、JavaScript及其他編程語言。這種演變需要添加抽象層,隱藏機(jī)器碼背后的復(fù)雜性,從而使軟件開發(fā)人員更容易編程。
盡管是技術(shù)進(jìn)步的產(chǎn)物,但無代碼開發(fā)不是新概念。90年代的計(jì)算機(jī)輔助軟件工程(CASE)工具其歷史比如今的無代碼平臺(tái)還早。但顧名思義,CASE工具只是旨在幫助軟件開發(fā)生命周期中的某些活動(dòng),而不是幫助實(shí)際的編程本身。仍然需要代碼知識(shí)的微軟Visual Basic和Adobe Dreamweaver被認(rèn)為是無代碼工具的早期版本。
圖3. 微軟的Visual Basic無代碼工具此處用來編寫虛擬代理
如今有實(shí)現(xiàn)無代碼開發(fā)的各種平臺(tái)。這包括微軟的Power Apps和Oracle的Visual Builder(用于創(chuàng)建移動(dòng)和Web應(yīng)用程序)、Oracle的Application Express(用于開發(fā)業(yè)務(wù)應(yīng)用程序)以及Salesforce的Lightning Platform(用于客戶關(guān)系管理應(yīng)用程序)。連谷歌也加入其中,最近收購了AppSheet,這是用于構(gòu)建移動(dòng)應(yīng)用程序的無代碼平臺(tái)。
這些工具以及用它們構(gòu)建的應(yīng)用程序在技術(shù)界越來越受歡迎。據(jù)Gartner的研究顯示,到2024年,低代碼應(yīng)用程序開發(fā)(也包括無代碼)將占應(yīng)用程序開發(fā)活動(dòng)的65%以上,四分之三的大企業(yè)至少使用四種低代碼開發(fā)工具。
那么,什么因素在促使無代碼編程迅猛發(fā)展?
Betty Blocks營銷副總裁Victor Kuppers說,“由于功能更強(qiáng)大的計(jì)算機(jī)、更易訪問的云計(jì)算服務(wù)和更好的編程語言,你可以開始構(gòu)建讓你可以構(gòu)建軟件的軟件。”Betty Blocks的產(chǎn)品讓用戶可以借助名為“塊”(block)的組件對(duì)應(yīng)用程序進(jìn)行無代碼匯編。
無代碼開發(fā)也是解決供需問題的方法:開發(fā)更多軟件的需求越來越高,但能構(gòu)建這種軟件的開發(fā)人員數(shù)量有限。Magdalin說:“市場顯然需要更多的人來構(gòu)建軟件,你用代碼構(gòu)建的東西又很寶貴。不過,編程是一項(xiàng)很難學(xué)的技能。無代碼工具大行其道,因?yàn)榕c獲得計(jì)算機(jī)學(xué)位或接受編程強(qiáng)化培訓(xùn)相比,它們學(xué)起來要容易得多。”
除了易于上手的這個(gè)優(yōu)點(diǎn)后,無代碼平臺(tái)還可以加快應(yīng)用程序開發(fā),因而為公司降低成本。它還杜絕了人們對(duì)產(chǎn)品的愿景與軟件工程師如何通過代碼將該愿景變?yōu)楝F(xiàn)實(shí)之間的任何問題。Kesler說:“軟件旨在滿足某個(gè)目的,解決某個(gè)問題。借助可視化開發(fā)工具,我們就能做到這一點(diǎn),無需將項(xiàng)目交給開發(fā)人員或自己學(xué)習(xí)如何編寫代碼。它使我們能夠解決自己的問題。”
但是無代碼相比代碼的最重要優(yōu)勢(shì)也許是讓軟件開發(fā)更容易。無代碼平臺(tái)Bubble的聯(lián)合創(chuàng)始人Emmanuel Straschnov說:“我們正進(jìn)入最了解業(yè)務(wù)情況的人或與客戶互動(dòng)最多的人將自行構(gòu)建產(chǎn)品這個(gè)時(shí)代。鑒于技術(shù)是我們生活的核心部分,更多的人應(yīng)該能夠構(gòu)建技術(shù)。無代碼開發(fā)讓每個(gè)人都能夠構(gòu)建軟件。”
不過,無代碼編程仍然不是一應(yīng)俱全的解決方案。它不會(huì)有一樣的精度,也不會(huì)有與代碼編程一樣廣泛的應(yīng)用前景。Straschnov說:“由于它的抽象水平更高,因此在某些方面會(huì)受到限制。你不會(huì)擁有與代碼編程一樣的靈活性。”
此外,無代碼平臺(tái)并非旨在取代軟件開發(fā)人員。Magdalin說:“我之前是名軟件工程師,所以過去也同樣擔(dān)心。就因?yàn)榫幊淌亲詣?dòng)化的,并不意味著全部技能消失了。實(shí)際上,現(xiàn)在編程技能可能更寶貴。每家公司都會(huì)有獨(dú)特的東西,無代碼解決方案解決不了。對(duì)于這種可視化工具不支持的例外情況,你仍需要開發(fā)人員。”
說到無代碼開發(fā)的未來,Straschnov認(rèn)為它已成了軟件生態(tài)系統(tǒng)的一個(gè)自然部分,更多的公司轉(zhuǎn)向無代碼平臺(tái),軟件工程師擴(kuò)展這些平臺(tái)以增強(qiáng)其功能。
Kesler說:“我希望無代碼的未來很美好,因?yàn)樗管浖_發(fā)大眾化。我知道如何編程,我過去專門使用Ruby on Rails,但認(rèn)識(shí)到這不是我樂于構(gòu)建的方式。一旦發(fā)現(xiàn)了可視化開發(fā),它便改變了我的一切。無代碼開發(fā)讓別人以他們覺得自然的方式構(gòu)建軟件。”
原文標(biāo)題:Programming Without Code: The Rise of No-Code Software Development,作者:Rina Diane Caballar
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】