在这里插入图片描述

1.前言

在这里插入图片描述

上节我们对CodeWave有了一个整体介绍,本节我将为大家分享一下我的CodeWave的学习路线图,我将由浅入深为大家循序渐进的介绍CodeWave,我将从6个角度为大家介绍,按上图所示,我将分别存了解,试用,入门,使用,实践,扩展与集成这几个维度进行介绍,希望通过本节课,大家对CodeWave的学习方法和路线有一个清晰的认识。

2. 了解

本小姐我们将了解CodeWave是什么?有什么功能?具有什么优势?有哪些应用场景等。

2.1 CodeWave是什么?

CodeWave以智能大模型和全栈低代码为基座,为企业提供更加智能化的软件生产方式,IT人员可以轻易实现从“智能生成”到“可视化拖拽调整”的全栈低代码应用搭建,让复杂应用开发更加高效,加快企业数字化与智能化进程。

2.2 CodeWave有什么功能?

  • 数据模型设计: 通过实体、数据结构、枚举等构建低代码数据模型。 可视化定义数据之间的关联关系,平台自动生成数据库和接口
  • 页面设计: 基于模板创建页面或在空白页面上通过拖、拉、拽组件的方式完成页面搭建。平台提供大量标准化组件,以及组件扩展能力
  • 逻辑设计: 平台提供逻辑单元,可使用搭积木的方式完成逻辑判断、接口调用、逻辑调用等前后端逻辑功能
  • 流程设计: 集成流程引擎,支持 BPMN2.0 规范的业务流程开发,并在此基础上进行了模型和符号标准化。可支持常规流程的快速开发,如请假、入职、离职等企业内常用流程。
  • 接口集成: 企业存量接口可通过低代码平台快速导入,并自动接入 API 网关。提供可视化定义接口能力,并将接口自动接入 API 网关
  • 资产中心: CodeWave 智能开发平台的应用、页面、组件、接口等不同粒度的软件资产,均支持灵活复用,节省大量劳动力成本

2.3 CodeWave有什么优势?

  • 高保真还原交互视觉需求:开放性使其具备更高的客制化能力,可以高保真还原交互视觉要求,突破企业自定义需求开发受限等难题
  • 擅长复杂应用开发:采用数据模型优先的设计理念,提供大量标准化组件以及完备的逻辑组件和流程框架,支持多人协作开发,可帮助大中型企业低成本、快速构建关键应用和复杂核心系统
  • 支持应用导出&独立部署:提供应用导出与独立部署能力,支持将应用源代码导出, 并脱离平台部署到其他环境
  • 金融级安全要求:提供应用源码,无黑盒式引擎,确保应用的代码级安全
  • 可集成性高: 支持集成对接客户自有或第三方的数据库、文件存储、认证源、API 等,可以实现应用开发资产互通互联,打通低代码平台和企业软件生态的壁垒
  • 可拓展性强 :支持通过自定义扩展组件或区块、开发新组件、替换组件库等方式灵活拓展平台能力

2.4 CodeWave有哪些应用场景?

企业数字化需求,具体的应用产品包括:项目管理:产品研发项目全生命周期,实时进度掌控;OA:企微对接、流程审批,组织架构和员工信息管理;招聘面试管理:简投递历、筛选简历、笔试管理、面试邀请,招聘面试全流程高效管理;客户管理:帮销计划)执行再划》再执行,持续改进;ERP系统:协调公司的各个业务流程之间的数据流提供单一事实源并简化整个企业的运营;公司官网:快速搭建官方网站,支持多样的视觉样式营销内容敏捷更新;资产预算系统:资产预算填报,涉及复办的资产逐级填报审批,定时拉取、计算数居等功能;供应链系统:供应链系统,包含完整的进销存管理、仓储管理、供应链监管等相关模块。

3.试用和购买

这里我们将学习CodeWave的注册试用方式,以及个人版与专业版,团队版的不同,用户需要根据自己的情况选择对应的版本。

3.1 CodeWave注册试用

可前往数帆官网注册账号,免费试用SaaS个人版&团队版,按需购买升级SaaS专业版及私有化部署版。官网地址为:CodeWave智能低代码开发平台_低代码产品平台架构_企业级应用低代码研发平台_网易数帆 (163.com)

(1)进入官网后,点击“免费使用” 申请个人版
在这里插入图片描述

(2)输入个人手机号码以及验证码申请试用,也支持微信登录,此步骤同时需要补充个人信息,包括公司信息等。
在这里插入图片描述

