vivo瀏覽器的快速開發平臺實踐-總覽篇

一、什麼是快速開發平臺

快速開發平臺,顧名思義就是可以使得開發更為快速的開發平臺,是提高團隊開發效率的生產力工具。近一兩年,國內很多公司越來越註重研發效能的度量和提升,基於軟件開發的特點,覆蓋管理和優化、團隊工程實踐、個人工程實踐、優化流程四大方面。本文所講的快速開發平臺可以大幅縮短需求周期,給研發效能帶來瞭開發快、上線快、風險低、成本低、門檻低的優點。

用制造業來做個對比,被譽為“工業之母”的模具可以大幅提升生產效率,而快速開發平臺也可以做到在1分鐘內完成需求的開發、上線;另外3D打印機給制造業生產帶來瞭重要改變,快速開發平臺也能換一種方式,用可視化拖拉拽完成需求開發。所有行業都在追求著化繁為簡,快速迭代的能力。所以低代碼大火的時候,大傢都覺得這個概念近些年也見過,根因就是企業和技術人員都一直在追求更高的生產效率。

二、我們在做的事兒

目前行業內的快速開發產品大多都是為瞭解決企業級應用場景,vivo瀏覽器作為公司互聯網核心產品,在敏捷開發的節奏下,需求千餘運營後臺的管控能力,另外又要求高性能、高並發、高可用以及需求的快速響應。所以我們在日常的工作中很頻繁的接到一些任務:迭代版本要完成大量後臺開發;緊急需求需要半小時內完成後臺的開發上線;線上後臺需要快速增加一項新功能。

在此背景下,為瞭支撐業務快速迭代,推出應用於配置和運營後臺的快速開發產品。總體來說,我們不斷升級我們的架構,就是圍繞以下幾點來實現快速開發:

  • 支持後臺快速設計開發,以及內容快速投放能力;
  • 支持菜單、用戶等多維度權限控制;
  • 支持自定義數據流程;
  • 支持開發者二次開發和快速上線的能力。

三、產品架構兩步走

產品架構的演進都是服務於業務,跟隨著業務發展和技術潮流不斷發展變化的。起初我們就是從運營後臺開發開始的,到現在持續為公司業務提供高效率、高標準、快速響應的開發解決方案。下面就正式開始介紹產品和架構。

3.1 一階段(配置平臺)

2017年底,隨著內核版本升級,為瞭應對新內核的雲控要求,配置平臺應運而生,並發展成為內核的十大特色能力之一,並持續為瀏覽器等數十個業務提供服務,在一年內踏入百億請求服務俱樂部。

3.1.1 平臺簡介

相較json-editor之類快速生成頁面的產品,最大的不同就是平臺化、服務化。基於統一的平臺提供瞭表單設計器及數據存儲的解決方案,支持20多種組件類型、上百種組件屬性;並且提供通用後臺接口;並在操作鏈路中預置瞭錨點,讓開發者能方便的去做一些定制化需求的開發。

所以平臺化給產品帶來瞭更快速的集成和升級能力,使得可以不斷豐富表單組件,讓用戶快速享受到強大的表單DIY及雲端控制能力。服務化則帶來瞭高性能的配置投放能力,通過各端SDK的通道,完成整個配置生產、投放、消費的生命周期。下面將從配置生成引擎和無代碼高性能服務來分別介紹一下。

3.1.2 系統架構

3.1.3 表單設計器和渲染引擎

表單設計器是抽象後臺表單,對組件進行歸納、設計、定義,提供一套可視化的操作來進行後臺組件的增添設計的工具。後臺生成引擎是我們快速完成後臺的開發的利器,基於此可以1分鐘完成一個後臺的開發、上線。

我們將後臺抽象為佈局,字段、操作三塊,基於組件+流程這樣的模型進行無限的拓展,支撐復雜多變的業務需求。下面先簡單列舉下的:

1)在主體佈局上設計出運營後臺的通用模板,在此之上進行配置開發,更加迅速,更加標準化。

  • 主要佈局包括全局操作、條件查詢區、運營規則、表格區、配置操作區。
  • 全局操作是對針對表單的操作行為,如發佈、添加、批量修改、導入、導出等;配置操作是對一條配置的查看詳情、編輯、刪除、預覽、審核等操作。

2)後臺定義可以幫助完成諸如表單名稱、權限控制、數據模型定義、門戶集成、後臺表單操作等一系列後臺設計功能。將數據結構拆分為基礎組件和用於編排的復合組件。

  • 基礎表單字段主要有文本、數值、選擇、圖片、文件、時間、標簽等組件,並對對應的組件有屬性上的配置增強,如文本長度校驗、正則校驗、圖片大小校驗、是否列表隱藏,是否可導出等;
  • 復合組件主要有支持樹狀數據結構配置的子表單組件,還可以對多個基礎組件進行組合,以及多個組合組件的列表等等;

3)流程操作這塊主要打造瞭運營後臺的編輯、刪除、發佈、預覽、審核的數據流程。

3.1.4 無代碼平臺服務

如果說後臺低代碼是我們實現快速開發的第一步,那融合低代碼能力具備智能投放和雲端控制的平臺服務,則是從工具轉換為平臺的核心因素。

3.1.4.1 智能投放

