02 抖音海外服務器圖靈(低代碼究竟是什么?)

时间:2024-06-01 08:18:03 编辑: 来源:

通用編程語言,不引入代碼根本沒法實現靈活的定制與擴展(當然,理論上也可以做成Scrach/Blockly那樣的圖形編程語言,但那樣不過是換一種形式在手寫代碼而已)。

• 另一方面,由于目標受眾是非專業開發人員,平臺能支持的操作會更趨于“傻瓜化”(e.g. 頁面只支持大塊業務組件的簡單堆疊,不支持細粒度原子組件和靈活的CSS布局定義),同時也只會透出相對“親民化”的模型和概念(e.g. 使用“表格”表示數據,而不是用“數據庫”),無法支撐強大專業的底層開發原語和編程理念。

請點擊輸入圖片描述

雖然零代碼與狹義上的低代碼有著上述明顯差異,但從廣義上來說,零代碼可以當作低代碼的一個子集。Gartner在其相關調研報告中,就是將“No Code”劃在了范圍更廣的低代碼應用平臺“LCAP”(Low-Code Application Platform)中。而當前市面上很多通用的低代碼開發平臺,也都兼具一定程度的零代碼能力;比如低代碼領域領頭羊Mendix,既提供了簡單易用的零代碼Web IDE - Mendix Studio,也包括一個功能更強大的低代碼桌面IDE - Mendix Studio Pro。

HpaPaaS(高生產力應用PaaS)

上文提到,“Low-Code”一詞是拜Forrester所賜。作為同樣是國際知名調研機構(a.k.a 造詞小能手)的Gartner,顯然不會輕易在這場可能決定低代碼領域江湖地位的新概念作詞大賽中認輸,于是也于2017年發明了“HpaPaaS”(High-proctivity application Platform as a Service)這個聽上去更高大上的縮寫詞。

按照Gartner的定義,HpaPaaS是一種支持聲明式、模型驅動設計和一鍵部署的平臺,提供了云上的快速應用開發(RAD)、部署和運行特性;這顯然與低代碼的定義如出一轍。但事實證明,名字起得太專業并不見得是好事,“HpaPaas”最終還是敗給了起源更早、更接地氣也更順口的“Low-Code”:從2019年開始,Gartner在其相關調研報告中也開始全面采用“Low-Code”一詞(如LCAP),親手為“HpaPaaS”打上了 @deprecated 印記。

請點擊輸入圖片描述

圖源:What’s the difference between SaaS / IaaS / PaaS / aPaaS / HpaPaaS?

值得補充的是,“HpaPaaS“這個詞也并非橫空出世,而是傳承自更早之前Gartner提出的“aPaaS”,它倆之間的關系是:HpaPaaS只是aPaaS的一個子類;除了HpaPaaS這種通過低代碼實現的高生產力應用開發平臺以外,aPaaS還包括面向純代碼的傳統應用開發平臺(High-買粉絲ntrol aPaaS,即可控度更高的純代碼開發方式)。

不值得但就想八卦一下的是,“aPaaS”這個詞也非憑空捏造,而是與云計算的興起淵源頗深。相信各位云道中人都已猜到,aPaaS與IaaS/PaaS/SaaS這些云計算遠古概念是一脈相承的:aPaaS介于PaaS和SaaS之間,相比PaaS提供的服務更偏應用,但又不像SaaS一樣提供現成的軟件服務(更詳細的說明可參考配圖來源文章)。

四、為什么需要低代碼

低代碼是什么可能并沒那么重要,畢竟在這個信息爆炸的世界,永遠不缺少新奇而又短命的事物。大部分所謂的新技術都只是曇花一現:出現了,被看到了;大部分人“哦”了一聲,已閱但表示不感興趣;小部分人驚嘆于它的奇思妙想,激動地點了個贊后,回過頭來該用什么還是什么。真正決定新技術是否能轉化為新生產力的,永遠不是技術本身有多么優秀和華麗,而是它是否真的被需要,即:為什么需要低代碼?如果用不同的主語填充上面這個問句(冷知識:這叫做“延遲主語初始化”),可以更全面地看待這個問題:

為什么「市場」需要低代碼?

在這個大爺大媽都滿嘴“互聯網+”和“數字化轉型”的時代,企業越來越需要通過應用(App)來改善企業內部的信息流轉、強化與客戶之間的觸點連接。然而,誕生還不太久的IT信息時代,也正面臨著與我國社會主義初級階段類似的供需關系矛盾:落后的軟件開發生產力跟不上人民日益增長的業務需求。

請點擊輸入圖片描述

Gartner預測,到2021年應用開發需求的市場增長將至少超過企業IT交付能力的5倍。面對如此巨大的IT缺口,如果沒有一種革命性的“新生產力”體系,很難想象僅憑現有傳統技術體系的發展延續就能徹底解決問題。而低代碼技術正是帶著這樣的使命而降臨,期望通過以下幾個方面徹底革新應用開發生產力,拯救差一點就要邁入水深火熱的IT世界:

