快速開發平臺,顧名思義就是可以使得開發更為快速的開發平臺,是提高團隊開發效率的生產力工具。近一兩年,國內很多公司越來越註重研發效能的度量和提升,基於軟件開發的特點,覆蓋管理和優化、團隊工程實踐、個人工程實踐、優化流程四大方面。本文所講的快速開發平臺可以大幅縮短需求周期,給研發效能帶來瞭開發快、上線快、風險低、成本低、門檻低的優點。
用制造業來做個對比,被譽為“工業之母”的模具可以大幅提升生產效率,而快速開發平臺也可以做到在1分鐘內完成需求的開發、上線;另外3D打印機給制造業生產帶來瞭重要改變,快速開發平臺也能換一種方式,用可視化拖拉拽完成需求開發。所有行業都在追求著化繁為簡,快速迭代的能力。所以低代碼大火的時候,大傢都覺得這個概念近些年也見過,根因就是企業和技術人員都一直在追求更高的生產效率。
目前行業內的快速開發產品大多都是為瞭解決企業級應用場景,vivo瀏覽器作為公司互聯網核心產品,在敏捷開發的節奏下,需求千餘運營後臺的管控能力,另外又要求高性能、高並發、高可用以及需求的快速響應。所以我們在日常的工作中很頻繁的接到一些任務:迭代版本要完成大量後臺開發;緊急需求需要半小時內完成後臺的開發上線;線上後臺需要快速增加一項新功能。
在此背景下,為瞭支撐業務快速迭代,推出應用於配置和運營後臺的快速開發產品。總體來說,我們不斷升級我們的架構,就是圍繞以下幾點來實現快速開發:
產品架構的演進都是服務於業務,跟隨著業務發展和技術潮流不斷發展變化的。起初我們就是從運營後臺開發開始的,到現在持續為公司業務提供高效率、高標準、快速響應的開發解決方案。下面就正式開始介紹產品和架構。
2017年底,隨著內核版本升級,為瞭應對新內核的雲控要求,配置平臺應運而生,並發展成為內核的十大特色能力之一,並持續為瀏覽器等數十個業務提供服務,在一年內踏入百億請求服務俱樂部。
相較json-editor之類快速生成頁面的產品,最大的不同就是平臺化、服務化。基於統一的平臺提供瞭表單設計器及數據存儲的解決方案,支持20多種組件類型、上百種組件屬性;並且提供通用後臺接口;並在操作鏈路中預置瞭錨點,讓開發者能方便的去做一些定制化需求的開發。
所以平臺化給產品帶來瞭更快速的集成和升級能力,使得可以不斷豐富表單組件,讓用戶快速享受到強大的表單DIY及雲端控制能力。服務化則帶來瞭高性能的配置投放能力,通過各端SDK的通道,完成整個配置生產、投放、消費的生命周期。下面將從配置生成引擎和無代碼高性能服務來分別介紹一下。
表單設計器是抽象後臺表單,對組件進行歸納、設計、定義,提供一套可視化的操作來進行後臺組件的增添設計的工具。後臺生成引擎是我們快速完成後臺的開發的利器,基於此可以1分鐘完成一個後臺的開發、上線。
我們將後臺抽象為佈局,字段、操作三塊,基於組件+流程這樣的模型進行無限的拓展,支撐復雜多變的業務需求。下面先簡單列舉下的:
1)在主體佈局上設計出運營後臺的通用模板,在此之上進行配置開發,更加迅速,更加標準化。
2)後臺定義可以幫助完成諸如表單名稱、權限控制、數據模型定義、門戶集成、後臺表單操作等一系列後臺設計功能。將數據結構拆分為基礎組件和用於編排的復合組件。
3)流程操作這塊主要打造瞭運營後臺的編輯、刪除、發佈、預覽、審核的數據流程。
如果說後臺低代碼是我們實現快速開發的第一步,那融合低代碼能力具備智能投放和雲端控制的平臺服務,則是從工具轉換為平臺的核心因素。
智能投放是一種數據實時編排,動態計算的API技術,加上我們客戶端和服務端SDK的通道建設,是快速實現需求的無代碼解決方案。它可以給平臺開發帶來這樣的能力:
數據的編排和玩法花樣很多,這裡就不再過多贅述。
雲端控制是實現線上智慧運營的解決方案,目前支持但不限於地區、運營商、人群畫像、人群灰度、客戶端版本號、安卓版本等等各種自定義控制元素來管控下發。
通過結合自身的控制及配置能力和系統推送能力,來給運營提供這樣一種從後臺出發更實時的觸達解決方案。
2021年,行業低代碼之風襲來,我們意識到一些局限性,也期望朝著產品化和更廣泛的管理後臺更進一步,於是重新出發。
後羿是符合低代碼平臺的定義的一款產品,提供瞭可視化編排能力的開發語言。相較於一階段的配置平臺,設計瞭首頁門戶、運營平臺、開發者平臺、技術文檔平臺,提供瞭二次開發和生態建設能力,支持各種數據通道開發方式,大幅提升瞭產品力。最終都是為瞭完成技術平臺到技術產品的轉變和將低代碼開發變得更加簡單易懂、更加快速開發。
91bc4a0419243ea392da3ba5f4630e88
開發者平臺是整個平臺的核心產品,開發者也是平臺的核心用戶,我們為提供開發者提供瞭一站式的項目、模塊、菜單、頁面制作的能力。
通用存儲則是給運營數據提供瞭個一套標準化的存儲方案,支持用戶靈活使用自有倉、在岸外部倉等各類數據源。
開放平臺則是我們平臺和外部數據連接的一個紐帶,它是一個數據雙向同步的通道,提供瞭實時接收、異步批量等同步方式,配合有鑒權、頻限等一些安全措施。另外該系統也是我們去適配對接第三方服務的窗口。
投放平臺則是實現配置靈活下發的投放渠道,保留瞭配置平臺成熟的下發能力和SDK集成能力,也會更多地去集成一些如內容庫、廣告這些業務能力,來豐富我們投放的業務屬性。
1)門戶、運營、文檔平臺展示
d248b78d72e29e1bf4d3b262a7a8a765
2)編輯平臺展示
提供瞭所見即所得的可視化開發的能力,也提供瞭眾多模板方便快捷開發。
在完成瞭上述兩個階段的能力建設之後,我們具備瞭運營後臺的快速開發能力,可以快速完成後臺的開發上線,極大限度的提升研發效能。與此同時我們也面臨著配置語言是否標準,可視化操作是否易用,開發者是否容易上手,更復雜的後臺需求是否可以達成,快速開發帶來的對現有產品開發流程的沖擊等等問題和挑戰。盡管如此我們也必將在產品設計上保持簡單、好用、邊界的產品特性,始終堅持快速開發的理念。
後續也將在此系列繼續更新通用接口、數據處理、存儲方案,生態建設和二次開發能力、高性能API實戰、災備能力建設等等文章,敬請期待。
下一篇