58房產(58房產審核要多久時間)

首頁 > 房產 > 樓市要聞 > 正文

58房產(58房產審核要多久時間)

1

導讀

魯班全棧式低代碼開發平臺(以下簡稱魯班)是58房產自研的全棧式低代碼開發平臺,我們的目標是:人人都可以成為全棧開發工程師。讓后端人員可以干一些簡單的前端工作,讓前端人員可以干一些簡單的后端工作。2023年4月初上線,截止目前已經擁有300+的用戶,開發了40+的應用,并上線了270+模型、900+頁面、1600+的接口。

58房產(58房產審核要多久時間)

圖1:魯班目前的使用情況(這個圖表也是用魯班開發)

2

背景

2.1 傳統開發模式的不足

場景1: 我是一個后端開發工程師,日常工作是后端系統開發,主要精力更關注于高并發、大數據、高性能的架構設計、服務優化等。但是偶爾也會有需求要做一兩個前端頁面,為產品或者運維提供后端的數據查詢、報表展示、配置操作等。比如房產這邊做真房源項目中,產品上線一個新的治理策略之前,希望能夠先通過一個搜索頁面把一些房源搜索出來,手動處理一部分看看效果。這種情況下在后端基礎能力已經存在的情況下,就需要前端支持開發這個頁面,需要跨部門協作、PMO排期、開發測試上線。如果按照傳統開發模式,走需求評審,排期,開發,測試,交付周期會很長,且資源緊張情況下,還存在被更高優需求替代的現象。

場景2: 我是一個前端開發工程師/IOS/安卓開發工程師,日常工作是主要前端頁面與樣式的開發和功能實現。但是偶爾也會有一些小的需求,需要做數據庫的增刪改查操作,需要將這些操作封裝成接口供前端調用。比如房產做的58房產門戶網站內部系統,前端同學就需要自己設計數據庫存儲各網站的url地址、分類關系等,并需要提供增刪改查等操作。前端同學對于數據庫的設計、調用、接口封裝等并不熟悉,需要后端同學支持。

隨著軟件開發規模的增加和復雜度的提升,將軟件開發人員劃分為不同的角色,如前端開發、后端開發、數據庫工程師、算法工程師、測試人員等,這種劃分使得不同開發人員能夠專注自己的領域,但是同時也帶來一些缺點:

1.知識隔離:過于精細的分工可能導致不同角間的知識隔離,缺乏全局視野。這可能使得團隊難以應對快速變化的需求和市場環境。

2.溝通成本:不同角間的溝通可能會增加,需要花費更多時間解釋和協調工作,這可能增加溝通成本。

3.資源浪費:用造飛機的人員分工和流程管理來造一輛自行車,對于一些輕量級的需求也要調動前后端資源和走一遍全部開發流程,高射炮打蚊子,殺雞用牛刀。

圖2: 低代碼平臺和傳統開發的比較

2.2 低代碼平臺調研分析

在魯班項目啟動之初,我們調研了市場上的低代碼和零代碼平臺,這些平臺對魯班的設計和研發提供了參考和借鑒。

表1:低代碼零代碼產品調研

考慮到我們的實際應用場景,我們面對C端的場景,要求功能復雜、交互友好、流量大、性能要求高的場景,肯定還是優先選擇傳統的開發模式。只有面對B端的場景和一些內部系統,不要求界面精美,可用就行,能夠開發簡單,快速上線。所以魯班低代碼平臺的定位就是面對B端場景和一些內部系統。

這些內部系統需要支持58的OA賬號登錄鑒權、需要能夠私有化部署在58私有云、需要能夠支持58的通用底層框架訪問(例如58的內部RPC系統SCF服務、分布式消息WMB、存儲系統WOS等)、需要能夠通過內網訪問58的內部其他系統(例如經紀人賬號、商業訂單等)。這些訴求就決定了我們不可能采用外部的低代碼平臺,只能自研。

