天天看點

經過三年實踐後,創略怎麼看待低代碼變革?

經過三年實踐後,創略怎麼看待低代碼變革?

作者 | Tina

低代碼實踐過程中,最關鍵的是劃分出适合低代碼的功能子產品,以及業務抽象的能力。

2021 年,數字化轉型進一步推動了“低代碼”行業的爆發。

疫情之後掀起的數字化轉型熱潮中,類似 HR、财務、銷售等 SaaS 服務場景,有大量的重複性、流程性的操作,切切實實地成為了低代碼落地的土壤。這種細分的低代碼賽道也逐漸被資本市場所青睐,例如 Salesforce 旗下開發 CRM 系統的 Force.com,外界估值已經超過 200 億美元。

創略科技是一家資料技術與 AI 公司,緻力于差異化的為 B2C 企業提綱 AI 驅動的客戶資料技術解決方案,助力企業優化與客戶資料相關的場景,包括客戶洞察,個性化營銷,客戶生命周期價值管理和客戶體驗提升。創略于早些年就已經開始将低代碼應用到了自身的産品中。創略低代碼實踐到底效果如何?低代碼是否會帶來變革?...... 為了解答以上問題,InfoQ 采訪了創略科技研發副總監霍強(Danny)。

采訪嘉賓:

霍強(Danny),創略科技研發副總監。在創略科技負責 CDP 産品研發。先後在易傳媒 (阿裡媽媽) 負責移動端 DMP 和 DSP 研發,驢媽媽負責使用者資料中心建設和數字化營銷工具研發工作。

低代碼定義

InfoQ:您是如何定義低代碼的?低代碼與具有二十年曆史的圖形化開發是一回事兒嗎?

霍強:低代碼 (Low-Code) 的概念是在 2014 年被 Forrester Research 研究機構正式提出的,通常是指在 LCDP(Low-Code Development Platform) 之上,能夠通過可視化拖拽或編寫少量代碼的方法建立網頁和移動應用程式,可快速實作某一功能。

低代碼的強大之處在于,允許終端使用者使用易于了解的可視化形式,開發出自己的應用,比如能夠很友善的建構業務流程和資料模型等。

它的顯著特點是,更多人可以參與到應用開發上,而不再局限于技術人員。

圖形化開發,可以追溯到上世紀八十年代,當時美國就有一些公司和實驗室開始了可視化程式設計的研究,做出了 4GL(第四代程式設計語言),到後來衍生成 VPL(Visual Programming Language) 可視化程式設計語言。二者不是完全的等同,隻是 IT 技術發展中的不同階段。

InfoQ:為什麼市場上會又突然湧起無代碼開發的熱潮?低代碼開發主要分為哪幾類?

霍強:低代碼開發湧起熱潮,主要受以下因素的影響:

  1. 市場對于應用開發的需求,遠高于目前 IT 公司的産能;
  2. 如今流量紅利時代已經過去,為了尋求新的增長點,很多企業開始了數字化轉型之路,企業資訊化已成為一種新趨勢;
  3. 新技術的發展,為低代碼提供了技術支援;
  4. 低代碼市場蓬勃發展。Forrester 有報告顯示:低代碼開發平台的市場将從 2015 年的 17 億美金增長到 2020 年的 155 億美金,這一增長趨勢在逐漸擴大。

關于低代碼的分類:按應用的 B/S 結構來劃分,低代碼可以被劃分為前端低代碼和背景低代碼。

InfoQ:什麼樣的場景是适合低代碼的?它們有哪些共性的特征?

霍強:資料 ETL,資料開發,資料模組化,資料報表,資料庫開發、Entity to Database Mapping, UI Development 等場景比較适合低代碼開發。

适用低代碼的場景具有三個方面的共同特征:

  1. 邏輯結構相對簡單;
  2. 有規律可循,能夠進行功能抽象化;
  3. 具有可複用性,有大量的重複性、流程性的操作。

InfoQ:前端是最适合低代碼的場景嗎?前端實作無代碼是可能的嗎?

霍強:隻能說前端有部分工作是比較适合低代碼場景的,它主要包括一些靜态頁面,比如頁面布局、表單等一些結構簡單,且具有大量重複性結構的頁面,對于這些場景是非常适合低代碼開發的。

