自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從前端智能化看“低代碼/無代碼”

開發(fā)
行業(yè)里流行觀點,低代碼是更加易用的搭建系統(tǒng),無代碼是圖形化和可視化編程。這種觀點把低代碼和無代碼開發(fā)分別置于 UI 和邏輯兩個環(huán)節(jié),以工具屬性定義搭建和可視化編程要解決的問題。另一種觀點則是把低代碼/無代碼看作一個方法的兩個階段。

  [[397828]]

一 概念

1 什么是低代碼/無代碼開發(fā)?業(yè)界對于低代碼/無代碼開發(fā)是否存在其他不同的理解?

行業(yè)里流行觀點,低代碼是更加易用的搭建系統(tǒng),無代碼是圖形化和可視化編程。這種觀點把低代碼和無代碼開發(fā)分別置于 UI 和邏輯兩個環(huán)節(jié),以工具屬性定義搭建和可視化編程要解決的問題。另一種觀點則是把低代碼/無代碼看作一個方法的兩個階段,就像對自動駕駛的 L0 ~ L5 共 6 個不同階段一樣,把我之前在《人機協(xié)同的編程方式》[1] 一文提出的人機協(xié)同編程的概念,劃分為低代碼/無代碼兩個階段。較之第一種我更加認(rèn)同第二種觀點,不僅因為是我提出的,更因為第二種觀點是以軟件工程的統(tǒng)一視角定義、分析和解決問題,而第一種觀點只是局部和過程的優(yōu)化而非顛覆性創(chuàng)新。

今天“人機協(xié)同的編程方式”把軟件工程從拼裝 UI 和編寫業(yè)務(wù)邏輯里解放出來,逐步向業(yè)務(wù)能力、基礎(chǔ)能力、底層能力等高技術(shù)含量工作過渡。更多內(nèi)容參考《前端智能化:思維轉(zhuǎn)變之路》[2]。

2 低代碼開發(fā)和無代碼開發(fā)之間的區(qū)別是什么?

接著上述所答,既然低代碼和無代碼屬于“人機協(xié)同編程”的兩個階段,低代碼就是階段一、無代碼則是階段二,分別對應(yīng)“人機協(xié)作”和“人機協(xié)同”。協(xié)作和協(xié)同最大的區(qū)別就是:心有靈犀。不論低代碼還是無代碼,均有服務(wù)的對象:用戶。不論用戶是程序員還是非編程人員,均有統(tǒng)一目標(biāo):生成代碼。不論源碼開發(fā)、低代碼還是無代碼,都是在用不同的方式描述程序,有代碼、圖形、DSL……等。“人機協(xié)作”的階段,這些描述有各種限制、約束,應(yīng)用的業(yè)務(wù)場景亦狹窄。“人機協(xié)同”的階段,則限制、約束減少,應(yīng)用的業(yè)務(wù)場景亦寬廣。“心有靈犀”就是指:通過 AI 對描述進行學(xué)習(xí)和理解,從而減少限制和約束,適應(yīng)更多業(yè)務(wù)場景。因此,傳統(tǒng)低代碼/無代碼和“人機協(xié)同編程”生成代碼相比,最大的不同就是有心和無心,機器有心而平臺無心。

二 背景

1 低代碼/無代碼開發(fā)與軟件工程領(lǐng)域的一些經(jīng)典思想、方法和技術(shù),例如軟件復(fù)用與構(gòu)件組裝、軟件產(chǎn)品線、DSL(領(lǐng)域特定語言)、可視化快速開發(fā)工具、可定制工作流,以及此前業(yè)界流行的中臺等概念,之間是什么關(guān)系?

從庫、框架、腳手架開始,軟件工程就踏上了追求效率的道路。在這個道路之上,低代碼、無代碼的開發(fā)方式算是宏愿。復(fù)用、組件化和模塊化、DSL、可視化、流程編排……都是在達成宏愿過程中的嘗試,要么在不同環(huán)節(jié)、要么以不同方式,但都還在軟件工程領(lǐng)域內(nèi)思考。中臺概念更多是在業(yè)務(wù)視角下提出的,軟件工程和技術(shù)領(lǐng)域內(nèi)類似的概念更多是叫:平臺。不論中臺還是平臺,就不僅是在過程中的嘗試,而是整體和系統(tǒng)的創(chuàng)新嘗試。我提出前端智能化的“人機協(xié)同編程”應(yīng)該同屬于軟件工程和技術(shù)領(lǐng)域,在類似中臺的業(yè)務(wù)領(lǐng)域我提出“需求暨生產(chǎn)”的全新業(yè)務(wù)研發(fā)模式,則屬于業(yè)務(wù)領(lǐng)域。這些概念之間無非:左右、上下、新舊關(guān)系而已。