2.3 魯班的目標

魯班全棧式低代碼開發平臺,可以幫助后端開發人員做一些輕量級前端的工作,幫助前端開發人員做一些輕量級后端的工作,人人都可以成為全棧開發工程師。降低技術門檻,減少溝通成本,提高開發效率,快速迭代和修改,易于集成和擴展。

3

魯班的功能介紹

3.1 拖轉生成頁面

魯班可以通過可視化拖拽的方式,讓開發人員能夠快速創建和布局應用界面。以下是魯班拖拽生成頁面功能的詳細介紹:

1.直觀的可視化拖拽界面:低代碼開發平臺提供了一個直觀的可視化拖拽界面,開發人員可以通過簡單的拖拽操作來創建和布局應用界面。這種方式使得界面設計更加快速和靈活,無需編寫繁瑣的代碼。

2.豐富的組件庫:低代碼開發平臺提供了豐富的組件庫,包括文本框、按鈕、表單、圖片、圖表等常見元素,以及各種業務單據和業務邏輯組件。這些組件可以滿足不同應用程序所需的通用核心功能,因此可以重復使用,以更快地開發不同的解決方案。

3.可重用性:低代碼開發平臺擁有完善的功能模塊體系,不同模塊可以滿足不同應用程序所需的通用核心功能,因此可以重復使用,以更快地開發不同的解決方案。

4.可擴展性:為了實現各個信息系統的整合,方便統一管理和用戶訪問,低代碼開發平臺提供了豐富的集成接口,支持。

5.多種集成方式:可以很方便地與第三方系統集成,包括市場上多個領域的主流產品,都可以實現無縫對接。跨平臺可訪問性:低代碼開發平臺的全生命周期管理使得應用程序可以輕松地實現跨平臺訪問,包括PC端、移動端、平板電腦等設備。

總的來說,魯班拖拽生成頁面功能通過直觀的可視化拖拽界面和豐富的組件庫,使得開發人員能夠快速創建和布局應用界面,提高了開發效率和質量。同時,該功能還具有可重用性、可擴展性和跨平臺可訪問性等特點,能夠滿足不同應用程序的開發需求。

圖3:魯班頁面設計器

圖4:多端支持

3.2 數據可視化

魯班的數據可視化功能是其重要的組成部分,它可以幫助開發人員快速、直觀地展示數據,提供更好的決策支持。以下是對魯班低代碼平臺數據可視化功能的介紹:

1.數據驅動的可視化設計:低代碼平臺的數據可視化功能通常采用數據驅動的方式進行設計,用戶可以通過簡單的拖拽和配置操作,將數據源與可視化組件進行綁定,實現數據的實時展示。

2.豐富的可視化組件:低代碼平臺提供了豐富的可視化組件,如折線圖、柱狀圖、餅圖、地圖等,用戶可以根據需要選擇合適的組件進行數據展示。同時,這些組件通常支持自定義樣式和交互行為,以滿足不同場景下的需求。

3.數據實時更新:低代碼平臺的數據可視化功能支持數據實時更新,當數據源發生變化時,可視化組件會自動更新展示內容,無需人工干預。這使得用戶可以及時了解數據變化,做出相應決策。

4.數據交互與聯動:低代碼平臺的數據可視化功能還支持數據交互與聯動,用戶可以通過點擊、滑動等操作,對數據進行篩選、排序等操作,實現數據的個性化展示。同時,不同組件之間也可以實現聯動效果,提高用戶體驗。

總之,魯班平臺的數據可視化功能為用戶提供了直觀、高效的數據展示方式,幫助用戶更好地理解和分析數據,為決策提供有力支持。

圖5:數據源與可視化組件綁定

圖6:豐富的可視化組件

3.3 快速生成接口

魯班支持根據一張表生成CRUD一組http接口,同時能支持將現有的SCF接口(58自研RPC框架)導入并轉換成http接口的能力。生成的接口支持直接訪問和在頁面綁定數據源展示使用兩種方式。

