启程:当代码变成魔法积木 / Journey: When Code Becomes Magic Building Blocks
十月的风卷着糖炒栗子的香气撞进育英中学的走廊时,初二(3)班的林小杰正蹲在储物间门口,攥着一沓皱巴巴的义卖商品登记表,指尖被圆珠笔磨得发疼。上周五的校园义卖本该是年级里最热闹的活动,可到他负责的手工区,却乱成了一锅粥:登记表上“手工编织手链”的库存写着10个,实际卖出去18个,剩下的2个不知道被哪个同学随手塞进了赠品堆;原本标价15元的钥匙扣,有3个被当成10元卖了,收上来的钱和登记数对不上,班主任让他整理剩余物资和义卖款,他对着写得歪歪扭扭的登记表看了半小时,连总销售额都没算明白。
小杰不是没想过解决办法。他是科创社的预备社员,之前看学长用Python写了个自动算体测分数的程序,觉得特别酷,特意下载了Python入门教程,打算自己写个义卖管理工具。可现实给了他一记重锤:光是安装运行环境就花了半小时,还弹出一堆他看不懂的红色报错;照着教程敲了第一行`print('hello world')`,刚运行出来还没来得及开心,接下来写输入商品名称的代码,折腾了快一个小时,运行的时候跳出来一行红字:`IndentationError: expected an indented block`。他查了半小时才知道是缩进的问题,气得把键盘推到一边,把教程页面关掉的时候,心里满是挫败:难道做个管理工具,非要学会这么难懂的代码才行吗?
“蹲这儿干嘛呢?作业写完了?” 温和的声音从身后传来,小杰抬头一看,是科创社的指导老师陈默。她怀里抱着一摞青少年科技创新大赛的奖状,手里还
手里还攥着一盒刚打印出来的义卖活动照片,帆布鞋的鞋尖沾了点上周带科创社学生去市科技馆做研学时蹭的蓝色彩色粉末,口袋里露出半块给社里学生准备的芒果味奶糖。她没提小杰蹲在储物间门口的事,反而也跟着蹲下来,指尖点了点登记表上歪歪扭扭的数字:“去年我带初一的义卖,对账对到晚上八点,还差37块,后来是卖柠檬水的同学多收了10块——本来应该找5块,她找了15,卖手编手作的同学少找了27,买的人给了50,她找了23,加起来刚好差37,找了一晚上。”
小杰的脸一下子涨得通红,把手里的登记表攥得更紧了,本来以为要挨骂,没想到老师根本没提他负责的区乱成一锅粥的事,反而把照片盒放在地上,抽出一张义卖时大家笑得东倒西歪的照片给他看:“其实义卖乱很正常,去年我们全校12个班的义卖,只有2个班对账一分钱没差,剩下的10个班,最少差了20块,最多差了200多。你要是能做个工具,以后义卖再也不会乱,是不是比算对这次的账有用多了?”
他猛地抬头,还没说话,陈默老师又笑着指了指他放在地上的Python入门教程:“刚才我路过的时候,看见你对着报错页面皱眉,怎么,想学编程做工具?”
小杰泄气地踢了踢脚边的废纸团:“想啊,但是Python太难了,我装环境装了半小时,弹了一堆红字我都不认识,写个输入框的代码折腾了一个小时,最后说缩进错了,我哪知道什么缩进不缩进的啊,感觉编程都是给学霸做的,我肯定学不会。”他说着说着声音越来越小,想起之前看科创社的学长写代码,手指在键盘上敲得飞快,屏幕上跳来跳去的代码他一个字都看不懂,更觉得自己不是那块料。
陈默老师笑出了声,从口袋里掏出半块奶糖递给他,又把自己的平板打开,点开一个他从来没见过的平台:“你刚才说想做义卖管理工具,要什么功能来着?我想想啊,第一,能录商品,比如手链10个,每个15块,钥匙扣20个,每个10块;第二,卖的时候点一下商品,选卖几个,自动算总价,库存自动减;第三,最后自动算总共卖了多少钱,剩多少货,不用你手算,是不是?”
小杰愣愣地点头,他刚才跟班长提需求的时候就是这么说的,没想到老师记得清清楚楚。
“那你看看,这个是不是你要的东西。”陈默老师的手指在平板上点了点,先拖了一个写着“数据表”的方块到界面里,点了两下,建了三个字段:商品名称、库存、单价。然后又拖了三个更小的方块,分别填了“手工编织手链”“10”“15”,“金属钥匙扣”“20”“10”,“手工香皂”“15”“12”,刚才还空白的界面,瞬间就有了三个商品的信息。她又拖了一个带下拉框的方块,一个数字输入框,一个写着“计算总价”的方块,用线把三个连起来:下拉框选商品→输入框输数量→自动算单价乘数量的总价。最后又拖了一个小方块,设置成“卖出后库存自动减少对应数量”,再拖一个带数字的方块,设置成“自动累加总销售额”。
整个过程不到5分钟,界面上就出现了一个简单的义卖管理工具:左边是商品列表,右边是销售操作区,最下面是实时更新的总销售额和库存统计。陈默老师点了一下“手工编织手链”,输入数量“2”,右边瞬间跳出来“30元”,左边的库存从10变成了8,最下面的总销售额从0变成了30。
小杰的眼睛一下子瞪圆了,他伸手戳了戳屏幕上的数字,是真的,不是特效:“这……这是你写的代码?怎么这么快?”
“我一行代码都没写。”陈默老师笑着把平板递给他,“这就是低代码,Low-code,也就是‘少代码’的意思。你看这些方块,就是低代码里的组件,Component,每个组件都是一个已经做好的功能,你只要拖过来,填上你想要的内容,拼起来就能用,不用记语法,不用装环境,几乎不会遇到那种红色的报错,就像你玩乐高一样,不用自己造积木,只要会拼,就能搭出房子、汽车,甚至你想要的任何东西。”
<!-- 纸书:本节核心概念引入,结合义卖场景具象化低代码定义 --> <!-- 电子版:侧边栏提示💡 你平时玩的Scratch其实就是最早的青少年向低代码工具哦! --> <!-- Markdown:核心概念标签:low-code, component, drag-and-drop -->
小杰接过平板,试着拖了一个新的商品“卡通贴纸”,填了库存30,单价5元,居然真的直接就加到了商品列表里,他试着重置了库存,输入卖5张贴纸,总价瞬间变成25,库存变成25,他之前想了好几天都没做出来的功能,现在拖了不到10下就出来了,他甚至能感觉到自己心跳加快,之前对着Python报错页面涌上来的挫败感,一下子散了大半。
“等等,低代码……我之前好像在科创社的公众号里见过?”小杰突然想起什么,上学期他帮科创社整理资料的时候,看见过一篇介绍省赛获奖项目的文章,里面提过一个初一的女生用低代码做了个校园失物招领系统,拿了二等奖,“是不是就是那个不用写很多代码的开发方式?”
“对,而且低代码不是最近才有的东西。”陈默老师从照片盒里抽出一张去年科创大赛的获奖名单,指着一个初一的女生名字,“就是这个项目的作者,她做的校园流浪猫救助登记系统,也是用低代码做的,三个功能:喂猫的同学可以上传流浪猫的照片、位置、健康状况,系统自动统计每只猫的喂食次数、疫苗时间,快到疫苗时间了自动给负责人发微信提醒,整个项目她只花了2周,要是用传统编程写,她至少要学半年Python才能做出来,最后拿了省一等奖,现在当地的动物救助站都在用她的系统。”
她翻到另一页,是一张低代码发展历程的简图:“其实低代码的概念最早是2014年由两家美国咨询公司Forrester和Gartner提出的,专门指这种‘用可视化方式、少量代码就能开发应用’的工具,但它的雏形早就有了。90年代的Visual Basic就是最早的可视化开发工具,让普通人也能做Windows软件,后来2007年MIT做的Scratch,就是专门给青少年做的低代码工具,让你们不用写代码就能做动画、做小游戏,只是那时候大家不叫它‘低代码’而已。现在低代码已经发展得很成熟了,不光能做小游戏、小工具,还能做网站、做小程序、做企业用的管理系统,甚至很多大公司的内部工具,比如请假审批、物资管理、活动报名,都是用低代码做的,不用找程序员排期,业务人员自己拖几天就做完了。”
小杰听得入神,手指在平板上无意识地划着,刚才拼的那个义卖工具还在运行,他刚才试了卖3个钥匙扣,总价自动变成55,库存变成17,一切都很顺,没有报错,不用查资料,就像真的在玩积木一样。
“那低代码是不是什么都能做?”他突然想起之前学长说的,低代码都是玩具,做不了正经东西。
“当然不是。”陈默老师笑着摇头,点开一个低代码平台的 limitations(局限性)说明页面,“低代码适合做逻辑比较标准化、定制化程度不太高的工具,比如我们平时做的活动管理、数据统计、信息收集,这些都有现成的组件,拖过来就能用,效率是传统编程的10倍以上。但如果是逻辑特别复杂、需要高度定制化的项目,比如3A游戏、AI大模型、操作系统,那还是需要专业编程,低代码做不了。而且低代码也不是不用学逻辑,你还是要搞清楚‘先录入商品,再卖东西,最后统计’这个顺序,就像拼乐高你要先看说明书一样,不然积木拼得再顺,做出来的东西也不能用。”
她点了点刚才拼的义卖工具的工作流:“你看这个工具的逻辑顺序,就是先建数据表存商品信息,再做录入和销售的界面,最后做统计,这个顺序就是Workflow,工作流,是低代码开发里最重要的部分,比记语法重要多了。很多同学觉得编程难,其实不是逻辑难,是被语法、环境、报错这些门槛挡住了,低代码就是把这些门槛拆掉,让你不用浪费时间记命令、调环境,能把精力放在你想做的功能上。”
<!-- 纸书:本节核心原理解释,对比低代码与传统编程的差异 --> <!-- 电子版:侧边栏提示⚠️ 低代码不是编程的替代,而是编程的“入门电梯”,能帮你快速建立逻辑思维,以后再学专业编程也会更容易 --> <!-- Markdown:核心概念标签:workflow, visual development -->
小杰盯着那个工作流看了半天,突然反应过来:“那我之前学Python,折腾了好几天连个输入框都做不出来,用低代码只要5分钟?”
“对,而且你不用先学会造积木,就能搭城堡。”陈默老师把平板的界面放大,给他看每个组件背后的代码,“你看这个‘计算总价’的组件,背后其实是写好的Python代码,你不用看,也不用改,只要拖过来,连上线,就能用。就像你用计算器算数,你不用会造计算器,只要会按按钮就能算出结果,低代码就是给你的开发用的‘计算器’。”
她说着点开一个青少年科创大赛的获奖项目列表,里面有好几个用了低代码的项目:“你看这个,去年全国青少年科技创新大赛里,有12%的参赛项目用到了低代码工具,比5年前翻了3倍,评委现在是认可低代码作为开发工具的,只要你的创意好,工具用得好,一样能拿奖。而且现在很多学校的信息技术课也开始教低代码了,比教Python入门简单多了,学生能更快做出自己的作品,兴趣也更高。”
小杰的指尖轻轻敲了敲屏幕,他想起自己之前想做的“班级图书借阅提醒工具”:每次借书登记在纸上,还书的时候经常忘,大家找书也找不到,要是用低代码做个工具,扫码就能借书,还书前3天自动给借书的人发提醒,还能搜书名找书在谁手里,这个想法他大半个学期前就有了,但是一直觉得“编程太难了,我做不出来”,现在居然觉得,好像真的能做出来。
“那……我现在就能做吗?”他抬头看向陈默老师,眼睛里亮得惊人。
“当然,你现在就能做。”陈默老师笑着把平板的界面退回到首页,上面是低代码平台的积木库,“今天我们就做你的第一个低代码工具,就用你刚才说的零花钱记账本,很简单,只要三个积木:一个数据表,一个录入表单,一个统计图表,10分钟就能做完。”
她话音刚落,科创社的门就被推开,隔壁班的班长张磊探出头来,手里
手里还攥着一盒刚打印出来的义卖活动照片,帆布鞋的鞋尖沾了点上周带科创社学生去市科技馆做研学时蹭的蓝色彩色粉末,口袋里露出半块给社里学生准备的芒果味奶糖。她没提小杰蹲在储物间门口的事,反而也跟着蹲下来,指尖点了点登记表上歪歪扭扭的数字:“去年我带初一的义卖,对账对到晚上八点,还差37块,后来是卖柠檬水的同学多收了10块——本来应该找5块,她找了15,卖手编手作的同学少找了27,买的人给了50,她找了23,加起来刚好差37,找了一晚上。”
小杰的脸一下子涨得通红,把手里的登记表攥得更紧了,本来以为要挨骂,没想到老师根本没提他负责的区乱成一锅粥的事,反而把照片盒放在地上,抽出一张义卖时大家笑得东倒西歪的照片给他看:“其实义卖乱很正常,去年我们全校12个班的义卖,只有2个班对账一分钱没差,剩下的10个班,最少差了20块,最多差了200多。你要是能做个工具,以后义卖再也不会乱,是不是比算对这次的账有用多了?”
他猛地抬头,还没说话,陈默老师又笑着指了指他放在地上的Python入门教程:“刚才我路过的时候,看见你对着报错页面皱眉,怎么,想学编程做工具?”
小杰泄气地踢了踢脚边的废纸团:“想啊,但是Python太难了,我装环境装了半小时,弹了一堆红字我都不认识,写个输入框的代码折腾了一个小时,最后说缩进错了,我哪知道什么缩进不缩进的啊,感觉编程都是给学霸做的,我肯定学不会。”他说着说着声音越来越小,想起之前看科创社的学长写代码,手指在键盘上敲得飞快,屏幕上跳来跳去的代码他一个字都看不懂,更觉得自己不是那块料。
陈默老师笑出了声,从口袋里掏出半块奶糖递给他,又把自己的平板打开,点开一个他从来没见过的平台:“你刚才说想做义卖管理工具,要什么功能来着?我想想啊,第一,能录商品,比如手链10个,每个15块,钥匙扣20个,每个10块;第二,卖的时候点一下商品,选卖几个,自动算总价,库存自动减;第三,最后自动算总共卖了多少钱,剩多少货,不用你手算,是不是?”
小杰愣愣地点头,他刚才跟班长提需求的时候就是这么说的,没想到老师记得清清楚楚。
“那你看看,这个是不是你要的东西。”陈默老师的手指在平板上点了点,先拖了一个写着“数据表(Data Table)”的方块到界面里,点了两下,建了三个字段(Field):商品名称、库存、单价。然后又拖了三个更小的方块,分别填了“手工编织手链”“10”“15”,“金属钥匙扣”“20”“10”,“手工香皂”“15”“12”,刚才还空白的界面,瞬间就有了三个商品的信息。她又拖了一个带下拉框的方块,一个数字输入框,一个写着“计算总价”的方块,用线把三个连起来:下拉框选商品→输入框输数量→自动算单价乘数量的总价。最后又拖了一个小方块,设置成“卖出后库存自动减少对应数量”,再拖一个带数字的方块,设置成“自动累加总销售额”。
整个过程不到5分钟,界面上就出现了一个简单的义卖管理工具:左边是商品列表,右边是销售操作区,最下面是实时更新的总销售额和库存统计。陈默老师点了一下“手工编织手链”,输入数量“2”,右边瞬间跳出来“30元”,左边的库存从10变成了8,最下面的总销售额从0变成了30。
小杰的眼睛一下子瞪圆了,他伸手戳了戳屏幕上的数字,是真的,不是特效:“这……这是你写的代码?怎么这么快?”
“我一行代码都没写。”陈默老师笑着把平板递给他,“这就是低代码,Low-code,也就是‘少代码’的意思。你看这些方块,就是低代码里的组件(Component),每个组件都是一个已经做好的功能,你只要拖过来,填上你想要的内容,拼起来就能用,不用记语法,不用装环境,几乎不会遇到那种红色的报错,就像你玩乐高一样,不用自己造积木,只要会拼,就能搭出房子、汽车,甚至你想要的任何东西。”
<!-- 纸书:本节核心概念引入,结合义卖场景具象化低代码定义 --> <!-- 电子版:侧边栏提示💡 你平时玩的Scratch其实就是最早的青少年向低代码工具哦!拖拽积木就能做动画、做小游戏,和今天的操作原理一模一样 --> <!-- Markdown:核心概念标签:low-code, component, drag-and-drop -->
小杰接过平板,试着拖了一个新的商品“卡通贴纸”,填了库存30,单价5元,居然真的直接就加到了商品列表里,他试着重置了库存,输入卖5张贴纸,总价瞬间变成25,库存变成25,他之前想了好几天都没做出来的功能,现在拖了不到10下就出来了,他甚至能感觉到自己心跳加快,之前对着Python报错页面涌上来的挫败感,一下子散了大半。
“等等,低代码……我之前好像在科创社的公众号里见过?”小杰突然想起什么,上学期他帮科创社整理资料的时候,看见过一篇介绍省赛获奖项目的文章,里面提过一个初一的女生用低代码做了个校园失物招领系统,拿了二等奖,“是不是就是那个不用写很多代码的开发方式?”
“对,而且低代码不是最近才有的东西。”陈默老师从照片盒里抽出一张去年科创大赛的获奖名单,指着一个初一的女生名字,“就是这个项目的作者,她做的校园流浪猫救助登记系统,也是用低代码做的,三个功能:喂猫的同学可以上传流浪猫的照片、位置、健康状况,系统自动统计每只猫的喂食次数、疫苗时间,快到疫苗时间了自动给负责人发微信提醒,整个项目她只花了2周,要是用传统编程写,她至少要学半年Python才能做出来,最后拿了省一等奖,现在当地的动物救助站都在用她的系统。”
她翻到另一页,是一张低代码发展历程的简图:“其实低代码的概念最早是2014年由两家美国咨询公司Forrester和Gartner提出的,专门指这种‘用可视化方式、少量代码就能开发应用’的工具,但它的雏形早就有了。90年代的Visual Basic就是最早的可视化开发工具,让普通人也能做Windows软件,后来2007年MIT做的Scratch,就是专门给青少年做的低代码工具,让你们不用写代码就能做动画、做小游戏,只是那时候大家不叫它‘低代码’而已。现在低代码已经发展得很成熟了,不光能做小游戏、小工具,还能做网站、做小程序、做企业用的管理系统,甚至很多大公司的内部工具,比如请假审批、物资管理、活动报名,都是用低代码做的,不用找程序员排期,业务人员自己拖几天就做完了。”
> 📌 电子版脚注: > [^1]: Forrester Research是全球知名的科技咨询公司,2014年在其发布的《低代码开发平台市场概览》报告中首次正式提出“低代码”概念。 > [^2]: Gartner是全球领先的信息技术研究与顾问咨询公司,其每年发布的“低代码魔力象限”是行业内的权威参考。
小杰听得入神,手指在平板上无意识地划着,刚才拼的那个义卖工具还在运行,他刚才试了卖3个钥匙扣,总价自动变成55,库存变成17,一切都很顺,没有报错,不用查资料,就像真的在玩积木一样。
“那低代码是不是什么都能做?”他突然想起之前学长说的,低代码都是玩具,做不了正经东西。
“当然不是。”陈默老师笑着摇头,点开一个低代码平台的局限性(Limitations)说明页面,“低代码适合做逻辑比较标准化、定制化程度不太高的工具,比如我们平时做的活动管理、数据统计、信息收集,这些都有现成的组件,拖过来就能用,效率是传统编程的10倍以上。但如果是逻辑特别复杂、需要高度定制化的项目,比如3A游戏、AI大模型、操作系统,那还是需要专业编程,低代码做不了。而且低代码也不是不用学逻辑,你还是要搞清楚‘先录入商品,再卖东西,最后统计’这个顺序,就像拼乐高你要先看说明书一样,不然积木拼得再顺,做出来的东西也不能用。”
她点了点刚才拼的义卖工具的工作流(Workflow):“你看这个工具的逻辑顺序,就是先建数据表存商品信息,再做录入和销售的界面,最后做统计,这个顺序就是Workflow,工作流,是低代码开发里最重要的部分,比记语法重要多了。很多同学觉得编程难,其实不是逻辑难,是被语法、环境、报错这些门槛挡住了,低代码就