用户登录成功之后,就已经是个人版了,再次用户就可以使用CodeWave的所有功能了,如果你是公司,你可能需要对公司进行认证,这样你就可以使用团队版了。

3.2 个人版与专业版,团队版的不同

在这里插入图片描述

因为我是个人使用,此处我只关注了个人版的能力,足够个人使用,对于有团队需求的用户,请根据上图进行选择,这里就不做介绍了。

4.入门

本节我们将了解CodeWave应用开发流程,概念和术语,可视化编辑器,什么是数据模型,页面布局和呈现,什么是逻辑以及主题样式等。

4.1 应用开发流程介绍

在这里插入图片描述

低代码平台提供应用的全生命周期管理。在整个应用开发过程中,从应用创建,到应用开发迭代,再到应用上线和运维,都是通过可视化的方式进行管理。开发者通过可视化设计器进行数据模型、逻辑、页面、流程的编辑和权限的配置,预览应用进行功能测试,一键发布到生产环境交付使用。

4.2 概念和术语

平台基础概念

概念 含义
应用 低代码应用是指采用低代码开发平台进行开发的应用程序。相比于传统的代码编写方式,低代码应用开发平台提供了更高层次的抽象和自动化,使得开发者可以通过拖拽、配置等简单的方式创建应用程序
IDE 在低代码平台中,IDE(Integrated Development Environment,集成开发环境)是指可视化开发工具,提供了可视化的界面和拖拽式的元素组件,帮助用户快速、简单地创建应用程序。用户可以使用IDE来设计和创建应用程序的界面,定义应用程序的数据模型和业务逻辑,以及进行调试和部署。低代码平台中的IDE通常具有易用性高、拓展性强、自动化程度高等特点,使得用户可以快速地创建复杂的应用程序,而无需具备专业的编程技能
数据 数据的可视化设计器,支持包括数据源定义、数据模型的定义和修改等功能。通过数据设计器,用户可以定义和管理数据源和数据模型,并将其用于创建数据可视化图表和仪表盘
逻辑 逻辑的可视化设计器,支持包括逻辑流程设计、条件和规则定义、事件触发和处理等功能。通过逻辑设计器,用户可以将业务流程转化为具体的实现代码,从而帮助他们更好地管理和控制业务流程
页面 页面的可视化设计器,支持包括布局设计、组件选择和设置、样式和主题定义等功能。通过页面设计器,用户可以创建和定制各种用户界面,以满足不同的应用程序需求
流程 流程的可视化设计器,支持包括业务流程定义、流程图设计、流程网关设计等功能。通过流程设计器,用户可以将工作流程转化为具体的实现代码,从而帮助他们更好地管理和控制工作流程

数据建模

概念 含义
数据源 数据源是数据库配置的集合,包含开发环境数据库和生产环境数据库,每个数据源下均可独立管理数据实体
实体 实体是数据的一种载体,允许您将结构化数据持久保存在数据库中并实现数据库模型。每一个实体对应一张数据库表,实体的属性对应数据库表的列
数据结构 数据结构是一种用户自定义的数据类型,用于将多个不同类型的数据组合成一个结构体,类似于传统编程语言 C 中的 struct 定义出的类型
枚举 枚举是一种自定义的数据类型,用于定义一组有穷序列集

逻辑定义

概念 含义
输入参数 传递给逻辑的一组已知的值,用于执行逻辑后续的计算或操作
输出参数 逻辑执行完毕后回传给调用方的值,输出参数仅支持0个或1个
变量 计算机程序中存储数据的一种基本方式。它是一个被命名的内存空间,用于存储能够被程序读取和修改的值。在程序执行期间,可以通过变量名来访问这些值,并对其进行操作
局部变量 限定在某一作用域内的变量,如页面中的局部变量和逻辑中的局部变量,仅支持在当前页面或逻辑中使用
前端全局变量 在低代码平台中,前端全局变量可以存储一些在多个页面之间需要共享的数据,可用于页面之间传递数据
服务端全局变量 服务端全局变量存储了请求会话上下文,包含http的Request、Respose以及当前登录用户信息。
服务端逻辑 应用的各个设计器中均可调用的逻辑
页面逻辑 仅支持被当前页面调用的逻辑
实体逻辑 创建实体后自动生成的逻辑,支持通过调用实体逻辑实现数据库表的增删改查功能
事件逻辑 一种特殊的页面逻辑,为组件或页面下的某个事件所绑定的逻辑。事件逻辑自动带出事件参数,不可添加输出参数,使用者只要聚焦逻辑体设计即可
组件逻辑 组件内部实现的一些方法,如数据表格的reload等,可供组件外部进行调用并实现组件配套功能或效果
系统逻辑 系统逻辑是平台提供的一系列扩展功能,包含流程逻辑、浏览器、认证与权限、配置和文件处理相关逻辑