魯班生成的接口,可以直接作為后臺http接口對外提供接口服務,也可以作為頁面數據源方式與頁面組件進行綁定。

圖7:根據數據庫表生成http接口

圖8:SCF接口導入生成http接口

3.4 角色與權限

魯班的用戶分為開發用戶和應用使用用戶兩套用戶體系。

同樣角色和權限也分為開發用戶角色和權限、應用使用用戶角色及權限。

圖9: 開發用戶及權限

3.5 擴展性支持

低代碼平臺通過拖拉拽的方式生成頁面,通過sql方式或者接口導入方式生成接口,這種方式方便快捷,但是也有缺點,就是靈活性不足。比如接口返回日期數據是時間戳,但是頁面想展示成日期格式。或者是在導入的接口調用之后,對出入參數進行加工。

為了解決這個問題,魯班支持擴展代碼方式對現有功能進行擴展,同時能夠支持前端擴展代碼(js代碼)對頁面數據進行擴展和后端擴展代碼java方式對接口調用做before()和after()的執行。

圖10: 前端擴展代碼

圖11: 后端擴展代碼

對于后端擴展代碼,為了開發方便及開發習慣,支持代碼下載到本地進行IDEA進行編輯,并支持將運行時數據調用本地代碼進行本地調試。

圖12: 本地debug模式

4

魯班的設計與實現

4.1 整體架構設計

圖13: 魯班整體架構圖

魯班整體上分為開發環境和運行環境:開發環境是供開發人員使用的系統,提供頁面、接口開發、數據源配置、打包部署上線等功能。運行環境是應用的運行環境,是一個web系統,對外提供http接口,每個應用一個獨立的運行環境,互相隔離。

整體上分為4層:基礎設施層、中間件層、引擎層、業務中臺層,其中前端引擎和后端引擎是核心。

同時提供了openApi功能可以對外提供服務,和內置了一些58內部系統的登錄、訪問、鑒權等能力。

4.2 元數據設計

1.前端頁面設計:

頁面設計的內容以元數據DSL格式存儲在mongodb數據庫中,在運行時動態加載,并通過頁面解析器解析展示。

魯班的前端頁面代碼是把頁面信息編輯成JSON Schema,平臺生成JSON Schema是在formily/json-schema規范的基礎上擴展了部分字段,以來兼容非form組件的渲染。其中大部分字段可以在formily的文檔中找到屬性描述。

圖14: 前端頁面元數據設計

2.接口出入參模版設計:

魯班目前支持14種接口類型,新增、修改、單條刪除、批量刪除、分頁列表、無分頁列表、下拉框列表、數量查詢、批量id查詢、詳情、全部導出、批量導出、自定義導出、自定義類型。這些接口類型主要是定義了出入參模版,供頁面或者直接使用。這些接口出入參的定義,也是用JSON Schema方式存儲下來作為元數據使用。

使用的場景有:接口出入參展示、格式校驗、數據轉換等。

圖15: 接口出入參模版元數據設計

4.3 前端引擎

前端引擎主要有頁面設計器、圖標設計器、js擴展代碼等組成。

圖16: DSL解析器

首先設計器會加載所需組件庫、組件屬性設置器等物料,接著開發人員根據產品需求在畫布中進行布局設置、組件 CRUD 操作、API屬性配置和邏輯編排等操作,這些操作會不斷生成操作節點模型,然后設計器將操作節點模型轉化成頁面描述即JSON chema,此為設計器的產物。最后經過解析器進行生命周期、事件流、數據綁定等邏輯處理并渲染成真實頁面。

組件與數據層的綁定:組件需要被魯班特定方法包裹,該方法判斷組件是否為受控組件,如果是則將組件的value、onchange方法與數據字段模型Field綁定,從而實現第三方組件數據與頁面數據雙綁的能力。除組件數據外,組件的描述、校驗狀態、校驗方法等均可綁定。整個方案不會破壞存量組件庫,改造動作小,且不影響其在傳統開發項目中的正常使用。

