“All in Cloud”之后,和你聊聊「云原生DevOps的Kubernetes技巧」 了解详情
写点什么

专访梁士兴:如何巧用低代码平台,并能避免研发怨声载道

  • 2021 年 10 月 21 日
  • 本文字数:2844 字

    阅读完需:约 9 分钟

专访梁士兴:如何巧用低代码平台,并能避免研发怨声载道

低代码一定程度上是把可复用的功能/模块粒度更细化,体积更小,便于引用。其次是可以把应用组件、视觉交互等标准化,便于协作。

 

因为一个低代码不可能解决所有的业务问题,业务与业务之间千差万别,如果拽过来一个组件,其定制的代码比组件的代码量还多,那样就没意义了。

 

可以从横向和纵向来看待低代码平台带来的作用。

 

横向:强调低代码平台的通用性,是否支持所见即所得,是否支持更复杂的模版,是否支持二次开发。面向不同的用户,则需要不同的能力。例如,面向运营同学使用的营销低代码平台,就会更加依赖所见即所得编辑能力和开箱即用的营销活动模版,使得非技术的业务人员也能方便的使用。

 

低代码平台的持续运营需要依赖标准化。通过抽象组件规范,定制组件交互,实现不同人开发的组件都满足统一的协议。低代码平台通过编排组件,使业务运转起来。

 

通常,标准化是比较难执行和推广的,随着团队人员更迭,成本往往越来越高。同时,标准化也是反人性的,用条条框框约束人,且没有对错可言,它带来了不自由,不灵活,易引起抵触情绪。只有低代码平台带来降本增效收益能够大于标准化所带来的“烦恼”,标准化才具备广泛推广的价值。

 

从平台生态的角度考虑,低代码平台需要强管控,把一些质量不高的组件挡在外面,否则一样会影响整个平台的口碑。这里要强调一下,好的管控不是靠人来实现的,而是靠技术手段来实现的。

 

纵向:强调的是领域内的业务纵深,比如专注于商品或者供应链等业务领域的前端组件。它们本身对其他业务没有帮助,但在其领域内可以带来极高的价值。

 

抽象领域内的组件往往需要对业务有深入的理解,并且对业务的“变”与“不变”有深入的思考和判断,这样才能做好判断,抽象和沉淀最体现业务本质的组件。

 

在 12 月 3-4 日北京ArchSummit架构师峰会上,邀请了美团买菜终端团队负责人梁士兴老师担任低代码专题出品人,届时将有来自一线互联网企业的专家来分享各自的实践。关于低代码平台的使用情况,梁士兴老师在下面的问题中给出了解答,欢迎阅读。

 

Q:基于梁老师所在的美团买菜团队,谈谈低代码平台目前在业务上的进展?是否可以从应用角度、业务角度、技术角度来介绍一下落地效果如何?

 

梁士兴:美团内低代码平台目前是一个相对比较分散的状态,不同的团队、业务都有各自的思考和探索。在横向上的建设还没有完全统一,但在纵向上有一些不错的成果。现状来看,还不是最终的理想状态。理想的状态是在横向上有一个统一的基础和一致的体验,在纵向上再由各个团队去进行深入的定制,一方面在全局上优化成本,并真正实现效率最优化。

 

当前,在营销活动领域,基本达成了上述的效果。会利用公司统一的魔方平台(横向)对业务组件进行管理和编排,各业务根据自身需求定制自己的营销活动组件(纵向)。以买菜的现状为例,主要的营销活动均为运营人员在魔方平台上配置生成而无需前端开发人员介入,前端开发人员则负责开发买菜的活动组件,比如各种样式商品列表等等。

 

Q:美团低代码平台建设过程中,有哪些总结?比如说平台特色?有哪些边界和限制?

 