2 此外,低代碼/無代碼開發(fā)與DevOps、云計算與云原生架構(gòu)之間又是什么樣的關(guān)系?

DevOps、云計算……都屬于基礎(chǔ)技術(shù),基礎(chǔ)技術(shù)的變化勢必帶來上層應(yīng)用層技術(shù)變化。沒有云計算的容器化、彈性縮擴容,做分布式系統(tǒng)是很困難的,尤其在 CI/CD、部署、運維、監(jiān)控、調(diào)優(yōu)……等環(huán)節(jié)更甚,什么南北分布、異地多活、平行擴展、高可用……都需要去關(guān)注。但是,云計算和DevOps等基礎(chǔ)技術(shù)的發(fā)展,內(nèi)化并自動化解決了上述問題,大大降低了關(guān)注和使用成本,這就是心有靈犀,在這樣的基礎(chǔ)技術(shù)之上構(gòu)建應(yīng)用層技術(shù),限制少、約束小還能適應(yīng)各種復(fù)雜場景。

三 思想方法

1 支撐低代碼/無代碼開發(fā)的核心技術(shù)是什么?

我認(rèn)為低代碼/無代碼開發(fā)的核心技術(shù),過去是“復(fù)用”,今天是 AI 驅(qū)動的“人機協(xié)同編程”。過去的低代碼/無代碼開發(fā)多圍繞著提升研發(fā)效能入手,今天 AI 驅(qū)動的“人機協(xié)同編程”則是圍繞著提升交付效率入手。因此,低代碼/無代碼開發(fā)以“人機協(xié)同編程”為主要實現(xiàn)手段的話,AI 是其核心技術(shù)。

2 低代碼/無代碼開發(fā)的火熱是軟件開發(fā)技術(shù)上的重要變革和突破,還是經(jīng)典軟件工程思想、方法和技術(shù)隨著技術(shù)和業(yè)務(wù)積累的不斷發(fā)展而煥發(fā)出的新生機?

計算機最初只在少數(shù)人掌握,如今,幾乎人人手持一臺微型計算機:智慧手機。當(dāng)初為程序員和所謂“技術(shù)人員”的專利,而今,幾乎人人都會操作和使用計算機。然而,人們對計算機的操作是間接的,需要有專業(yè)的人士和企業(yè)提前編寫軟件,人們通過軟件使用計算機的各種功能。隨著計算機算力和功能的不斷發(fā)展,隨著社會的數(shù)字化和信息化,今天的人們越來越難以被提前定制好的軟件所滿足。低代碼/無代碼開發(fā)則賦予人們創(chuàng)造軟件的能力,進而幫助人們低成本、即時、高效的直接生產(chǎn)符合自己需求的軟件,進而操作眾多復(fù)雜的電子設(shè)備和數(shù)字世界建立聯(lián)結(jié)。我認(rèn)為,這是不可逆的趨勢,也是低代碼/無代碼開發(fā)的大方向。

四 現(xiàn)狀進展

1 低代碼/無代碼開發(fā)已經(jīng)發(fā)展到什么程度?

imgcook

2w 多用戶、6w 多模塊、 0 前端參與研發(fā)的雙十一等大促營銷活動、70% 阿里前端在使用79.26% 無人工參與的線上代碼可用率、90.9% 的還原度、Icon 識別準(zhǔn)確率 83%、組件識別 85%、布局還原度 92.1%、布局人工修改概率 75%研發(fā)效率提升 68%

uicook

營銷活動和大促場景 ui 智能生成比例超過 90%日常頻道導(dǎo)購業(yè)務(wù) ui 智能生成覆蓋核心業(yè)務(wù)純 ui 智能化和個性化帶來的業(yè)務(wù)價值提升超過 8%

bizcook

初步完成基于 NLP 的需求標(biāo)注和理解系統(tǒng)初步完成基于 NLP 的服務(wù)注冊和理解系統(tǒng)初步完成基于 NLP 的膠水層業(yè)務(wù)邏輯代碼生成能力