圖17:組件與數據層綁定

4.4 多租戶、多環境與隔離性

4.4.1 多租戶

魯班低代碼開發平臺是一種典型的Saas模式,每個應用都是獨立一套云集群環境,集群間重啟、版本部署、元數據、網絡鏈路等皆互不影響。

圖18:多租戶

4.4.2 多環境

魯班低代碼平臺分為開發環境和運行環境。

開發環境是開發人員開發接口、設計頁面的開發平臺,用戶開發設計的頁面、數據庫元數據、接口元數據、變量、擴展代碼等都存儲在開發環境。

運行環境是系統實際運行的平臺,分為開發環境和正式環境,部署在K8s集群,以及58集團私有云環境。用戶開發完的應用,可以不用上線,直接在開發環境云行及預覽。

待開發完成在開發環境測試聯調通過之后,可以在魯班一鍵打包并部署到正式環境,同時根據部署包支持回滾到某個指定版本。

圖19: 多環境支持

多環境環境變量:

魯班運行環境分為開發環境和正式環境,開發環境是根據用戶開發的內容實時顯示,正式環境需要打包上線之后才會更新內容。在日常的開發過程中,有些配置信息需要開發環境和正式環境不同,比如使用的數據庫配置,開發環境用測試庫,正式環境用線上庫;調用的接口開發時用開發環境的接口,上線之后用正式環境的接口。在使用的變量的環節用luban.${var_name}表示,在運行時會從變量定義中進行替換。

圖20: 多環境環境變量

4.4.3 隔離性

設計時環境與運行時環境相隔離,設計時開發存儲于元數據,運行時只依賴于元數據并提供緩存功能。即使運行時出現問題,不影響運行時的原型。

運行時的開發環境和正式環境相隔離,開發環境依賴開發環境的元數據,隨著用戶的開發實時變化,正式環境的元數據只有打包部署之后才會更新,開發環境的變動不會影響運行環境,保證了運行環境的穩定性。

魯班不同的應用互相隔離,運行在各自不同的docker容器中,互相不會影響。

4.5 版本管理

圖21: 版本管理

魯班的node運行環境、java運行環境都是容器(docker鏡像)。這些運行環境的容器都是通用的,可以運行任何一個應用。

魯班低代碼平臺將頁面元數據、接口元數據、配置信息、擴展代碼等打成一個運行時版本包。

在部署環節只要將某個版本的運行環境部署,并將這些應用元數據信息加載,加載A應用的元數據信息就是A應用的運行環境,加載B應用的運行信息就是B應用的運行環境。

這種設計實現了應用和運行環境的隔離,可以實現同一個應用的部署升級、回滾、灰度等操作。

4.6 路由規則

魯班的運行環境和應用是相互隔離的,魯班通過統一的網關來進行路由分發。路由規則有三層,分別是:環境、組織、應用。魯班的接口調用規則如下:luban.58corp.com/{env}/{org}/{app}/path。其中env表示環境信息:開發環境offline or 線上環境online。org表示組織代碼,app表示應用代碼。

圖22: 路由規則

4.7 擴展性設計

4.7.1 接口參數映射

有時候,原始導入的接口參數,并不滿足用戶希望提供的接口參數訴求,魯班支持對接口的出入參進行映射擴展。

圖23: 出入參映射

4.7.2 接口擴展代碼

圖24: 接口擴展代碼

魯班支持對每個接口做切面擴展,在接口的調用之前執行before方法和執行之后再執行after方法。

魯班對于接口的擴展代碼,以元數據的方式存儲在代碼倉庫中,在運行時動態加載動態編譯方式加載到運行環境中,當代碼有更新時,開發環境動態拉取最新代碼重新加載編譯,線上環境為了系統的穩定性,只有在用戶點擊打包上線之后才會更新代碼。

因為頁面自帶開發工具不如本地IDEA好用,魯班平臺支持將擴展代碼下載到本地進行編輯調試,并可以在本地啟動一個web系統,在運行時通過本地debug開關和ip+port的方式,將before/after的接口請求轉發到本地進行調試。

調試成功的接口,可以通過push方式更新到代碼倉庫。

luban-SDK提供了魯班低代碼平臺常用的一些能力,比如獲取應用信息、用戶登錄信息、調用平臺其他接口功能等。

5

接入案例分享

5.1 安心交易

為推進二手房交易規范化,幫助更多用戶實現安心交易,58同城、安居客攜手合和致遠、邦安家,為全國用戶提供“安心交易保障”,目前,“安心交易保障”已經在武漢、太原、長沙、西安、杭州 、南京、鄭州、珠海、青島等10幾個城市的糯家、邦安家、安個家等合作門店推行。

安心交易主要用到了魯班根據數據庫表自動生成CRUD接口和操作頁面,開發了53個接口,14個頁面。降低了開發難度,提高了開發效率,減少了人員投入,相比傳統開發方式,人力投入從2人減少到1.5人,開發周期從24天減少到17天。

圖25: 安心交易

5.2 房產SKU管理后臺

房產SKU管理后臺是為開發、測試、運營人員提供的一個查詢后臺,提供了SKU信息、掛靠關系、操作日志能的查詢功能。這些能力是通過后臺服務提供接口(SCF服務,58內部RPC服務),魯班通過接口設計功能將這些接口轉換成http接口,并通過拖拉拽方式設計查詢或者操作頁面進行數據綁定,從而實現了對后臺數據的訪問。

主要用到了魯班后臺接口導入和頁面拖拉拽編輯功能,所有功能都完全由SKU后臺開發人員負責,降低了開發難度,減少了跨部門協作和業務溝通成本。人員投入由傳統開發方式的2人將低到1人,開發周期從13天減少為5天。

圖26: 房產sku后臺

5.3 房產門戶網站

房產門戶網站是58房產內部系統,將所有房產業務群常用的網站進行分類整理,統一門戶。房產的產品、開發、運營、測試可以一站直達任意網站。

58房產門戶網站的開發模式是為前端開發人員提供后端開發的能力,前端開發人員利用魯班配置連接數據庫,并對數據庫表提供CRUD的功能,對外提供訪問接口,這些數據庫表存儲了分類網站的類別、網站url地址等信息。

因為整個開發都只有前端同學參與,人員投入由傳統開發方式的2人降低到1.5人,開發周期從21天減少為15天。

圖27:房產門戶網站

6

總結及展望

6.1 總結

1.目前市場上的常見的低代碼平臺,例如阿里宜搭、騰訊微搭、簡道云、輕流等,基本上是偏前端的使用場景,注重頁面設計,對于后端支持一般比較弱,擴展性不足。魯班低代碼平臺是前后端結合的低代碼平臺,后端功能甚至要重于前端設計,主要體現在快速接口搭建、后端擴展代碼的支持等方面。

2.魯班低代碼平臺對58的基礎能力的支持,比如針對58內部RPC框架SCF的接口一鍵導入、58內部OA賬號登錄等,提升了內部用戶使用效率。同時依托58提供的私有云,部署運行環境時即可以部署原生k8s,也可以部署在58私有云平臺,兼顧了靈活性和穩定性的要求。

3.魯班低代碼平臺的高擴展性,尤其是后端擴展代碼+SDK結合的能力,甚至可以當作一個獨立的web開發框架使用,開發便捷、部署靈活。

6.2 未來規劃

1.流程引擎,常用的業務場景有工作流、審批流等。

2.內嵌的模式,魯班開發的頁面或者接口能夠內嵌到其他系統使用,其他系統的接口或者頁面能夠內嵌到魯班應用中使用,取長補短,互相補充。這種方式目前可以部分支持,未來希望能夠做到無縫連接,更便捷。

