惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
Know Your Adversary
Know Your Adversary
Google DeepMind News
Google DeepMind News
A
Arctic Wolf
P
Privacy & Cybersecurity Law Blog
云风的 BLOG
云风的 BLOG
Stack Overflow Blog
Stack Overflow Blog
V
Visual Studio Blog
Project Zero
Project Zero
L
LangChain Blog
N
News and Events Feed by Topic
博客园 - Franky
Last Week in AI
Last Week in AI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Scott Helme
Scott Helme
T
The Exploit Database - CXSecurity.com
P
Proofpoint News Feed
Blog — PlanetScale
Blog — PlanetScale
www.infosecurity-magazine.com
www.infosecurity-magazine.com
W
WeLiveSecurity
月光博客
月光博客
博客园_首页
美团技术团队
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
腾讯CDC
Latest news
Latest news
WordPress大学
WordPress大学
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Spread Privacy
Spread Privacy
Attack and Defense Labs
Attack and Defense Labs
量子位
L
LINUX DO - 热门话题
C
CERT Recently Published Vulnerability Notes
Webroot Blog
Webroot Blog
L
Lohrmann on Cybersecurity
aimingoo的专栏
aimingoo的专栏
T
Troy Hunt's Blog
Security Latest
Security Latest
小众软件
小众软件
Cloudbric
Cloudbric
Hacker News: Ask HN
Hacker News: Ask HN
S
Secure Thoughts
雷峰网
雷峰网
T
Threat Research - Cisco Blogs
H
Hacker News: Front Page
IT之家
IT之家
Simon Willison's Weblog
Simon Willison's Weblog

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
设计一个全能的低代码页面设计器,4000字长文告诉你我是怎么做的
桃树窗前 · 2024-11-18 · via 人人都是产品经理

最近几年,低代码在产品开发过程中应用越来越广泛;但还是有不少同学对此不了解。本文作者通过自身的经历,给大家分享了如何用低代码完成设计,供大家参考。

啥是页面设计器?

就像用 Axure 画原型那样简单拖动几个组件,然后再设置一下,就开发好了一个系统页面,可以查看数据、操作数据、可以使用的、真正的页面。

是的,这就是低代码平台中的页面设计器,这我就好奇了,这样的页面设计器是怎么设计出来的呢?设计的思路与原则是怎样的呢?

设计可以开发出页面的设计器与一般系统的功能页面可是不一样的,后者相对而言是确定的,具体有哪些功能,有哪些交互,需要调用后端哪些接口,整体效果是可控的。而对于设计器页面,设计出的最终页面效果是用户来确定的,怎么才能满足用户可以实现他的前端页面交互、前后端数据交互呢?

一、临危受命,准备干活!

当时,我们公司将产品定位于帮助业务人员和开发人员高效快速地开发出各种企业模板应用和各种复杂业务应用,解决各种定制化场景需求,这样就必须要求设计器做到灵活性高、扩展性高,同时易用性也得高。

道理我都懂,确实很牛 X,如果是让别人去设计,我肯定会说舞台很大,好好表现。然而不幸的是,这个任务落到了我的身上,哈哈哈=-=

真的是让人头大,作为刚刚接触到低代码平台的小白,不说无从下手吧,也可以说让人摸不到头脑!

冷静了一阵子后,想了想,事情还是得做呀!

二、投石问路,竞品分析!

作为一个产品人,遇上毫无头绪的需求,第一反应是干嘛?那必须得是竞品分析呀!

是的,我立马找了市面上为数不多的低代码平台,准备仔仔细细地琢磨琢磨,当时的低代码平台都比较简单,上手都很快,差不多一天时间就研究得七七八八了并做了详细的分析记录。

可是做完竞品后,内心有一点小小的失望,发现低代码平台产品与自己预想中的差异有点大,市面上的低代码平台主要以表单、表格驱动为主,集成封装程度较高,虽然可以满足一般的数据增删改查和简单的业务流程,但是很难满足复杂业务应用各种定制化的需求,更不用说面向 C端用户的应用页面。不过也是,毕竟当时低代码平台的概念在国内也才刚刚兴起。

后来仔细一想,这反而是一件好事,说明我们的想法别人还没有尝试过,这条路说不定舞台真的很大!

三、此路不通,另辟蹊径!

竞品分析效果不是很好,我决定换一种方式了,设计器不就是要设计出各种复杂的应用页面吗?我研究一下复杂的业务应用中有哪些页面,哪些功能不就 OK 了吗。