reviewcook

針對資損防控自動化掃描、CV 和 AI 自動化識別資損風(fēng)險和輿情問題和測試同學(xué)共建的 UI 自動化測試、數(shù)據(jù)渲染和 Mock 驅(qū)動的業(yè)務(wù)自動化驗證和工程團隊共建的 AI Codereview 基于對代碼的分析和理解,結(jié)合線上 Runtime 的識別和分析,自動化發(fā)現(xiàn)問題、定位問題,提升 Codereview 的效率和質(zhì)量

datacook

社區(qū)化運營開源項目,合并 Denfo.js 同其作者共同設(shè)立 Datacook 項目,全鏈路、端到端解決 AI 領(lǐng)域數(shù)據(jù)采集、存儲、處理問題,尤其在海量數(shù)據(jù)、數(shù)據(jù)集組織、數(shù)據(jù)質(zhì)量評估等深度學(xué)習(xí)和機器學(xué)習(xí)領(lǐng)域的能力比肩 HDF5、Pandas……等 Python 專業(yè) LIbraryGoogle Tensorflow.js 團隊合作開發(fā)維護 TFData library ,作為 Datacook 的核心技術(shù)和基礎(chǔ),共同構(gòu)建數(shù)據(jù)集生態(tài)和數(shù)據(jù)集易用性

pipcook

開源了 pipcook[3] 純前端機器學(xué)習(xí)框架利用 Boa 打通 Python 技術(shù)生態(tài),原生支持 import Python 流行的包和庫,原生支持 Python 的數(shù)據(jù)類型和數(shù)據(jù)結(jié)構(gòu),方便跨語言共享數(shù)據(jù)和調(diào)用 API利用 Pipcook Cloud 打通流行的云計算平臺,幫助前端智能化實現(xiàn) CDML,形成數(shù)據(jù)和算法工程閉環(huán),幫助開發(fā)者打造工業(yè)級可用的服務(wù)和在線、離線算法能力

2 有哪些成熟的低代碼/無代碼開發(fā)平臺?

3 低代碼/無代碼開發(fā)能夠在多大程度上改變當(dāng)前的軟件開發(fā)方式?

隨著計算機算力和功能的不斷發(fā)展,隨著社會的數(shù)字化和信息化,今天的人們越來越難以被提前定制好的軟件所滿足。低代碼/無代碼開發(fā)則賦予人們創(chuàng)造軟件的能力,進而幫助人們低成本、即時、高效的直接生產(chǎn)符合自己需求的軟件,進而操作眾多復(fù)雜的電子設(shè)備和數(shù)字世界建立聯(lián)結(jié)。我認(rèn)為,這是不可逆的趨勢,也是低代碼/無代碼開發(fā)的大方向。最終,軟件開發(fā)勢必從專業(yè)程序員手里轉(zhuǎn)向普羅大眾,成為今天操作計算機一樣的基本生存技能之一。因此,軟件開發(fā)方式將帶來本質(zhì)變化,從完整的交付轉(zhuǎn)向局部交付、從業(yè)務(wù)整體交付轉(zhuǎn)向業(yè)務(wù)能力交付……

五 展望未來

1 低代碼/無代碼開發(fā)未來發(fā)展的方向是什么?

要我說,低代碼/無代碼開發(fā)未來發(fā)展的方向一定是:AI 驅(qū)動的“人機協(xié)同編程”,將完整開發(fā)一個軟件變成提供局部的軟件功能,類似 Apple 的“捷徑”一樣,由用戶決定這些局部軟件功能如何組裝成適合用戶的軟件并交付最終用戶。AI 驅(qū)動提供兩個方面的價值:

降低開發(fā)成本

以往開發(fā)軟件的時候,要有 PRD、交互稿、設(shè)計稿、設(shè)計文檔……等一系列需求規(guī)格說明,然后,根據(jù)這些需求規(guī)格利用技術(shù)和工程手段進行實現(xiàn)。然而,低代碼/無代碼開發(fā)交付的是局部功能和半成品,會被無法枚舉的目的和環(huán)境所使用,既然無法枚舉,就不能用 Swith……Case 的方式編寫代碼,否則會累死。

