2017年微信推出小程序以来,创造了一种新颖的开发模式,近几年前端开发的技能项里就明确要求会小程序开发。但是利用微信开发者工具开发微信小程序,门槛颇高。
既要求有前端开发技能,还得学习小程序的开发语言,如wxml、wxss等,框架、组件、api一套学习下来就感觉门槛很高了。
为了降低学习和使用难度,今年一月份腾讯云适时的推出了一款低代码开发工具,微搭,主要就是解决快速开发的问题。依托于腾讯云底层的云开发技术,提供了一套在线的小程序开发工具,全程使用拖拽的形式进行开发,无需编码没有前端开发经验的人也可以使用。
介绍了这么多,光说不练假把式,那我们就以一个实战案例来介绍一下低代码工具的具体用法。
需求场景
大型机构内部一般会有面向内部服务的部门,随着科技和网络的发展,有的机构充分利用互联网技术为机构的职工提供服务。在互联网技术中,小程序无疑是非常方便的,可以直接在微信打开用完即走。
我们本次的实战也是利用小程序开发一款每周菜谱的小应用,管理员可以维护一周的菜谱信息,职工可以通过小程序来查看一周的菜谱。菜谱管理主要拆分成具体的功能点来开发
- 列表查询
- 查看功能
- 新增功能
开发流程
对比于传统开发,低码开发的流程还是显著不同的。传统开发我们需要各个岗位配合,不同岗位掌握了不同的技能。如项目管理岗擅长沟通和计划管理,产品岗擅长产品设计,研发岗侧重功能开发,测试岗侧重功能测试及质量检查,运维岗关注服务器技能。
参与的岗位越多所需的沟通成本也越多,而且人越多成本也就大大增加了。低码开发最大的特点是可以一个人全栈开发,而且对各项技能要求不高。可以在很短的时间里关注最小功能进行最小的试错,及时的按照用户的反馈调整产品的研发方向。
人越少所需的成本越小,而且只需要租用少量的资源就能发布成线上应用,用现在流行的话就是快速的助力企业业务上云。
列表功能开发
传统开发模式,我们在做功能开发时一般会由平台组提供一套已经集成好的开发框架,我们主要是在开发框架里分包建立自己的功能,比如java开发的话需要建立控制层、业务层、数据库层、表现层等相关代码。
低码开发的话数据源管理相当于传统开发的数据库层,主要包括数据库表的建立及增删改查方法的建立。如果业务逻辑简单其实直接使用平台建立的方法即可,并不需要自己写什么代码。
步骤一 建立数据源
建立的方法也比较简单,只需要在微搭的控制台新建一个内部数据源,增加对应的字段即可。
数据库的字段可以参考我下边的表格
菜谱表
字段名称 | 字段英文名称 | 数据类型 |
---|---|---|
开始日期 | begindate | 字符串 |
结束日期 | enddate | 字符串 |
周一早餐 | mondaybreakfast | 字符串 |
周一午餐 | mondaylunch | 字符串 |
周二早餐 | tuesdaybreakfast | 字符串 |
周二午餐 | tuesdaylunch | 字符串 |
周三早餐 | wednesdaybreakfast | 字符串 |
周三午餐 | wednesdaylunch | 字符串 |
周四早餐 | thursdaybreakfast | 字符串 |
周四午餐 | thursdaylunch | 字符串 |
周五早餐 | fridaybreakfast | 字符串 |
周五午餐 | fridaylunch | 字符串 |
周六早餐 | saturdaybreakfast | 字符串 |
周六午餐 | saturdaylunch | 字符串 |
周日早餐 | sundaybreakfast | 字符串 |
周日午餐 | sundaylunch | 字符串 |
标题 | title | 字符串 |
步骤二 建立页面
这里的页面就类似于java开发中的jsp,我们可以在页面中写前端的代码。和传统开发显著不同的地方是我们所谓的“开发”,是指从组件库中拖组件。我们先需要新建列表页面,具体方法是在页面管理里新建页面
输入页面名称和标识就可以
有了页面之后我们就可以拖动组件了,你熟练使用组件了基本也就算入门了。
其实官方的组件库在开发时就已经充分考虑大家的业务场景了,对于这种列表查询还是很常见的业务场景,官方的组件库中展示类组件就是干这个的。
初次使用这些组件,名字还是很有迷惑性的,乍一看还长得差不多。我感觉初学最大的难点是理解容器的概念,我理解就和搭积木一样,要往上搭建你总得有个底座,这个底座就叫容器,搭好底座我们就可以往容器里边放置具体的组件了。
为了实现列表的效果,我们先增加列表容器组件,有两种方法可以增加,一种是单击组件名称,另外一种是拖动,我自己的习惯是单击,这样会快一点。
我们先单击一下列表容器组件,你会看到中间的编辑区会增加了一个组件
组件添加进去默认会出现一个蓝框,意思是这个组件是被选中的状态,在组件的右边会出现三个标签,数据、样式和事件。
数据页签介绍
我们在传统开发中通常需要对组件进行数据绑定,不管是直接赋值也好,还是使用循环展示也好,低码中的数据其实就是为了做数据绑定使用的。
如果你是一个简单的展示,那可以直接设置值,如果是需要展示从数据库中获取到的值需要进行数据绑定,具体方法就是在属性的右边那个超链接的图标进行绑定
绑定数据有四种方式分别为状态变量、参数变量、表达式、for循环。不同的功能使用的方式是不一样的,具体采用哪种方式需要我们在实践中不断的摸索,不断的总结。经验多了也就知道在什么场景下用什么样的方式了。
样式页签介绍
我们传统开发通常将样式写在css文件中,低码开发是在每个组件的样式页签中进行设置的
基本上涵盖了CSS中常用的各种设置,对于我这种小白来说日常我是习惯在这里设置的,当然如果你对前端开发非常熟悉也可以直接写代码,在样式代码编辑里可以直接写
这个地方就可以体现出低码的特点,主要是配置,也支持手写代码
事件页签介绍
在开发领域我们有几种叫法,一种叫面向对象编程,还有一种叫面向事件编程。因为我们主要的技术栈是在前端,所以主要是以事件做驱动,事件页签里决定了这个组件能响应什么样的事件。
像我们添加的这个容器就不支持绑定事件
我们用了一定的篇幅介绍了一些通用的概念,还是回到我们的实战开发上来,容器组件的话我们只需要修改一下标题就可以,修改成每周菜谱查询列表
容器设置好后相当于我们打好了地基,接着就需要放置我们真正显示列表标题的组件了,我们将元素列表组件拖入到容器组件中。当然了我不太习惯拖进去,我还是习惯在大纲树中增加,所以需要切换到大纲树视图,我们选中列表容器的插槽
选中插槽后我们再切换到组件视图,将列表元素组件放到插槽中
组件放置好后我们第一件事需要做的就是数据绑定,自然是绑定列表的集合了。初学者到这块可能就懵了,我要怎么设置才可以循环展示一个集合的数据呢?
其实也很简单,只需要点击for循环展示旁边的超链接图标进行数据绑定即可
但是现在空空如也,没办法选择啊
到了这一步就需要我们再介绍另外一个概念,变量。在编程的世界变量是用来放置值的地方,为了放置值就需要先定义,那低码是如何定义的呢?需要在变量管理里定义
找到我们创建的菜谱页面,展开,点击状态变量旁边的 号
我们这个变量的目的是从数据源中获取菜谱的集合,所以变量类型类别选择数据源,选择我们定义好的菜谱数据源,方法的话选择列表,变量初始化方法选择内置的getList
有过开发经验的小伙伴也能理解这个地方就相当于执行数据库查询,将返回的集合赋值给我们定义好的变量。定义好变量之后我们再回到编辑器中就可以绑定我们刚刚定义的变量啦
绑定好数据之后我们看到界面就显示了多条数据
有小伙伴会有疑问,我没在数据库中存入数据啊,它这怎么就会有数据呢?其实微搭是分为三个模式,开发模式、预览模式和生产模式。开发模式工具会自动生成测试数据方便我们看到组件的设置效果,其他两个模式需要预览发布后才能看到具体的效果。
我们只需要显示标题信息,所以需要设置一下组件的数据属性。初学的时候如何绑定标题就挺难的,其实就是从循环体里设置数据就可以,比如要设置标题,点击旁边的超链接
但是点开又有点懵,不知道该选择哪一个,其实用开发的思路理解一下,我们刚才设置的是for循环的变量,这里边当然要从循环体里设置值啦
绑定后的效果是这个样子的
其余的我们不需要擦掉就可以
这样列表的数据绑定工作就完成了,接着就得定义事件了。我们需要在列表上绑定一个点击事件,所以需要切换到事件页签。
事件呢先得需要选择你要响应哪个事件,然后就是动作的类型,一共有三个选项,低代码、平台方法和数据源。
低代码呢允许我们自己定义代码自由定制业务逻辑,平台方法是预置的方法,数据源的话可以调用平台预定义的增删改查的方法。
我们这里其实是选择的低代码方法,因为需要将这条记录的主键传到下一个页面中。没看错,我们又需要讲解一个新的知识点,如何定义低代码方法。在导航条点击低代码编辑按钮就可以
找到我们创建的菜谱页面,在handler旁边点击 号,输入方法名称就可以
好吧,到了这一块难度一下子就提升了一个数量级,因为跳转到查看页面是需要传参的,所以需要开始写代码了
代码语言:txt复制export default function({event, data}) {
app.navigateTo({
pageId: 'menudetail',
params: {
menuid: data.target
}
})
}
代码的话也不复杂,其实就是调用了平台的导航方法,将跳转到的页面的ID和当前这条记录的主键传递过去,查看页面就可以根据传过来的主键把数据查出来。至此,列表功能就开发好了,小伙伴们可以按照我的讲解先把列表功能实现了然后咱们再继续。
查看功能开发
在列表页我们使用了低代码定义了点击事件,也将菜谱的主键传入到了查看页面,我们讲解一下如何在查看页面获取数据并进行展示
新建页面
先在页面管理创建一个新页面,页面id要和低代码的pageId保持一致
接着我们考虑页面的布局,我们在移动端的信息一般是从上到下,每一行展示一个信息,切换到组件页签,我们还是先添加列表容器,并且修改标题为菜谱信息查看
然后切换到大纲视图,选中插槽
切换到组件视图,增加列表元素组件
第一个组件放置好后,就需要考虑如何展示菜谱的信息,思路是需要在组件上做数据绑定,我们还是先定义变量来获取菜谱的信息
点击变量管理
我们先需要在详情页定义一个参数变量,用来接收列表页面传递过来的参数,记着变量的名称要和列表页低代码里命名保持一致
然后定义一个状态变量来获取菜谱的具体信息,我们选择的是调用数据源的获取单条方法
获取单条需要传入参数,我们点击旁边的超链接图标绑定我们刚才定义好的参数变量
变量定义好后我们就可以将变量绑定到组件上啦,还是点击组件的超链接图标,我们将组件的右侧内容绑定为刚才定义的变量的title字段
绑定好的效果如下图
按照上述方法依次将菜谱的其他信息都设置好
这样查看页面就做好了。
新增功能开发
数据查询的功能做好后,我们就接着开发新增的功能,我们先在列表页面上增加一个按钮,用来引导新增页面
我们给按钮定义个点击事件,选择平台的方法导航就可以
添加好后我们需要创建新增页面,在页面管理增加一个页面即可
回到列表页面将按钮的导航页面设置为刚才的页面
接着在新增页面先放置一个表单容器
依次放入表单输入组件
这里需要注意的地方是表单字段名称要和我们数据源定义的字段名称一一对应
输入项都设置好后,我们增加一个按钮组件,将按钮用于form组件属性那块设置成提交
然后选中表单容器组件,给表单容器定义事件,选中数据源即可
添加好后和我们的数据源进行绑定,方法的话选中创建单条记录就可以,这样新增功能就做好了。
预览发布
功能开发好后,我们点击预览发布,选中实时预览,编译成功后就可以在手机上体验啦
后续展望
目前低码工具提供了h5和小程序的在线制作工具,6月底将上线PC端的功能,可以在线的制作后台管理的功能。随着技术的发展,后续将会有越来越多的应用通过低码技术实现,未来前景广阔,大有作为。如果觉得本篇对您有用,还望评论、收藏、点赞。原创不易,还需您的鼓励。
系统体验地址
我已经成为微搭的第一批体验会员,教程展示的小程序也已上线,欢迎在线体验
每周菜谱小程序