前端暫時是無法實作完全無代碼的。目前前端各種架構技術不斷成熟,随着前後端完全分離,在前端,主要關注前端頁面展示和前端業務邏輯的處理等方面。對于部分簡單的前端靜态頁面是完全可以實作無代碼的,如友善營運人員使用的活動頁的配置化生成、自動化搭建活動會場以及自動生成海報頁等場景,基本可以做到無代碼。但是對于前端所要處理的特定的業務流程需求、邏輯複雜的頁面等場景,目前還沒辦法做到以完全無代碼的形式來實作。

低代碼具體實踐

InfoQ:創略是什麼時候開始實踐低代碼的?當時是什麼樣的一個背景?未使用低代碼時,面臨什麼樣的痛點?

霍強:創略科技早在 2018 年就開始踐行低代碼。

在 2018 年前創略科技已為衆多企業客戶提供客戶資料中台(CDP)解決方案,在為企業搭建 CDP 的過程中,常常會面臨大量的業務系統對接,需要接入數量龐大的資料源,這就需要大量的 ETL 工程師介入。而對于資料報表、标簽等需求又需要相關的技術研發人員。而通常這些工作中,有超過一半的工作量是重複性的。

在這樣的背景下,我們開始探索并踐行低代碼。在不斷的發展中,創略科技的 CDP 産品已經可以在沒有 ETL 工程師角色的情況下,通過可視化的方式,對接各類型的業務資料,埋點資料等。接入到 CDP 中的資料,可以通過編寫少量的代碼(如 SQL)對資料進行分層、加工處理,能夠快速的對資料進行模組化,建構資料集市,以拖拉拽的方式建立報表和資料看闆等;能夠以可視化 +SQL 的方式進行資料标簽體系的建構、人群圈選以及人群畫像透視分析等。

在未使用低代碼之前,有大量重複性的工作需要 ETL 和開發工程師去完成,增加了大量的人力成本,傳遞周期更更長,對于客戶項目的後期維護成本更高,并且對新需求的響應速度也相對較慢。而在踐行低代碼之後,這些痛點大多得到了解決或改善。

InfoQ:您的公司是如何實作低代碼平台的開發引擎系統的(背景技術)?大概是什麼技術?

霍強:創略科技總結在 CDP 傳遞過程中的經驗,找出其中具有規律化和重複性的需求,再對其進行功能抽象。目前主要實作了 ETL 引擎、資料模組化引擎、标簽人群引擎、報表引擎和營銷引擎等:

ETL 引擎:可以實作可視化資料接入、資料加工處理、資料分層處理等;

資料模組化引擎:可以對接入 CDP 中的資料進行可視化次元模組化;

标簽人群引擎:基于 ETL 引擎處理過的資料,快速進行标簽化,且可以基于标簽進行人群圈選;

報表引擎:基于資料模組化引擎的資料建構動态報表;

營銷引擎:基于标簽人群引擎提供的人群資料進行自定義的活動建構,實作精細化營銷觸達;

使用到的技術有:Spark、ECharts、排程平台、Hive、流式計算架構、工作流引擎等。

InfoQ:低代碼實踐總共分為幾個階段?每個階段的關鍵節點、關鍵動作?

霍強:低代碼的實踐共分為八個階段:

1)需求調研階段,關鍵節點是了解産品的需求和目标,其關鍵動作是需求調研;

2)功能抽象階段,關鍵節點是找出滿足低代碼的子產品并進行抽象化,其關鍵動作是業務抽象化;

3)産品設計階段,關鍵節點是完成低代碼子產品産品設計,其關鍵動作是産品設計;

4)架構設計階段,關鍵節點是完成對應架構設計和技術選型,其關鍵動作是架構設計;

5)可行性驗證階段,關鍵節點是完成可行性驗證,其關鍵動作是可行性驗證;

6)開發實施階段,關鍵節點是完成功能開發,其關鍵動作是開發實施;

7)測試驗證階段,關鍵節點是完成測試和産品驗收,其關鍵動作是測試驗證;

8)應用實戰階段,關鍵節點是在實際項目中進行應用和疊代,其關鍵動作是應用實戰、疊代。

InfoQ:創略使用低代碼後有哪些受益點?效果如何?

霍強:在 CDP 項目傳遞過程中,極大程度上解放了 ETL 工程師的工作,使客戶多資料源接入 CDP 變得高效便捷,且縮短了資料接入環節的周期。