想到就去做,我立马找了市面上主流的一些 ERP、CRM 、OA 等企业内部管理系统,主要研究系统中的核心功能页面,看能不能从这种复杂的页面中找到一些共性,包括页面中的主要部件、页面交互、接口调用等等。

你还别说,你还真别说,研究了一段时间后,还真的有所收获,最后大言不惭地说了一句:好像也不过如此,没有那么复杂嘛=-=

下面详细分享一下当时的分析和设计思路,开始我的表演。

因为时间有点久远了,中间也迭代了多次想法,这里就不用最原始分析的资料,我在阿里云和钉钉后台分别找了两张页面截图,借此说明当时的分析思路。

首先来看第一张阿里云控制台中的云服务器概览功能页面。

这种页面结构在 B 端系统中是十分常见的,也极具有代表性。页面是由不同的区块组成的,我在图片上用数字标注了不同的区块,每个区块之间相对独立,但彼此又有联系,有的是交互上的联系:

  • 比如区块 ② 是一个标签页,切换不同的标签下面显示不同内容,区块 ③ 是一个列表,点击不同的列表项,右侧显示不同的内容 ;
  • 有的是数据传递上的联系,比如区块 ④ 是日期查询, 执行查询后区块 ⑤ 显示满足条件的统计数据;
  • 当然我们多研究一点页面就会发现,交互联系和数据传递联系是可以同时存在的,而且在大多数场景中,这两者是同时存在的;
  • 区块④ 上面的静态文本虽然我没有用数字标准,其实也可以作为一个区块;
  • 但是区块 ① 有点特殊,它是系统功能导航,一般 B 端系统里都有功能导航框架,有左侧的,有顶部,有 L 型的等等,所以严格意义上说它并不属于页面的一部分,我们可以单独提出一个概念来表达它,这里不详细展开,后续可以专门写一篇文章,这里面也大有门道哦。

经过上面的一分析,我们再回过头来看并总结一下:这个页面就是由几个区块组成的,区块之间可以点击交互、可以数据传递。

一句话就概括了,没有错,就是这么简单。

可能有人要说了,这个区块里面的功能你都没有分析呢,你就说简单?

好像说的也啥毛病=-=,但我们从页面顶层设计时,可以先忽略局部细节问题,这就好像高中学物理受力分析时,先用整体分析法,忽略物体内部作用力,得到整体受力结果后,再分析单个物体,这里面的设计思想应该是相通的,所以后面再讨论区块里面的功能问题。

好了,有了页面的整体结构后,再看第二张图,是不是就容易理解多了,这里就不再做重复分析了。

四、大刀阔斧,准备开干!

由上面的分析得到了结论:这个页面就是由几个区块组成的,区块之间可以点击交互、可以数据传递。到这里就必须正视区块了,区块到底是什么?我们应该怎么定义它?我们先看区块有哪些特点:

  1. 会显示在页面上;
  2. 会有特定的功能,比如多标签切换、表格展示数据、筛选数据等等,反正是为了解决特定场景功能;
  3. 可以点击;
  4. 会输出数据;
  5. 可以接受数据。

当然不是区块必须同时这些功能,有些区块可能只有其中一部分功能。

到这里,我觉得用“区块”来表达已经不是很贴切了,所以急需换一个更合理、更好理解、更通用的概念,组件应运而生!!!

为了更合理地表达,给组件加一个概念定义:

组件是将页面中的可重用部分抽象为独立的、功能完备且具有自我样式和行为、支持输入与输出的单元。

1. 组件属性配置

首先要明确一点,组件是为了解决特定场景需求的,所以在组件内部会封装一定的功能,比如表格组件会展示数据、支持分页、添加按钮等,筛选器组件支持设置筛选字段,筛选方式等等,同时为了给用户绝对的灵活性,需要提供丰富的配置项。

组件本身功能可以通过内部封装加配置项的方式来解决,那怎么解决组件之间的交互联动和数据传递联动呢?这是一个问题,这不禁让我想起了在网络被发明之前,计算机都只是独立的个体,并不能直接完成资源共享,有了网络之后才算真正地进入计算机时代!

2. 前端组件联动