页面搭建

概念 含义
PC端/H5端 应用程序中的用户界面,它可以是PC端、H5端等不同形式的界面。用户支持在同一个应用中添加并编辑多个端,在不同的端上,用户可以访问和使用应用程序的同一套后端逻辑和数据,且支持各端定义不同的用户界面以适应各类用户场景
页面 用户在浏览器中看到的Web页面。可以包含文本、图像、视频、表格、表单等各类元素,用于向用户展示信息和提供交互功能
子页面 Web页面中的次级页面,用于在父级页面的基础上展示更详细或更具体的内容
面包屑 用于Web页面导航的一种元素,通常位于页面的顶部或者页面主体区域上方,用来显示用户当前所处的位置和路径
事件 用户与Web页面交互时发生的动作,如鼠标点击、键盘输入、页面滚动等。当这些动作发生时,浏览器会触发相应的事件,Web开发者可以通过JavaScript等技术来监听这些事件并做出相应的响应

流程设计

概念 含义
任务 表示一个需要被执行的工作或活动,可以是人工任务(由人员完成)或自动任务(由系统完成)。任务作为流程中的基本单元,需要执行者按照规定的流程顺序和要求完成任务,常见的任务包括审批任务、自动任务和用户任务
网关 在业务流程中,用于控制流程分支和合并的节点,常见的网关包括并行网关、排他网关、包容网关等

资产复用

概念 含义
应用模板 低代码平台提供了一些预置的应用模板,包含了常见的应用程序功能和特性,如客户管理、项目管理、访客管理、问卷调查等。开发人员可以基于这些应用模板快速地构建自己的应用程序,也可以根据自己的需求自定义和扩展应用模板
局部模板 低代码应用支持将应用中的部分内容导出为局部模板,用于快捷创建页面、逻辑、实体等的组合
依赖库 一组可被低代码应用依赖使用的编程能力;不可独立运行、不可编辑。按照产生方式的不同分为如下两类: - NASL依赖库:由低代码应用导出的依赖库,内容包含了该库所有的声明和实现,目前可以导出的内容有实体、数据结构、枚举、逻辑。NASL 库为应用提供了基本的分解复杂性和复用性的能力 - 扩展依赖库:由GPL语言开发的依赖库(目前支持Java语言和JavaScript语言开发),现有如freemarker、log-tool、base64等,企业现有SDK可以用这种方式便捷接入

应用环境

概念 含义
开发环境 应用开发和测试的环境。在开发环境中,开发人员可以对软件进行修改、调试和测试,以确保软件的质量和稳定性
生产环境 应用正式发布上线的环境。在生产环境中,软件需要保证稳定性、可靠性、安全性和性能,以满足用户需求并保证商业运营等需求

平台与应用管理

概念 含义
RBAC 基于角色的访问控制(Role-Based Access Control)模型。它是一种访问控制方法,用于管理用户如何访问资源。在RBAC模型中,用户被分配到角色,而角色则被授权访问特定的资源和执行特定的任务。这种方法可以简化访问控制管理,提高系统的安全性和可维护性
API 定义了软件组件如何相互通信的接口。它允许不同的应用程序之间共享数据和功能,使得开发者可以在自己的应用程序中利用其他应用程序的功能
Maven 基于Java的项目管理工具。它可以自动化构建、测试和部署Java项目。Maven通过提供一个标准化的项目结构和构建过程,简化了Java项目的管理和维护

4.3 可视化编辑器

应用初始化完成后,在应用详情页面单击可视化开发按钮,进入到可视化开发页面。
在这里插入图片描述

视化开发页面区块划分如下图所示,分别提供如下功能:

  • 应用信息与操作:支持应用的预览、发布、自定义主题样式等操作。
  • 目录树:提供流程、页面、逻辑、数据四种可视化设计模块的切换及其下设计内容管理与树形展示。
  • 标签页:支持各个编辑页面的灵活切换与关闭。
  • 画布/操作面板:可视化设计的主要操作区域。
  • 组件/属性面板:组件页签下提供基础组件和扩展组件,方便用户拖拽至画布区进行编辑,属性页签用于编辑组件的相关信息、事件和样式。
  • 信息台:展示日志、问题等应用相关信息。
    在这里插入图片描述