AI 的特點就是基于特征和環(huán)境進行預(yù)測,預(yù)測的基礎(chǔ)是對模式和本質(zhì)的理解。就像 AI 識別一只貓,不管這個貓在什么環(huán)境、什么光照條件下,也不管這只貓是什么品種,AI 都能夠以超過人類的準(zhǔn)確度識別。試想,作為一個程序員用程序判斷一只貓的開發(fā)成本何其高?

降低使用成本

今天的搭建體系,本質(zhì)上是把編程過程用搭建的思想重構(gòu)了一遍,工作的內(nèi)容并沒有發(fā)生變化,成本從程序員轉(zhuǎn)嫁到運營、產(chǎn)品、設(shè)計師的身上。這還是其次,今天的搭建平臺都是技術(shù)視角出發(fā),充斥著運營、產(chǎn)品、設(shè)計等非技術(shù)人員一臉懵逼的概念,花在答疑解惑和教他們?nèi)绾卧陧撁嫔隙ㄖ埔粋€搜索框的時間,比自己和他們溝通后源碼實現(xiàn)的時間還要長,而且經(jīng)常在擼代碼的時候被打斷……

基于 AI 的“人機協(xié)同編程”不需要透出任何技術(shù)概念,運營、產(chǎn)品、設(shè)計……等非技術(shù)人員也不改變其工作習(xí)慣,都用自己熟悉的工具和自己熟悉的概念描述自己的需求,AI 負(fù)責(zé)對這些需求進行識別和理解,再轉(zhuǎn)換成編程和技術(shù)工程領(lǐng)域的概念,進而生成代碼并交付,從而大幅度降低使用成本。

舉個例子:如果你英文寫作能力不好,你拿著朗道詞典一邊翻譯一邊拼湊單詞寫出來的英文文章質(zhì)量高呢?還是用中文把文章寫好,再使用 Google 翻譯整篇轉(zhuǎn)換成英文的文章質(zhì)量高?你自己試試就知道了。究其原因,你在自己熟悉的語言和概念領(lǐng)域內(nèi),才能夠把自己的意思表達清楚。

2 圍繞低代碼/無代碼開發(fā)存在哪些技術(shù)難題需要學(xué)術(shù)界和工業(yè)界共同探索?

最初在 D2 上提出并分享“前端智能化”這個概念的時候,我就提出:識別、理解、表達 這個核心過程。我始終認(rèn)為,達成 AI 驅(qū)動的“人機協(xié)同編程”關(guān)鍵路徑就是:識別、理解、表達。因此,圍繞 AI 識別、 AI 理解、 AI 表達我們和國內(nèi)外知名大學(xué)展開了廣泛的合作。

識別

需求的識別:通過 NLP 、知識圖譜、圖神經(jīng)網(wǎng)絡(luò)、結(jié)構(gòu)化機器學(xué)習(xí)……等 AI 技術(shù),識別用戶需求、產(chǎn)品需求、設(shè)計需求、運營需求、營銷需求、研發(fā)需求、工程需求……等,識別出其中的概念和概念之間的關(guān)系設(shè)計稿的識別:通過 CV、GAN、對象識別、語義分割……等 AI 技術(shù),識別設(shè)計稿中的元素、元素之間的關(guān)系、設(shè)計語言、設(shè)計系統(tǒng)、設(shè)計意圖UI 的識別:通過用戶用腳投票的結(jié)果進行回歸,后驗的分析識別出 UI 對用戶行為的影響程度、影響效果、影響頻率、影響時間……等,并識別出 UI 的可變性和這些用戶行為影響之間的關(guān)系計算機程序的識別:通過對代碼、AST ……等 Raw Data 分析,借助 NLP 技術(shù)識別計算機程序中,語言的表達能力、語言的結(jié)構(gòu)、語言中的邏輯、語言和外部系統(tǒng)通過 API 的交互等日志和數(shù)據(jù)的識別:通過對日志和數(shù)據(jù)進行 NLP、回歸、統(tǒng)計分析等方式,識別出程序的可用性、性能、易用性等指標(biāo)情況,并識別出影響這些指標(biāo)的日志和數(shù)據(jù)出自哪里,找出其間的關(guān)系

理解