提效降本 & 質量保障

雖然軟件行業一直在高速發展,新的語言、框架和工具層出不窮,但作為從業者我們不得不承認:軟件開發仍處于手工作坊階段,效率低、人力成本高、質量不可控。項目延期交付已成為行業常態,而瓶頸幾乎總是開發人員(對機器能解決的問題都不是問題);優秀的開發人才永遠是稀缺資源,還賊貴;軟件質量缺陷始終無法收斂,線上故障頻發資損不斷。

相比而言,傳統制造業經過幾百年工業革命的發展,大部分早已擺脫了對“人”的強依賴:從原料輸入到制品輸出,中間是各種精密儀器和自動化流水線的穩定支撐,真正實現生產的標準化和規模化。雖然信息化號稱是人類的第三次工業革命,但以軟件行業目前的狀況,遠遠還沒到達成熟的“工業化”階段。

所以,親愛的程序員朋友,當你與前端聯調了一上午接口,又與產品撕逼了一下午需求,再與自己的bug抗爭了一整晚,好不容易遁入夢鄉又被一連串報警短信吵醒時,是否有抬頭對著星空憧憬過:“I have a dream... that one day,軟件開發也能像工業制品一樣,批量流水化生產,穩定高效沒煩惱。” 事到如今,不管你有沒有意識到,這個憧憬正在慢慢變成現實。

請點擊輸入圖片描述

是的,低代碼正在將應用軟件開發過程工業化:每個低代碼開發平臺都是一個技術密集型的應用工廠,所有項目相關人員都在同一條產線內緊密協作。開發主力不再是熟知for循環一百種寫法的技術Geek,而是一群心懷想法業務sense十足的應用Maker。借助應用工廠中各種成熟的基礎設施、現成的標準零件、自動化的裝配流水線,開發者只需要專注于最核心的業務價值即可。即便是碰到非標需求,也可以隨時自己動手,用最靈活的手工定制(代碼)方式來解決各種邊角問題。

擴大應用開發勞動力

通過讓大部分開發工作可以僅通過簡單的拖拽與配置完成,低代碼(包括零代碼)顯著降低了使用者門檻,讓企業能夠充分利用前面所提到的平民開發者資源。部分純零代碼需求場景下,低代碼還能讓業務人員實現自助式(self-service)應用交付,既解決了傳統IT交付模式下的任務堆積(backlog)問題,避免稀缺的專業開發資源被大量簡單、重復性的應用開發需求所侵占,也能讓業務人員真正按自己的想法去實現應用,擺脫交由他人開發時不可避免的桎梏。

請點擊輸入圖片描述

至此,應用開發能力不再是少數專業開發者的專利和特權,且今后所需要的技能門檻與擁有成本也會越來越低,真正實現所謂的“技術民主化”(democratization of technology)。

加強開發過程的溝通協作

多方調查結果顯示,軟件項目失敗的最主要原因之一就是缺乏溝通(poor 買粉絲munication)。傳統開發模式下,業務、產品、設計、開發、測試與運維人員各司其職,且各有一套領域內的工具和語言,長久以來很容易形成一個個“豎井”(silos),讓跨職能的溝通變得困難而低效。這也是為什么當前熱門的敏捷開發和DevOps都在強調溝通(前者是協同Biz與Dev,而后者是協同Dev和Ops),而經典的DDD領域驅動設計也主張通過“統一語言”來減少業務與技術人員之間的溝通不一致。

請點擊輸入圖片描述

有了低代碼后,這一狀況將得到根本改善:上述各角色都可以在同一個低代碼開發平臺上緊密協作(甚至可以是同一個人),這種全新的協作模式不僅打破了職能豎井,還能通過統一的可視化語言和單一的應用表示(頁面/數據/邏輯),輕松對齊項目各方對應用形態和項目進度的理解,實現更終極的敏捷開發模式,以及在傳統DevOps基礎之上更進一步的BizDevOps[2]。

統一開發平臺下的聚合效應

低代碼嘗試將所有與應用開發相關活動都收斂到同一個平臺(one platform)上后,將會產生更多方面的聚合效應與規模收益:

• 人員聚合:除了上一點所提到的各職能角色緊密協作以外,人員聚合到統一的低代碼開發平臺進行作業后,還能促進整個項目流程的標準化、規范化和統一化。

• 應用聚合:一方面,新應用的架構設計、資產復用、相互調用變得更容易;另一方面,各應用的數據都天然互通,同時平臺外數據也能通過集成能力進行打通,徹底消除企業的數據孤島問題。

• 生態聚合:當低代碼開發平臺聚合了足夠多的開發者和應用后,將形成一個巨大的、連接一切、有無限想象力的生態體系,徹底放飛低代碼的價值。

搜索关键词: