專訪梁士興:如何巧用低代碼平臺,避免研發怨聲載道

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"低代碼一定程度上是把可複用的功能\/模塊粒度更細化,體積更小,便於引用。其次是可以把應用組件、視覺交互等標準化,便於協作。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"因爲一個低代碼不可能解決所有的業務問題,業務與業務之間千差萬別,如果拽過來一個組件,其定製的代碼比組件的代碼量還多,那樣就沒意義了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"可以從橫向和縱向來看待低代碼平臺帶來的作用。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"橫向:強調低代碼平臺的通用性,是否支持所見即所得,是否支持更復雜的模版,是否支持二次開發。面向不同的用戶,則需要不同的能力。例如,面向運營同學使用的營銷低代碼平臺,就會更加依賴所見即所得編輯能力和開箱即用的營銷活動模版,使得非技術的業務人員也能方便的使用。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"低代碼平臺的持續運營需要依賴標準化。通過抽象組件規範,定製組件交互,實現不同人開發的組件都滿足統一的協議。低代碼平臺通過編排組件,使業務運轉起來。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"通常,標準化是比較難執行和推廣的,隨着團隊人員更迭,成本往往越來越高。同時,標準化也是反人性的,用條條框框約束人,且沒有對錯可言,它帶來了不自由,不靈活,易引起牴觸情緒。只有低代碼平臺帶來降本增效收益能夠大於標準化所帶來的“煩惱”,標準化才具備廣泛推廣的價值。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"從平臺生態的角度考慮,"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"低代碼平臺需要強管控"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",把一些質量不高的組件擋在外面,否則一樣會影響整個平臺的口碑。這裏要強調一下,好的管控不是靠人來實現的,而是靠技術手段來實現的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"縱向:強調的是領域內的業務縱深,比如專注於商品或者供應鏈等業務領域的前端組件。它們本身對其他業務沒有幫助,但在其領域內可以帶來極高的價值。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"抽象領域內的組件往往需要對業務有深入的理解,並且對業務的“變”與“不變”有深入的思考和判斷,這樣才能做好判斷,抽象和沉澱最體現業務本質的組件。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在12月3-4日北京"},{"type":"link","attrs":{"href":"https:\/\/archsummit.infoq.cn\/2021\/beijing\/track","title":"xxx","type":null},"content":[{"type":"text","text":"ArchSummit架構師峯會上"}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",邀請了美團買菜終端團隊負責人梁士興老師擔任低代碼專題出品人,屆時將有來自一線互聯網企業的專家來分享各自的實踐。關於低代碼平臺的使用情況,梁士興老師在下面的問題中給出瞭解答,歡迎閱讀。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#1c7231","name":"user"}},{"type":"strong"}],"text":"Q:基於梁老師所在的美團買菜團隊,談談低代碼平臺目前在業務上的進展?是否可以從應用角度、業務角度、技術角度來介紹一下落地效果如何?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"梁士興:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"美團內低代碼平臺目前是一個相對比較分散的狀態,不同的團隊、業務都有各自的思考和探索。在橫向上的建設還沒有完全統一,但在縱向上有一些不錯的成果。現狀來看,還不是最終的理想狀態。理想的狀態是在橫向上有一個統一的基礎和一致的體驗,在縱向上再由各個團隊去進行深入的定製,一方面在全局上優化成本,並真正實現效率最優化。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"當前,在營銷活動領域,基本達成了上述的效果。會利用公司統一的魔方平臺(橫向)對業務組件進行管理和編排,各業務根據自身需求定製自己的營銷活動組件(縱向)。以買菜的現狀爲例,主要的營銷活動均爲運營人員在魔方平臺上配置生成而無需前端開發人員介入,前端開發人員則負責開發買菜的活動組件,比如各種樣式商品列表等等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#1c7231","name":"user"}},{"type":"strong"}],"text":"Q:美團低代碼平臺建設過程中,有哪些總結?比如說平臺特色?有哪些邊界和限制?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"梁士興:"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"最重要是先明確平臺的目標用戶是誰?要解決用戶的什麼問題?在這兩個樸素的問題上往往很容易翻車。例如,如果以前端開發人員爲目標用戶,以提升開發效率爲目標。那麼所見即所得的 UI 配置界面就不應成爲最重點建設的方向。這是因爲往往寫代碼的速度並不慢,拖拽UI組件的速度也並不快,到頭來可能效率不會提升多少,反倒讓開發人員怨氣十足。在此場景下,提供一個可配置的代碼腳手架,快速生成一些減少重複勞動的代碼,可能對效率幫助更大。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"再比如,如果目標用戶是運營人員或者其他非前端開發的角色,則目標就會變爲“以非編碼方式構建前端頁面”。低代碼平臺的能力上則要實現如何讓專業的人聚焦在本專業內。通常運營人員只關注運營活動本身,不要用“惱人”的JS、CSS和HTML來打擾他們。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"還有一類有趣的場景,是把“靈活性”從“代碼邏輯”轉移到“代碼之外”。以面向C端用戶的電商類App爲例,首頁的“黃金展位”往往會被寄予厚望。所以,產品經理或運營人員會頻繁的調整這些資源展位,進行各種各樣的A\/B測試。即使使用了動態化開發方案,也往往會被應接不暇的調整和測試需求搞得手忙腳亂。此時,如果將頁面的各個模塊進行抽象,配合使用低代碼平臺來配置頁面內容,往往也能夠取得不錯的效果。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#1c7231","name":"user"}},{"type":"strong"}],"text":"Q:美團目前是如何做標準化的?推動的進度如何?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"梁士興:標準化是一個體系化的事情。按照我們的思路,共包含開發、測試、運維三個方向。在開發方向,包含工程標準化、框架標準化和工具標準化。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"從團隊角度來看,標準化意味着整齊劃一,可以有效的降低維護的成本。但同時,標準化也意味着更多的約束和管控。標準化是反人性,所以也是不容易實現的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"要實現好標準化,需要先思考如何讓通過標準化得到的收益大於被約束和管控所付出的代價。一般來說,框架、工具(如低代碼平臺)帶來的收益,往往需要在標準化之後才能釋放出來。所以一定要統籌規劃,充分思考人性,才能取得成功。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#1c7231","name":"user"}},{"type":"strong"}],"text":"Q:VUE 3.0 框架出來,因爲存量代碼比較多,所以不會輕易立刻使用新的框架。除此之外,你們對於一些新技術的出現,在採納上會有哪些考量?(框架、平臺、工具等方面)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"梁士興:標準化的一個弊端是對新框架的應用會趨於保守,這也是一個兩難的選擇。因此,大團隊通常會選擇更加謹慎的遷移到新版本,畢竟歷史包袱太重了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"對於一些比較核心的組件資產,也可以考慮設計一個隔離層,把核心業務邏輯和框架隔離開,這樣在框架升級的時候,不至於傷筋動骨。目前我們在這個方面也面臨着比較大的挑戰,存在着大量的存量系統涉及此類問題。後面我們也會做更多的思考和嘗試。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#1c7231","name":"user"}},{"type":"strong"}],"text":"Q:AI + IoT 和前端之間的關係是什麼?梁老師是不是可以詳細講講目前在這個領域的具體工作內容,有哪些有趣的故事可以講講?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"梁士興:廣義上理解終端,是人機交互的接口。這是雙向的交互,一方面通過最高效、優雅的方式,把人的輸入提交給系統;另一方面,以清晰、美觀的方式把信息呈現給人。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"AloT等智能設備,也是一種信息輸入的擴展。以美團買菜的業務場景爲例,倉庫內的溫度是一個非常重要的指標,不同的溫區有不同的溫度範圍,且對溫度的變化非常敏感。通過溫溼度傳感器,可以實時的採集倉內的溫度,並及時做出告警,讓倉庫水果蔬菜在倉庫內保持優秀品質。可以設想,如果沒有傳感器,則需要人工來定時讀取溫度計上的數據,然後輸入到系統中。這樣不管是效率還是可靠程度,都無法滿足要求。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"這個例子說明了一個道理,智能設備也是系統的一個交互接口,在特定的業務場景下,能夠發揮出巨大的業務價值,擴展了“端”的邊界。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"嘉賓介紹:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"梁士興:美團研究員,2009年畢業於北京航空航天大學,畢業後在 IBM 中國研發中心工作,2014年7月加入到美團點評,現在是美團買菜終端團隊的負責人。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在12月3-4日的ArchSummit架構師峯會上,如果你感興趣來低代碼專題下分享實踐內容,歡迎填寫您的演講話題 "},{"type":"text","text":"https:\/\/jinshuju.net\/f\/7wUiwn"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"。點擊"},{"type":"link","attrs":{"href":"https:\/\/archsummit.infoq.cn\/2021\/beijing\/schedule","title":"xxx","type":null},"content":[{"type":"text","text":"大會日程"}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",嘉賓來自字節跳動、百度、去哪兒、快手等企業。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/33\/0f\/33f198793b5b3b6e217ca6de8c2ebe0f.jpeg","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章