對于接入的資料,能更便捷的進行資料處理和分層,能夠基于可視化的界面,加上一定的 SQL 片段完成整個資料處理和上下遊任務依賴,能很好的進行可視化資料模組化及拖拉拽完成報表建構,并可視化組裝資料看闆;能夠以可視化的形式進行标簽體系建構、人群圈選、人群特征畫像透視等功能,在沒有資料開發工程師的情況下,也可以完成從資料接入,到資料模組化,再到資料可視化的整個分析鍊路的完整流程,也可以完成從資料接入,到标簽體系建構,到人群圈選和人群畫像,再到自動化營銷活動建構的整個精準營銷鍊路的實作。

總之,在産品後續項目的傳遞過程中,節約了人力成本并縮短了傳遞周期。

InfoQ:如何判斷哪些功能适合整合成低代碼平台上的一個子產品?子產品之間的邊界是怎麼定義的?

霍強:要判斷是否适合整合低代碼開發平台上的子產品,首先要确定是否具有邏輯結構相對簡單、有大量重複性的操作、可複用性高、有規可循、能夠進行業務抽象等特點。如果滿足以上要素,則可能比較适合整合到低代碼平台中的一個子產品。

子產品之間可以按照抽象層次劃分和按照功能劃分,頂層抽象一般作為公共層,可供下層引用。而下層可按照不同的業務來劃分邊界。

InfoQ:根據您的經驗,低代碼平台實踐過程中最關鍵的是什麼?什麼樣的低代碼平台才是完美的平台,達到這個程度您認為要花什麼樣的力氣?

霍強:低代碼實踐過程中,最關鍵的是劃分出适合低代碼的功能子產品,以及業務抽象的能力。

“低代碼平台完美”本身就是一個悖論,低代碼平台其實是一種軟體開發方式,它适用于邏輯簡單、可複用性高的應用場景,通過低代碼平台能夠在一定程度上降低軟體開發門檻,提升開發效率。首先需要對低代碼平台有個清晰的定位,明确低代碼平台的邊界範圍。比如前端靜态頁生成的低代碼平台、資料庫開發的低代碼平台、代碼生成的低代碼平台、資料模組化的低代碼開發平台、報表生成的低代碼開發平台等。它們都是針對于某一具體的功場景或者是某幾個功能場景的組合,這個平台也可以融合以上的多個功能子產品。

要實作這樣一個平台,我們要足夠的了解各子產品的業務需求和功能邊界,并且能夠對其進行高度抽象化,對于研發出來的低代碼平台還需要不斷的實踐驗證,在此過程中進行循環往複的疊代和完善。

InfoQ:低代碼平台的普及對于前端開發者意味着什麼?對于整個前端領域的發展會帶來什麼?

霍強:低代碼平台的普及,意味着開發工程師可以從大量簡單重複性的前端頁面開發工作中解放出來,把更多的精力放到前端業務代碼的編寫中去。

低代碼平台的普及可以降低前端開發的門檻和效率。可以有更多的人參與到前端的開發過程中,利用低代碼開發平台就能搭建一套高效的标準化、流程化的前端産品。面對部分多變的前端功能,可以通過前端低代碼開發平台,任意組合建構更多樣化的頁面,并能實作所見既所得的效果。不用再經曆傳統的從界面設計到前端開發,再到測試釋出等一系列複雜的流程。

InfoQ:有人說:“低代碼會掀起新革命”,您是怎麼看的?

霍強:從 2014 年低代碼開發平台初次提出至今,我們看到已有越來越多的夥伴加入到低代碼平台的陣營中,有傳統的軟體大佬,也有新誕生的後起之秀,低代碼開發平台正在被越來越多的人所了解和接受。

低代碼開發平台的出現,是一種軟體開發方式的變革,也是軟體行業發展長河中的一個新的階段,就像 3GL(第三代程式設計語言)、4GL(第四代程式設計語言)、VPL(Visual Programming Language)。每一新階段的誕生,都是經曆了長久發展過程的積澱和沖突演化,前一階段的出現為後一階段的誕生奠定了基礎,新階段的出現可以在一定時間内緩解前一階段的沖突。這個發展和沖突演化的過程從某種意義上講,它本身就是一種革命。