最近許多技術(shù)峰會(huì)都出現(xiàn)了低代碼這個(gè)名詞,可以說,低代碼是中臺(tái)之后,又一個(gè)熱門話題和名詞了。
一、什么是低代碼平臺(tái)?
低代碼平臺(tái)是無需編碼或通過少量代碼就可以快速生成應(yīng)用程序的開發(fā)平臺(tái)。也是一款圖形化、拖拉拽方式快速實(shí)現(xiàn)企業(yè)數(shù)字化轉(zhuǎn)型中的創(chuàng)新應(yīng)用、支持用少量代碼擴(kuò)展實(shí)現(xiàn)個(gè)性化需求的數(shù)字技術(shù)工具平臺(tái)。
- 可視化:低代碼平臺(tái)提供可視化的開發(fā)界面,使用戶可以快速搭建應(yīng)用程序。
- 拖拉拽:用戶可以通過拖拉拽的方式來構(gòu)建應(yīng)用程序,無需編寫大量的代碼。
- 自定義:用戶可以通過低代碼平臺(tái)來自定義應(yīng)用程序,以滿足個(gè)性化的需求。
- 模塊化:低代碼平臺(tái)采用模塊化的設(shè)計(jì),使得用戶可以根據(jù)需求來定制應(yīng)用程序。
- 高效性:低代碼平臺(tái)可以快速構(gòu)建應(yīng)用程序,并且可以在短時(shí)間內(nèi)完成開發(fā)。
- 安全性:低代碼平臺(tái)采用安全的技術(shù)來保護(hù)用戶的數(shù)據(jù),確保用戶的數(shù)據(jù)安全。
低代碼平臺(tái)的基本原理是利用自動(dòng)代碼生成和可視化編程技術(shù),通過少量代碼,快速搭建出所需的應(yīng)用程序。低代碼平臺(tái)主要有兩種技術(shù)路線:
- 自動(dòng)代碼生成:平臺(tái)提供自動(dòng)代碼生成工具,根據(jù)用戶需求自動(dòng)生成應(yīng)用程序的代碼。
- 可視化編程:用戶可以使用可視化編程工具,通過拖拽組件的方式來搭建應(yīng)用程序。
低代碼平臺(tái)的核心要素包括代碼生成器、可視化編程工具和開發(fā)人員工具等。開發(fā)人員可以使用這些工具快速生成應(yīng)用程序,而無需編寫大量代碼。低代碼平臺(tái)可以大大提高開發(fā)效率,降低開發(fā)成本,滿足了很多開發(fā)人員和業(yè)務(wù)人員的需求。
二、低代碼平臺(tái)分類
第一類是業(yè)務(wù)人員型,這種類型的平臺(tái)通常是由幾個(gè)SaaS拼起來的,主要服務(wù)于業(yè)務(wù)人員使用的場景,如BI、工作流、表單、在線表格等。這些平臺(tái)通常具有權(quán)限和人員管理等功能,方便業(yè)務(wù)人員直接使用,如明道、簡道、宜搭等。
第二類是非代碼生成型,這種平臺(tái)需要研發(fā)人員在指定框架內(nèi)進(jìn)行開發(fā),無法生成單獨(dú)應(yīng)用代碼并獨(dú)立部署。這種平臺(tái)可以幫助研發(fā)人員快速開發(fā)應(yīng)用,如Zoho、Power Platform、活字格、輕流等。
第三類是代碼生成型,這種平臺(tái)同樣需要研發(fā)人員,但是可以生成代碼或多種框架代碼,并可以獨(dú)立將單個(gè)應(yīng)用導(dǎo)出并部署到其他平臺(tái)或服務(wù)器上。這種平臺(tái)能夠更好地滿足開發(fā)人員的需求,如Mendix、iVX、輕舟、靈犀、odoo、無遠(yuǎn)、牛刀等。
總之,低代碼/無代碼平臺(tái)可以根據(jù)不同的應(yīng)用場景和需求進(jìn)行分類,用戶可以根據(jù)自己的實(shí)際情況進(jìn)行選擇。
三、低代碼的邏輯表達(dá)
邏輯是一個(gè)非常古老的話題,很難看到有什么新的東西,特別是新的表達(dá)方式。在分析iVX產(chǎn)品的時(shí)候,發(fā)現(xiàn)了一種全新的可視化的“邏輯表達(dá)范式(或者說新方法)”
理論上包括了“順序執(zhí)行”、“分支(也就是if)”、“循環(huán)(也就是for)”就可以構(gòu)成“圖靈完備”的邏輯表達(dá)。除了程序的表達(dá)方式以外,原本只有兩種模式:一種是“流程圖”模式;另一種是“Scratch”的“積木模式”。
而IVX提出了一種新的圖形化邏輯表達(dá)方式“面板模式”,也就是iVX IDE表達(dá)邏輯的方式。
3.1、原子組件(保證語言的完備性)
構(gòu)造通用的應(yīng)用需要一些什么組件,解決這個(gè)問題就意味著需要對(duì)現(xiàn)有的所有應(yīng)用和可能的應(yīng)用場景進(jìn)行拆分和抽象。對(duì)于一個(gè)應(yīng)用抽象或許還可以,但是把抽象出來組件反過來可以構(gòu)建各種應(yīng)用,這又是另外一回事兒了。這就類似于一個(gè)NP問題(https://en.wikipedia.org/wiki/P_versus_NP_problem),也許永遠(yuǎn)沒有一個(gè)最優(yōu)解,但是通過不斷的努力和嘗試,iVX已經(jīng)基本上可以構(gòu)建任何應(yīng)用了。
組件的抽象非常漫長,而且抽象的層次也非常關(guān)鍵,什么是基礎(chǔ)組件,什么是基礎(chǔ)組件之上抽象的擴(kuò)展組件(這種組件更加實(shí)用,往往可以馬上表達(dá)某一功能),可能在之上還有模型和模塊的概念,在之上才是模板和模板復(fù)用。
之后,所有的組件都是對(duì)象化的封裝(包括事件本身),都有“三位一體”的表達(dá),這就是“對(duì)象屬性”“觸發(fā)條件”“對(duì)象函數(shù)”。
比較難的是后臺(tái)部分,前端還有一些庫的方法可以參考,后臺(tái)抽象難度會(huì)更大一些。
3.2、事件面板(邏輯編排能力)
所有的程序開發(fā),拋開了界面和數(shù)據(jù),剩下的就是邏輯,邏輯成應(yīng)用的靈魂,也是最難0代碼表達(dá)的。
iVX創(chuàng)造了基于的“條件觸發(fā)式”的非代碼邏輯方式,以及為這個(gè)方式專門提供了一個(gè)事件編輯面板,支持前端、中臺(tái)、后臺(tái)的邏輯編輯。
同時(shí)iVX支持MySQL的所有操作邏輯。
3.3、形成完備的中間語言(支持AST抽象語法樹)
總體來說,iVX是從WebApp開始研究和演進(jìn)的,更多的使用了Web前后端流行技術(shù)。
iVX前端是使用React,生成的前端代碼也是React的Core。中臺(tái)采用Node.js,直接解析JS代碼。后臺(tái)和云端基礎(chǔ)設(shè)施相連,采用了Go來架構(gòu),效率更高更穩(wěn)定。
中間語言,指的是通過前端拖拽組件和配置完事件之后,生成的中間代碼,類似描述性語言。這個(gè)語言必須我們自己構(gòu)造,類似需要積累一個(gè)字典一樣,后續(xù)通過這個(gè)“字典”,將一個(gè)一個(gè)應(yīng)用編輯成一篇“文章”。
這個(gè)過程比較麻煩,細(xì)節(jié)很多,這里不再展開。
通過對(duì)比發(fā)現(xiàn),“面板模式”開發(fā)效率更高,點(diǎn)擊和操作次數(shù)雖少,開發(fā)效率是“Scratch積木模式”5~10倍;而且由于“面板模式”可以向下垂直擴(kuò)展,沒有設(shè)計(jì)上的限制,加上更容易表達(dá)“循環(huán)”和“分支”等復(fù)雜邏輯,因此比“流程圖”模式更容易操作和控制。
四、低代碼平臺(tái)自身的開放性
為了加強(qiáng)iVX自身的開放性,代碼程序員可以在以下部分加入自己的代碼:
自定義組件 iVX支持自定義前端組件,如果程序員覺得現(xiàn)有的幾百個(gè)組件不能滿足需求,完全可以根據(jù)iVX提供的文檔(一個(gè)map格式),自定義自己的前端組件,并集成到iVX的組件窗口中。
自定義函數(shù) 在iVX中,有一個(gè)組件叫自定義函數(shù),可以方便寫Javascript代碼,前端和后臺(tái)都可以寫。用于處理數(shù)據(jù)等各種操作。
貼JSON代碼(通用變量)
寫SQL語法(DBO) 在iVX中,對(duì)mysql、ES(全文搜索)、nosql(表格數(shù)據(jù)庫 AWS DynamoDB)支持是最好的,可以通過AST(抽象語法樹)直接生成數(shù)據(jù)庫支持的各種語法程序。
而對(duì)于,Oracle、SQLServer這些數(shù)據(jù)庫,iVX提供專門一個(gè)DBO組件進(jìn)行控制和管理(DBO層則需要用戶自行寫SQL語法)。未來爭取將Oracle和SQLServer等常見數(shù)據(jù)庫,也整合到AST中,這樣就可以不用寫SQL語法了,操作會(huì)更簡單。
最后我想說明一點(diǎn),其實(shí)現(xiàn)在非常多的低代碼平臺(tái)都沒有搞清楚和“代碼”的關(guān)系,iVX在這方面作為明確的定義:iVX和代碼的關(guān)系是“充分非必要”! 也就是說“不用代碼啥都可以實(shí)現(xiàn),所有的代碼都可以用進(jìn)來”,而且iVX生出來的代碼,可以被別的代碼直接使用。這就是低代碼平臺(tái)和代碼應(yīng)該有的“關(guān)系和定位”。
業(yè)內(nèi),能夠做到這一點(diǎn)的應(yīng)該也只有iVX了。
官網(wǎng)免費(fèi)體驗(yàn):https://www.ivx.cn/
本期書籍推薦
書名:《Unity手機(jī)游戲開發(fā):從搭建到發(fā)布上線全流程實(shí)戰(zhàn)》
直購鏈接:https://item.jd.com/13557443.html
【內(nèi)容簡介】
游戲大廠資深主程結(jié)合9年游戲開發(fā)經(jīng)驗(yàn)和3年高校實(shí)際教學(xué)經(jīng)驗(yàn),鉆研上百款手游案例,總結(jié)了自身從初學(xué)者成長為技術(shù)總監(jiān)的成長之路,為Unity初學(xué)者傾心打造一條全流程實(shí)踐路線,幫助初學(xué)者開發(fā)并上線符合標(biāo)準(zhǔn)的開放世界類手游。附贈(zèng)8節(jié)教學(xué)視頻和3GB多案例工程源文件。本書將以一款開放世界類游戲的實(shí)踐過程為主線,為讀者呈現(xiàn)從零開始上線一款游戲的實(shí)踐路線、游戲引擎Unity的開發(fā)模式,以及游戲開發(fā)的核心框架。
【大綱簡介】
本書共分為3篇,第1篇是場景搭建篇,第2篇是腳本開發(fā)篇,第3篇是發(fā)布上線篇。第1篇包含第1章和第2章,主要介紹在Unity中如何創(chuàng)建一個(gè)游戲項(xiàng)目,如何搭建一款游戲的場景和界面。第2篇包含第3章到第5章,主要介紹一款游戲的核心模塊,即游戲控制、角色動(dòng)畫和核心玩法,同時(shí)實(shí)踐一款游戲《小豬奇奇》的完整開發(fā)流程。第3篇包含第6章到第8章,主要介紹游戲的移動(dòng)端發(fā)布流程,同時(shí)對(duì)游戲進(jìn)行測試與完善,最終把書中的游戲案例打造成一款符合上線標(biāo)準(zhǔn)的游戲。
【作者簡介】
王杰,9年游戲開發(fā)經(jīng)驗(yàn),曾任職藍(lán)港游戲主程、樂視VR技術(shù)總監(jiān),2018年至今任職北京米唐科技有限公司CEO,目前一直專注于游戲開發(fā)和VR相關(guān)領(lǐng)域,平時(shí)在北京信息科技大學(xué)、北京信息職業(yè)技術(shù)學(xué)院、北京建筑大學(xué)等高校教授Unity相關(guān)課程。
【活動(dòng)介紹】文章來源:http://www.zghlxwxcb.cn/news/detail-419037.html
評(píng)論區(qū)評(píng)論任意評(píng)論如:【低代碼平臺(tái)yyds!】
抽取一名同學(xué)送《Unity手機(jī)游戲開發(fā):從搭建到發(fā)布上線全流程實(shí)戰(zhàn)》實(shí)體書籍一本,包郵到家!文章來源地址http://www.zghlxwxcb.cn/news/detail-419037.html
到了這里,關(guān)于低代碼產(chǎn)品如何分類,大部分人都沒有搞清楚的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!