4.4 数据模型设计

实体的概念

实体是数据的一种载体,允许您将结构化数据持久保存在数据库中并实现数据库模型。每一个实体对应一张数据库表,实体的属性对应数据库表的列。

主键

创建实体时,会自动生成属性id,作为实体中每行记录的唯一标识。数据类型默认为整数(Integer )且不可修改,属性本身不可修改和删除,值按顺序自增或通过雪花算法生成。

创建/更新信息

  • 创建实体时,会默认自动生成createdTime(创建时间)、createdBy(创建者ID)、updatedTime(更新时间)、updatedBy(更新者ID)4个系统属性,不可修改系统属性类型、默认值等基本信息。
  • 当实体新增一条记录时,createdTime列会自动添加创建时间。
  • 当实体某条记录有数据更新时,updatedTime列会自动添加更新时间。

标题

属性标题,在界面中如需显示该属性,会优先显示此标题。

数据类型

实体属性的数据类型,可选择基本数据类型,也可选择自定义类型,用户可根据需要配置实体属性的默认值。其中基本数据类型包括:

类型标识 类型说明 默认值
Boolean 布尔值 null
Integer 整数 null
Decimal 小数 null
String 文本 null
Binary 二进制流 null
Date 日期 null
Time 时间 null
DateTime 日期时间 null
Email 电子邮箱 nul

4.5 页面布局和呈现

页面的基础概念

创建应用时,系统会默认创建6个页面,分别是dashboard(总览页)、index(首页)、login(登录页)、404(404页面)、noAuth(无权限页面)、permission_center(权限中心)。

  • login(登录页):开启权限管理后,需要登录账户时跳转的页面。
  • index(首页):登录应用后默认进入的页面。
  • dashboard(总览页):系统默认的页面模板。
  • permission_center(权限中心):管理用户权限的页面。
  • noAuth(无权限页面):没有访问权限时跳转的页面。
  • notFound(找不到页面):找不到页面时跳转的页面。

线性布局介绍

布局是页面排版的关键组件,我们以线性布局组件为例,支持如下3种布局模式:

  • 内联布局:将当前元素修改为内联布局模式,各个内联布局模式的元素将默认排布在同一行中,若空间不足以排布下一个内联布局元素,则该元素将会换行。

  • 块级布局:将当前元素修改为块级布局模式,各个块级布局模式的元素之前和之后均会换行。

  • 弹性布局:在弹性布局模式中,子元素可以在任何方向上排布,也可以弹性伸缩其尺寸,既可以增加尺寸以填满未使用的空间,也可以收缩尺寸以避免溢出父元素。

    弹性布局的具体使用请参考文档弹性布局说明。

image-20230224173930904

变量和动态绑定

在计算机语言中,变量用于存储计算结果或者表示值。之所以称之为变量,是因为其值具有不确定性。

变量有使用范围,如接下来用到的页面逻辑只能使用页面变量、逻辑变量和前端全局变量。

  • 页面变量:包含输入参数和局部变量,仅能被当前页面下的逻辑调用。

    image-20221109171901586

  • 逻辑变量:包含输入参数、输出参数和局部变量,仅能被当前逻辑调用。

    image-20221109172030827

  • 前端全局变量:前端所有页面的全局变量,支持被所有页面调用。若该变量在多个页面下有赋值操作,则某时刻取值该变量时的结果为最近一次的赋值。

    image-20221109174500805

动态绑定

在低代码平台中,使用动态绑定机制,使组件的值可以随变量或逻辑输出结果动态变化,从而实现数据与呈现效果之间的联动。

4.6 逻辑

逻辑分类

页面中的功能由逻辑实现,逻辑按照作用域区分为页面逻辑和服务端逻辑。

  • 页面逻辑:作用于指定前端页面的逻辑,不支持跨页面调用。
  • 服务端逻辑:作用于整个应用,支持被所有逻辑和流程调用,在各页面中的调用需要通过页面逻辑来完成。

逻辑流转

逻辑有开始和结束节点,每个逻辑由多个逻辑项组成,逻辑项按照开始到结束的顺序流有序执行。

内置函数

为了降低开发难度,系统预先定义了一些功能,处理特定场景下的需求,比如字符串处理,日期时间处理等等,这些称之为内置函数;内置函数可以在任何一个逻辑中使用,也可以在动态绑定中使用。

事件逻辑

事件逻辑是一种特殊的页面逻辑,由组件或页面的使用过程中某个可被用户感知的事件触发,如点击事件、页面进入时事件等。