智能投放是一種數據實時編排,動態計算的API技術,加上我們客戶端和服務端SDK的通道建設,是快速實現需求的無代碼解決方案。它可以給平臺開發帶來這樣的能力:

數據的編排和玩法花樣很多,這裡就不再過多贅述。

3.1.4.2 雲端控制

雲端控制是實現線上智慧運營的解決方案,目前支持但不限於地區、運營商、人群畫像、人群灰度、客戶端版本號、安卓版本等等各種自定義控制元素來管控下發。

3.1.4.3 智能推送

通過結合自身的控制及配置能力和系統推送能力,來給運營提供這樣一種從後臺出發更實時的觸達解決方案。

3.2 二階段(低代碼平臺)

2021年,行業低代碼之風襲來,我們意識到一些局限性,也期望朝著產品化和更廣泛的管理後臺更進一步,於是重新出發。

3.2.1 平臺簡介

後羿是符合低代碼平臺的定義的一款產品,提供瞭可視化編排能力的開發語言。相較於一階段的配置平臺,設計瞭首頁門戶、運營平臺、開發者平臺、技術文檔平臺,提供瞭二次開發和生態建設能力,支持各種數據通道開發方式,大幅提升瞭產品力。最終都是為瞭完成技術平臺到技術產品的轉變和將低代碼開發變得更加簡單易懂、更加快速開發。

3.2.1 系統架構圖

91bc4a0419243ea392da3ba5f4630e88

3.2.3 系統說明

3.2.3.1 開發者平臺&運營平臺子系統

開發者平臺是整個平臺的核心產品,開發者也是平臺的核心用戶,我們為提供開發者提供瞭一站式的項目、模塊、菜單、頁面制作的能力。

  • 用戶可以在開發者平臺創建項目。完成創建後,就會自動生成一個後臺門戶;隨後創建目錄和菜單,即可進入編輯平臺,就可以體驗到快速可視化開發的能力。另外還可以通過預置的各種強大的模板來快速的完成開發。

3.2.3.2 通用存儲子系統

通用存儲則是給運營數據提供瞭個一套標準化的存儲方案,支持用戶靈活使用自有倉、在岸外部倉等各類數據源。

  • 不同於低代碼目前純粹的表單驅動、模型驅動;在所見所得的可視化開發後,可以智能生成對應的數據模型;
  • 系統有一系列通用的運營後臺操作接口,去完成對應的操作行為;也提供一些通用的數據處理流程,並利用二次開發來增強業務。

3.2.3.3 開放平臺子系統

開放平臺則是我們平臺和外部數據連接的一個紐帶,它是一個數據雙向同步的通道,提供瞭實時接收、異步批量等同步方式,配合有鑒權、頻限等一些安全措施。另外該系統也是我們去適配對接第三方服務的窗口。

3.2.3.4 投放平臺子系統

投放平臺則是實現配置靈活下發的投放渠道,保留瞭配置平臺成熟的下發能力和SDK集成能力,也會更多地去集成一些如內容庫、廣告這些業務能力,來豐富我們投放的業務屬性。

3.2.4 產品展示

1)門戶、運營、文檔平臺展示

  • 門戶:展示平臺的介紹、能力,也同步集成瞭後羿其他的產品。
  • 運營平臺:匯聚接入系統,模塊、菜單、tab,為各運營團隊提供最簡化的操作。
  • 文檔平臺:維護後羿的操作文檔、設計文檔、部署手冊等等。

d248b78d72e29e1bf4d3b262a7a8a765

2)編輯平臺展示

提供瞭所見即所得的可視化開發的能力,也提供瞭眾多模板方便快捷開發。

四、寫在最後

在完成瞭上述兩個階段的能力建設之後,我們具備瞭運營後臺的快速開發能力,可以快速完成後臺的開發上線,極大限度的提升研發效能。與此同時我們也面臨著配置語言是否標準,可視化操作是否易用,開發者是否容易上手,更復雜的後臺需求是否可以達成,快速開發帶來的對現有產品開發流程的沖擊等等問題和挑戰。盡管如此我們也必將在產品設計上保持簡單、好用、邊界的產品特性,始終堅持快速開發的理念。

後續也將在此系列繼續更新通用接口、數據處理、存儲方案,生態建設和二次開發能力、高性能API實戰、災備能力建設等等文章,敬請期待。

发表回复

相关推荐

建行大山白免年费了,确定不来一张?

建行大山白权益优秀,今年权益升级有3晚优惠酒店,自带1晚+消费达标送2晚,其余还有运动权益、接送机、代驾等优秀权益。

· 51秒前

2023年大屏幕手機推薦,尺寸6.8寸以上手機推薦

如今都2023年瞭,不會還有人喜歡小屏幕手機吧。反正我不喜歡,除瞭辦公實用手機外,其餘時間我都是用手機娛樂的,畢竟人不能...

· 3分钟前

湖南省自然资源厅直属事业单位2023年公开招聘公告

湖南省第一测绘院、湖南省国土资源规划院系湖南省自然资源厅直属事业单位。

· 5分钟前

傢庭飼養面包蟲方法

面包蟲飼養優勢:占地非常少, 碳排放非常少來源: http://whyfiles.org/wp-content/uploads/2013/08/1greenhouse_g

· 6分钟前

法的要素

概念:要素是组成一个整体而相互作用的部分。

· 9分钟前