橫向跨領(lǐng)域的理解:對識別出的概念進行降維,從而在底層更抽象的維度上找出不同領(lǐng)域之間概念的映射關(guān)系,從而實現(xiàn)用不同領(lǐng)域的概念進行類比,進而在某領(lǐng)域內(nèi)理解其它領(lǐng)域的概念縱向跨層次的理解:利用機器學(xué)習(xí)和深度學(xué)習(xí)的 AI 算法能力,放寬不同層次間概念的組成關(guān)系,對低層次概念實現(xiàn)跨層次的理解,進而形成更加豐富的技術(shù)、業(yè)務(wù)能力供給和使用機會常識、通識的理解:以常識、通識構(gòu)建的知識圖譜為基礎(chǔ),將 AI 所面對的開放性問題領(lǐng)域化,將領(lǐng)域內(nèi)的常識和通識當(dāng)做理解的基礎(chǔ),不是臆測和猜想,而是實實在在構(gòu)建在理論基礎(chǔ)上的理解

表達

個性化:借助大數(shù)據(jù)和算法實現(xiàn)用戶和軟件功能間的匹配,利用 AI 的生成能力降低千人前面的研發(fā)成本,從而真正實現(xiàn)個性化的軟件服務(wù)能力,把軟件即服務(wù)推向極致共情:利用端智能在用戶側(cè)部署算法模型,既可以解決用戶隱私保護的問題,又可以對用戶不斷變化的情緒、訴求、場景及時學(xué)習(xí)并及時做出響應(yīng),從而讓軟件從程序功能的角度急用戶之所急、想用戶之所想,與用戶共情、讓用戶共鳴。舉個例子:我用 iPhone 在進入地鐵站的時候,因為現(xiàn)在要檢查健康碼,每次進入地鐵站 iOS 都會給我推薦支付寶快捷方式,我不用自己去尋找支付寶打開展示健康碼,這就讓我感覺 iOS 很智能、很貼心,這就是共情。

六 后記

從提出前端智能化這個概念到現(xiàn)在已歷三年,最初,保持著“讓前端跟上 AI 發(fā)展的浪潮”的初心上路,到“解決一線研發(fā)問題”發(fā)布[4],再到“給前端靠譜的機器學(xué)習(xí)框架”開源[3] ,這一路走來,幾乎日日夜不能寐。真正想從本質(zhì)上顛覆現(xiàn)在的編程模式和研發(fā)模式談何容易?這個過程中,我們從一群純前端變成前端和 AI 的跨界程序員,開發(fā)方式從寫代碼到機器生成,周圍的人從作壁上觀到積極參與,正所謂:念念不忘,必有回響。低代碼/無代碼開發(fā)方興未艾,廣大技術(shù)、科研人員在這個方向上厲兵秣馬,沒有哪個方法是 Silverbullet ,也沒有哪個理論是絕對正確的,只要找到你心中所愛,堅持研究和實踐,終會讓所有人都能夠自定義軟件來操作日益復(fù)雜和強大的硬件設(shè)備,終能讓所有人更加便捷、直接、有效的接入數(shù)字世界,終于在本質(zhì)上將軟件開發(fā)和軟件工程領(lǐng)域重新定義!共勉!

 

責(zé)任編輯:梁菲 來源: 阿里云云棲號
相關(guān)推薦

2023-04-27 11:12:17

代碼

2021-11-30 13:54:30

CIO低代碼無代碼

2021-08-17 15:36:44

人工智能AI

2022-01-19 09:00:51

UI前端手機開發(fā)

2024-07-23 09:50:52

2021-08-18 06:43:04

低代碼無代碼開發(fā)

2023-08-29 15:14:32

2022-08-10 10:32:47

編程實踐

2021-10-21 06:52:18

低代碼無代碼開發(fā)

2022-05-24 12:42:24

物聯(lián)網(wǎng)

2019-10-17 21:08:12

低代碼無代碼開發(fā)

2020-09-11 10:40:50

低代碼無代碼開發(fā)

2023-05-19 21:59:21

低代碼

2022-08-28 21:41:19

低代碼/無代碼

2022-02-14 09:12:00

無代碼低代碼開發(fā)工具

2023-11-13 22:33:47

低代碼無代碼

2022-11-01 09:02:04

前端售后業(yè)務(wù)

2022-09-22 15:16:12

低代碼開發(fā)工具

2022-02-18 13:54:56

安全開發(fā)漏洞

2022-04-15 06:19:30

低代碼無代碼代碼安全
點贊
收藏

51CTO技術(shù)棧公眾號