在对组件进行操作时,系统会自动传入event参数,开发者可以在该事件逻辑中使用这个参数完成特定业务功能,举个例子,当你点击一个按钮时,会传入该按钮在页面的X轴和Y轴的坐标位置。

image-20230225221759166

组件逻辑

组件逻辑属于一种特殊的页面逻辑,拖拽部分组件到页面中后会自动生成相关逻辑,用于调用相关组件功能。比如要完成打开弹窗的动作,就需要调用弹窗组件的open逻辑

页面逻辑

页面逻辑通常用来描述页面中要完成的业务功能,可以搭配事件逻辑共同使用。如页面中多个事件要完成同样的操作或功能,可将重复的部分放到页面逻辑中,在不同的事件逻辑中进行调用

4.7 主题样式

在实际的需求场景中,通常会有UI相关的规范要求,低代码平台支持自定义主题样式,使组件样式更贴合用户需求。

image-20230226125004159

5.使用

本小节我们将学习使用CodeWave进行简单的创建,通过拖、拉、拽等可视化操作页面,即可轻松构建专业应用。

5.1 创建应用

1.以应用开发者帐号登录低代码平台。

2.在菜单栏单击应用中心, 进入我的应用页面。
在这里插入图片描述

3.单击创建应用,在弹窗中编辑应用信息,编辑完成后单击创建按钮。
在这里插入图片描述

5.2 创建数据模型

下面以手动创建数据模型为例:

1.打开数据模块

image

2.单击图示红框按钮或右键单击数据源选择添加实体,或直接点击“+”按钮。点击数据源右侧“+”按钮时在对应数据源下生成实体,点击右上方蓝色“+”时在默认数据源下生成实体。

image

3.填写合法的实体名。建议规范实体的命名规则,有利于数据表的理解和查询

5.3 页面布局和呈现

下面以页面跳转为例:

  1. 选中欢迎页,右键点击出现菜单,选择设为默认跳转页

    download (9)

  2. 打开总览页,选中侧边栏项P5-1:社区跳转页面,单击右侧图标设置链接表达式。

    download

  3. 选择跳转页面P5_1_CommunityLink(社区跳转页面),可以设置高锚点和页面打开方式,完成设置后,发布预览后即可查看效果。

    image-20230608200624377

5.4 逻辑功能实现

下面以事件逻辑为例:

1.选择事件逻辑页面,选中按钮,设置点击事件。

image-20230225222425829

2.在逻辑中拖入弹出消息组件,在组件中直接输入hello,低代码!

image-20230609105605873

3.发布开发环境预览查看运行结果。

5.5 权限管理

本节暂时不展开说,后面单独提一章节进行说明。

5.6 主题样式设计

单击顶部 " 更多 " 按钮,然后在下拉框中单击自定义主题样式,即可进入主题样式设置界面。自定义主题样式功能允许用户自定义应用的外观和颜色方案。通过自定义主题样式,用户可以更改文本颜色、背景颜色、字体大小、字体样式等,使其应用具有独特的外观和风格。

image-20230710135200473

5.7 发布预览

本节暂时不展开说,后面单独提一章节进行说明。

6.实践

本节暂时不展开说,后面单独提一章节进行说明,本节规划将详细讲解开发过程中常见的场景案例,以及如何实现多人协作开发等。包括如下: 常见场景-数据, 常见场景-表格, 常见场景-表单, 常见场景-其他组件, 常见场景-逻辑, 常见场景-内置函数等。

7.扩展与集成

本节暂时不展开说,后面单独提一章节进行说明。本节规划将介绍CodeWave智能开发平台的扩展与集成能力,包括如下:扩展开发,应用API管理,页面集成,连接器。

8.小结

本节我们对CodeWave进行了整体的学习,我们学习了CodeWave是什么?如何使用CodeWave?CodeWave的入门,CodeWave的使用以,CodeWave的实践和CodeWave的扩展与集成,本节我们只是对CodeWave进行了一个整体的了解和学习思路,我会尽力为大家介绍详细,当然具体的操作方法和实践需要读者慢慢去使用和体会,实践出真知嘛。

**文末彩蛋:**我是一名热爱人工智能的专栏作者,致力于分享人工智能领域的最新知识、技术和趋势。通过我的博客,你将能够了解到人工智能在各个领域的应用和创新,探讨人工智能对未来社会的影响,以及探索人工智能背后的科学原理和技术实现。欢迎大家收藏,评论和分享,让我们一起探索人工智能的奥秘,共同见证科技的进步!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