梁士兴:最重要是先明确平台的目标用户是谁?要解决用户的什么问题?在这两个朴素的问题上往往很容易翻车。例如,如果以前端开发人员为目标用户,以提升开发效率为目标。那么所见即所得的 UI 配置界面就不应成为最重点建设的方向。这是因为往往写代码的速度并不慢,拖拽 UI 组件的速度也并不快,到头来可能效率不会提升多少,反倒让开发人员怨气十足。在此场景下,提供一个可配置的代码脚手架,快速生成一些减少重复劳动的代码,可能对效率帮助更大。

 

再比如,如果目标用户是运营人员或者其他非前端开发的角色,则目标就会变为“以非编码方式构建前端页面”。低代码平台的能力上则要实现如何让专业的人聚焦在本专业内。通常运营人员只关注运营活动本身,不要用“恼人”的 JS、CSS 和 HTML 来打扰他们。

 

还有一类有趣的场景,是把“灵活性”从“代码逻辑”转移到“代码之外”。以面向 C 端用户的电商类 App 为例,首页的“黄金展位”往往会被寄予厚望。所以,产品经理或运营人员会频繁的调整这些资源展位,进行各种各样的 A/B 测试。即使使用了动态化开发方案,也往往会被应接不暇的调整和测试需求搞得手忙脚乱。此时,如果将页面的各个模块进行抽象,配合使用低代码平台来配置页面内容,往往也能够取得不错的效果。

 

Q:美团目前是如何做标准化的?推动的进度如何?

 

梁士兴:标准化是一个体系化的事情。按照我们的思路,共包含开发、测试、运维三个方向。在开发方向,包含工程标准化、框架标准化和工具标准化。

 

从团队角度来看,标准化意味着整齐划一,可以有效的降低维护的成本。但同时,标准化也意味着更多的约束和管控。标准化是反人性,所以也是不容易实现的。

 

要实现好标准化,需要先思考如何让通过标准化得到的收益大于被约束和管控所付出的代价。一般来说,框架、工具(如低代码平台)带来的收益,往往需要在标准化之后才能释放出来。所以一定要统筹规划,充分思考人性,才能取得成功。

 

Q:VUE 3.0 框架出来,因为存量代码比较多,所以不会轻易立刻使用新的框架。除此之外,你们对于一些新技术的出现,在采纳上会有哪些考量?(框架、平台、工具等方面)

 

梁士兴:标准化的一个弊端是对新框架的应用会趋于保守,这也是一个两难的选择。因此,大团队通常会选择更加谨慎的迁移到新版本,毕竟历史包袱太重了。

 

对于一些比较核心的组件资产,也可以考虑设计一个隔离层,把核心业务逻辑和框架隔离开,这样在框架升级的时候,不至于伤筋动骨。目前我们在这个方面也面临着比较大的挑战,存在着大量的存量系统涉及此类问题。后面我们也会做更多的思考和尝试。

 

Q:AI + IoT 和前端之间的关系是什么?梁老师是不是可以详细讲讲目前在这个领域的具体工作内容,有哪些有趣的故事可以讲讲?

 

梁士兴:广义上理解终端,是人机交互的接口。这是双向的交互,一方面通过最高效、优雅的方式,把人的输入提交给系统;另一方面,以清晰、美观的方式把信息呈现给人。

 

AloT 等智能设备,也是一种信息输入的扩展。以美团买菜的业务场景为例,仓库内的温度是一个非常重要的指标,不同的温区有不同的温度范围,且对温度的变化非常敏感。通过温湿度传感器,可以实时的采集仓内的温度,并及时做出告警,让仓库水果蔬菜在仓库内保持优秀品质。可以设想,如果没有传感器,则需要人工来定时读取温度计上的数据,然后输入到系统中。这样不管是效率还是可靠程度,都无法满足要求。

 

这个例子说明了一个道理,智能设备也是系统的一个交互接口,在特定的业务场景下,能够发挥出巨大的业务价值,扩展了“端”的边界。

 

嘉宾介绍:

 

梁士兴:美团研究员,2009 年毕业于北京航空航天大学,毕业后在 IBM 中国研发中心工作,2014 年 7 月加入到美团点评,现在是美团买菜终端团队的负责人。

 