当我在考虑组件之间的联动问题时,不由得想到面向对象编程思想中的“类”,“类”不仅相对独立,“类”与“类”之间还可以相互调用、进行数据传递。我们一起来看下“类”有哪些特性:

  • 成员变量,类内部定义的变量,可以定义私有、公有;
  • 构造函数,默认无参 ,可以定义有参构造函数,在创建类实例对象时使用;
  • 成员/静态函数,类实例或类调用,复杂具体的逻辑,函数内部可以使用类成员变量、可以利用函数对外输出类的成员变量。

借鉴“类”的特性,于是,我们可以对组件有以下的定义:

  • 组件变量:组件内部运行时对处理数据的变量,类比于“类”的成员变量;
  • 组件函数:运行组件的入口,组件函数可以定为携带参数,也可以携带参数,类比于“类”的构造函数;
  • 组件事件:组件运行时的点击对外输出的事件,可以通过组件事件对外输出组件变量,类比于“类”的成员函数。

每个组件的开发者,需要定义组件的组件变量、组件函数、组件事件,当然这三者不是必须同时存在,某些特性在一些组件中可以没有。

这样就可以做到组件联动了吗?怎么说得云里雾里的。

是的,是可以的,举一个跟上面阿里云控制页面差不多的功能场景:输入日期筛选后,下面的表格显示满足条件的数据

我们做一下需求分析,在页面需要一个筛选器组件(用于筛选)和一个表格组件(用于展示数据),筛选器组件和表格组件定义的组件的属性见下表:

我们用一句简单的语句就可以实现这个需求了:在筛选器组件的组件事件(执行查询后)添加语句:

表格组件.刷新表格(筛选器组件.筛选条件)

OK 了,简单吧!

这样, 在实现组件自身的功能的同时定义好每个组件的组件变量、组件函数、组件事件,这样可以达到组件之间可以任意组合,组件交互联动,数据联动也不在话下!

基于上面的机制,我们开发一个稍微复杂一点的订单管理功能,功能特性有:

  • 支持按订单的金额、下单时间、订单编号等筛选订单明细
  • 统计每日订单消费金额、每月汇总订单消费金额
  • 展示订单明细,支持新增订单、编辑订单、查看订单详情、删除订单。
  • 筛选、统计、订单明细之间要相互联动,包括新增/编辑/删除订单也是刷新订单明细和统计。

具体效果可以查看下图

看着有点复杂功能,其实我们利用几个组件和几句语句就开发好了,展示部分截图

当然上面使用的都是一些简单的语句,后来随着功能的扩展,类比于一般的编程语言,我们逐步加入了条件判断语句、循环判断语句、声明变量语句等等,可以看下图简单了解一下,这里就不详细展开。

3. 前后端数据联动

有细心的小伙伴可能已经发现了,你上面的一顿分析都是前端组件之前的联动,如果前端需要调用后端某个接口怎么处理呢,比如我在表格组件中添加了一个按钮,这个按钮需要执行后端接口的逻辑,那又怎么实现呢?

这是一个好问题,首先我们在实现某些组件时会封装调用特定的后端接口,比如表格组件展示数据,我们会调用查询数据接口,表单提交数据会调用新增数据接口,但是这解决不了前端调用用户自己编写的接口。

这个过程中我们想了很多办法,比如前端事件触发后台工作流?专门开发一个前端组件调用后端接口?利用数据表事件、定时任务变相地解决这个问题?等等方案,但不是很优雅,不是很符合我们编程语言中的使用习惯

后来我们将用户自己编写的后端接口放在服务下,就像传统编程语言中编写某个类下的函数一样,前端组件调用后端接口就按照执行指定的格式调用就好。

比如 XX 服务.XX 函数,可以看下图中的语句

这个设计也是经历过很长的积淀才形成的,完美而优雅,这里就不再详细分析了,后续专门出一篇文章介绍,这个过程也是美妙又有趣的!

在服务下编写后端接口:

五、略微小结

至此,我们很完美地完成这项任务,设计出了一个灵活性强、易用性高的前端页面设计器,文章写出来看着轻松,可是其中的过程却是异常艰辛,中间走了不少弯路,试了不少错,幸运的是,结果是好的。在这次设计过程中,我也总结了几点设计经验与大家分享:

  • 分析问题本身,探索问题本质,透过现象看本质;
  • 先顶层设计,再考虑细节;
  • 经典永不过时,多向经典的编程思想借鉴学习,设计思想都是互通的;
  • 不断迭代、不断否定,追寻问题的最优解。

以上就是我的分享,如果你对低代码或者产品设计感兴趣,可以在评论留言或者私我,我们下一期再见。

本文由 @桃树窗前 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务