3.交互設計優化,在實際使用中我們發現,在一些開發場景中,對開發者的使用引導還有欠缺,初次使用有一定的學習成本,未來希望能夠做到不需要閱讀文檔,拿來就會用。

4.房產通用服務內置模塊化, 比如房源庫基礎服務,樓盤字典基礎服務等,用戶用到這些服務不需要自己再去申請,通過魯班內置SDK就可以訪問。

5.AI賦能(需求抽象、代碼生成、數據分析、智能輔助等)。

參考文獻

例如:

[1] 百度低代碼平臺:https://mp.weixin.qq.com/s/4tyZnBCwJkzEWn-zfWFqIA

[2] 低代碼vs.傳統開發一個全面的比較:https://mp.weixin.qq.com/s/riu_itoEipSdArMjVKuyWw

[3] 攜程后臺低代碼平臺的探究與實踐:https://mp.weixin.qq.com/s/_atcGO_J5C2lx13gZCrp6g

[4] 如何讓低代碼平臺發揮出真正的價值:https://mp.weixin.qq.com/s/5pRaajrP8oeb9w6P6viCGw

[5] 騰訊微搭:https://weda.cloud.tencent.com/learn

[6] 阿里宜搭:https://yida-pro.ding.zj.gov.cn/

作者簡介:

李春雷:58安居客-房產技術部后端架構師。致力于高并發、大數據、高性能的后端服務研發;曾成功實現了58、趕集、安居客房產三網業務融合與數據融合,目前專注于云原生與低代碼方向的研發工作。

馬震:58安居客-房產技術部后端架構師。致力于設計高效、穩定、可擴展的系統架構,具備深厚的技術功底和豐富的實踐經驗;目前負責房產核心基礎服務、AI智能對話、低代碼平臺等方向的架構設計與研發工作。

周軍:58安居客-房產技術部后端架構師。曾負責58房產詳情頁微服務化、房源搜索、房產開放平臺等;目前負責房產核心基礎服務、低代碼平臺等方向的架構設計與研發工作。

來源-微信公眾號:58技術

出處:https://mp.weixin.qq.com/s/DAJhQjGatYASZfvV0lA7ig

備案號:贛ICP備2022005379號
華網(http://www.668528.com) 版權所有未經同意不得復制或鏡像

QQ:51985809郵箱:51985809@qq.com

主站蜘蛛池模板: 一级毛片特级毛片国产| 亚洲精品国产专区91在线| 麻豆国产精品免费视频| 在线观看成年人| 中国特黄一级片| 日本漫画全彩口工漫画绅士| 亚洲国产日韩欧美在线| 熟妇激情内射com| 再深点灬舒服灬太大了添学长| 青柠在线观看视频hd| 国产男女猛烈无遮挡免费网站| 99re热视频这里只精品| 小明天天看成人免费看| 久久久久久久久久久久久久久| 最近中文字幕高清中文字幕无| 亚洲欧美精品日韩欧美| 男女啪啪高清无遮挡免费| 合租屋第三部小雯怀孕第28章| 香蕉成人伊视频在线观看| 国产福利午夜波多野结衣| 亚洲欧美日韩图片| 精品中文字幕在线| 四虎国产欧美成人影院| 韩国二级毛片免费播放| 国产毛片哪里有| 18videosex性欧美69免费播放 | 免费又黄又硬又大爽日本| 美女精品永久福利在线| 国产乱人免费视频| 黄色成人在线网站| 国产日韩美国成人| 动漫成年美女黄漫网站国产| 国产裸舞福利资源在线视频| aaa毛片免费观看| 日韩毛片免费在线观看| 亚洲人成电影网站色| 欧美日韩在线视频一区 | 师尊要被cao坏了by谦野| 中文字幕在线观看2020| 无码人妻一区二区三区在线视频 | 黄色免费短视频|