在 12 月 3-4 日的 ArchSummit 架构师峰会上,如果你感兴趣来低代码专题下分享实践内容,欢迎填写您的演讲话题 https://jinshuju.net/f/7wUiwn。点击大会日程,嘉宾来自字节跳动、百度、去哪儿、快手等企业。


2021 年 10 月 21 日 08:004473
用户头像

发布了 120 篇内容, 共 41.5 次阅读, 收获喜欢 160 次。

关注

评论

发布
暂无评论
发现更多内容

《数字经济全景白皮书》Z世代用户洞察篇 完整版 发布

易观分析

Z世代

架构师成长路线

汤师爷

软件架构 架构师 成长路线

Redis 内存优化在 vivo 的探索与实践

vivo互联网技术

数据库 redis 性能优化 内存优化

[Day36]-[二叉树]-在每个树行中找最大值

方勇(gopher)

LeetCode 二叉树 数据结构算法

内存不超过5M,datop 在识别冷热内存及跨 numa 访存有多硬核?| 龙蜥技术

OpenAnolis小助手

cpu 内存 datop 轻量级 muma

维权思考

成周

Java培训 判空的新写法

@零度

java8 JAVA开发 判空写法

What?构造的查询语句会导致堆栈溢出

华为云开发者社区

neo4j 图数据库 堆栈溢出 查询语句 查询语言

动手实操丨RC522射频卡模块与IC卡完成充值消费查询的技术实现思路

华为云开发者社区

stm32 RC522射频卡模块 IC卡 RC522

大数据培训Flink怎样保证数据是一致性的

@零度

大数据 flink

thinkphp5的消息队列详细教程

CRMEB

web前端培训Vite的原理源码解析

@零度

前端开发 vite

多平台快速开发的UI框架

源字节1号

网站开发进阶(二十五)JS实现将html表格导出为excel文件

No Silver Bullet

5月月更 表格导出

云图说 | 华为云医疗智能体EIHealth,AI赋能基因组研究

华为云开发者社区

华为云 云图说 EIHealth 医疗智能体 基因组

显卡只是为游戏而生吗?GPU服务器了解一下

Finovy Cloud

GPU服务器 GPU算力

从研发效能的视角谈“故障复盘”

博文视点Broadview

【C语言】计算器

泽En

5月月更

OpenHarmony 3.1 Beta版本关键特性解析——ArkUI开发框架容器类API的介绍与使用

OpenHarmony开发者社区

OpenHarmony ArKUI 3.0 OpenHarmony 3.1 Release

《手写 Mybatis》第7步:SQL执行器的定义和实现

小傅哥

小傅哥 mybatis 面试经验 源码学习 手写Mybatis

跟我学Python图像处理丨获取图像属性、兴趣ROI区域及通道处理

华为云开发者社区

Python OpenCV 图像处理 图像 ROI区域

数字化时代,国内SaaS行业的发展态势

小炮

SaaS

Python 操作 Excel,从 xlwings 模块开始

梦想橡皮擦

5月月更

Apache ShardingSphere 企业行|走进汽车之家

SphereEx

数据库 企业 ShardingSphere SphereEx apache 社区

让 Rust 的 CI 加速 2~3倍速度

非凸科技

rust 构建 cl cithub 缓存空间

Pipy for Next Web:静态内容服务与缓存加速

Flomesh

CDN加速 Pipy Headless CMS

面试突击44:volatile 有什么用?

王磊

Java Java面试题 java常见面试题

OpenHarmony 3.1 Beta版本关键特性解析——分布式DeviceProfile

OpenHarmony开发者社区

OpenHarmony OpenHarmony 3.1 Release DeviceProfile

Jeff Dean:深度学习的黄金十年

OneFlow

人工智能 深度学习 软件 硬件

云原生 on nLive:云上 Nebula Graph

Nebula Graph

数据库 图数据库 原生云

区块链 重塑不良资产互信机制

CECBC

专访梁士兴:如何巧用低代码平台,并能避免研发怨声载道_前端_薛梁Lucien_InfoQ精选文章