快速开始
本文是一篇 “Hello World” 教程,面向第一次接触星河低代码的开发者,指导开发者快速地创建第 1 个星河低代码应用( Galaxy Application
- 简称 GAPP
)。
基础知识
星河低代码采用开放的技术架构和主流的开发技术栈,以及兼容常见的开发工具和开发习惯,因而对于大多数的开发人员而言,进入星河低代码开发的门槛将会十分友好,但同时还充分保持对开源生态的开放和扩展。
以下列举了一份简要的技术知识清单:
开发技术:Java、JS、HTML 要求:了解基本语法
开发框架:Spring/Spring Boot、VUE 要求:了解基本概念
数 据 库:MongoDB 要求:了解启动停止操作,了解基本语法
操作系统:MacOS、Linux、Windows
要求:了解基本的命令,如文件操作、解压缩、执行脚本等IDE :VS Code / Eclipse / IDEA 要求:掌握主流 IDE 其中之一
开发工具:Git、Maven、NPM 要求:基础环境所需,了解安装操作
对这份知识清单,开发者只需要具备最基础的了解就足够了。
星河低代码 GDK 通过运用模板、自动化、约定由于配置等一系列工具和原则,最大程度地降低了开发一个完整的应用系统的复杂度。
准备工作
星河低代码能够帮助开发者十分轻松地掌握最先进、主流的工程化模式进行前后端全栈开发模式 ,而在正式开始之前,首先需要安装配置一个基本的开发环境,主要包括:
- 后端开发环境—— JDK(1.8)、Maven(3.0+) 相关
- 前端开发环境—— NodeJS、NPM 相关
- 数据库—— MongoDB
- IDE :VS Code、Eclipse、IDEA 之一
对于星河低代码而言,搭建以上环境没有特殊配置要求,不熟悉的可参考以下教程:
启动 GDK 控制台
执行 gdk-start
命令,进入 GDK 控制台。
Windows 下双击执行 GDK 安装目录下 bin/gdk-start.bat
脚本,进入 GDK 控制台。
****************************************************
欢迎进入星河低代码 GDK 控制台!
****************************************************
控制台提供了辅助的工具命令帮助开发者在本地建立开发环境、快速创建和发布应用。
> 访问文档【快速开始】可以了解如何快速创建第一个星河低代码应用(GAPP)
->【快速开始】https://developers.linkgie.com/docs/galaxy/develop/1-quick-start.html
> 访问文档中心 https://developer.linkgie.com 可以详细了解星河低代码平台与开发框架的强大功能。
> 欢迎 登录/注册 星河低代码开发中心 https://lowcode.linkgie.com ,成为注册会员可以支持升级,申请应用许可,获取更多资源,解锁更多操作!
....................................................
常用命令:
create-app 创建应用项目
ls-app 列出工作目录下的应用项目
ws 显示工作目录的完整路径
mv-ws 移动工作目录到新的目录
auth 绑定开发者账号,获得在本地发布私有化应用安装包的授权。
按 tab 建可以显示更多的命令,通过 help <命令> 可以查看命令的详细参数和说明。
============================================================================================================
GDK 2.8.7.RELEASE —— 许可:试用版 { 机构[最大数量=1] - 账号[最大数量=5] }
============================================================================================================
galaxy(ssh)[root]:>
在控制台的命令行提示符下,按 tab
键分组显示所有可用的操作命令。
继续按 tab
键可以在显示的命令列表中切换选择一项,按回车键开始执行命令。
如下图:
由于操作系统的差异,在 Windows 下的执行过程与 MacOS 和 Linux 略有差异,对此简要说明如下:
- GDK 控制台运行过程是先在本机以
127.0.0.1:9087
开启 SSHD 服务,然后接受本机的 SSH 终端进程进行免密接入。- 在 Windows 下时,尽管是免密设置,SSH 终端发起连接时,有可能仍会提示输入密码,如果出现此情形,直接按回车键,保留空密码,便成功登录进入 GDK 控制台。
创建应用项目
在命令行提示符下,输入命令 create-app
,开始创建应用项目。
接下来,按照向导提示依次执行以下步骤:
首先,先选择应用模板。
平台默认提供了 2 种应用模板:
- 单模块的简单应用模板:
simple-gapp-template
- 多模块的企业应用模板:
enterprise-gapp-template
本示例选择了单模块的“简单应用模板”。
- 单模块的简单应用模板:
其次,设置项目基本信息,包括输入应用编号、名称、版本、分组和描述。
然后,创建数据库/设置数据库连接。
最后,确认应用项目信息,创建应用项目目录。
应用创建成功后,项目目录以应用编号命名,位于工作目录(workspace)
下,关于项目目录结构的详细说明,请参考:《开发指南 > 应用配置 > 项目结构》。
Git 友好支持
GDK 在创建应用源码项目时,自动生成
.gitignore
文件加入了标准的文件忽略规则,开发者不需要额外配置忽略规则,可直接将项目目录加入git
仓库。
- 按
tab
键可提供命令补全,以及显示命令提示。- 输入
help
命令可查看由 GDK 控制台提供的更多可用命令及详细参数。
IDE加载应用项目
上一步创建的应用项目是标准的 Maven 结构和 NPM 结构(前端部分), 支持 VS Code、Eclipse、IDEA 等,打开你熟悉的 IDE ,加载新建的应用项目。
- VS Code 加载项目
本示例采用 VS Code 作为 IDE ,是因为:一方面, VS Code 可以同时支持前端、后端的开发,十分方便; 另一方面,基于星河低代码应用开发框架的统一模型驱动开发模式,开发者很容易实现全栈开发。
从便捷性考虑,推荐做全栈的开发者使用 VS Code 。
不同 IDE 对于 Maven 的支持程度有差异,可能需要一些额外配置,具体参考:
初始化机构账号
创建应用项目时,会预置一个配置文件模板 @conf/organization.conf
,修改其中的配置项,可以在首次启动时,自动地预置机构、管理员和成员的账号。
- 本示例的机构配置:
#######################################
# 机构注册配置;
#######################################
# 通过配置文件可以预置一个或多个机构;
# 前缀:galaxyplatform.security.organization.registry.orgs
# 注:实际能够创建的机构数量会受到 license 的限制;
# 注册一个机构:
# 命名规则:以 .orgs.<机构编码> 定义机构的各项属性,
# 如:.orgs.testcom.name=测试机构 ,注册一个编码为 “testcom” 的机构,名称为 “测试机构”
#
# 分别以不同的名称设置多个,便可以注册多家机构,如: .orgs.testcom1.name=测试机构1
# 机构的名称;
galaxyplatform.security.organization.registry.orgs.testcom.name=测试机构
# 机构的描述;
galaxyplatform.security.organization.registry.orgs.testcom.description=测试机构
# 是否立即启用机构;
galaxyplatform.security.organization.registry.orgs.testcom.setup=true
# 机构授权;
# orgs.testcom.authorities 给编码为“testcom”的机构授权;
#
galaxyplatform.security.organization.registry.orgs.testcom.authorities=FEATURE://CONSOLE/MENU/ORG-MANAGEMENT/ORG-SETTINGS,\
FEATURE://CONSOLE/MENU/ORG-MANAGEMENT/ORG-MEMBER-REGISTER,\
FEATURE://CONSOLE/MENU/ORG-MANAGEMENT/ORG-MEMBER-AUTHORIZE,\
FEATURE://APPLICATION/MENU/HOME
# 注册机构管理员;
# 命名规则:orgs.<机构编码>.admin 给编码为“testcom”的机构设置管理账号的注册信息;
#
galaxyplatform.security.organization.registry.orgs.testcom.admin.username=admin
galaxyplatform.security.organization.registry.orgs.testcom.admin.password=abc@123
galaxyplatform.security.organization.registry.orgs.testcom.admin.name=默认机构管理员
galaxyplatform.security.organization.registry.orgs.testcom.admin.secureEmail=test@test.com
# 指定成员账号的默认角色;
# 后续还可以在控制台中进行设置;
# galaxyplatform.security.organization.registry.orgs.testcom.memberRoles=DEFAULT-MEMBER
# 注册成员账号;
# orgs.testcom.members.member1.name 为机构“testcom”注册一个编码为 member1 的成员账号,名称为 “成员1”
#
galaxyplatform.security.organization.registry.orgs.testcom.members.member1.name=成员1
galaxyplatform.security.organization.registry.orgs.testcom.members.member1.password=abc@123
galaxyplatform.security.organization.registry.orgs.testcom.members.member1.secureEmail=member1@test.com
# 授权成员权限;
galaxyplatform.security.organization.registry.orgs.testcom.members.member1.authorities=FEATURE://APPLICATION/MENU/HOME
# 授予机构成员 member1 角色 TEST-MEMBER;
# galaxyplatform.security.organization.registry.orgs.testcom.members.member1.roles=TEST-MEMBER
# 定义角色,以及角色的权限;
# galaxyplatform.security.rbac.authorities.DEFAULT-MEMBER=FEATURE://APPLICATION/MENU/HOME
# galaxyplatform.security.rbac.authorities.TEST-MEMBER=FEATURE://APPLICATION/MENU/HOME
注
默认的 GDK 发行版提供的是试用版 License ,只支持创建 1 家机构。
如需支持多机构,请 扫码
联系客服人员 ,咨询如何获得包含“多租户功能”的 License 授权。
编写 Hello World
Hello World 视图
打开应用项目默认创建的视图组件 web/src/views/home.vue
,这是一个 VUE
框架的单文件组件(SFC) 。
编辑页面模板部分 <template> ... </tempalte>
,写下您的第一个 Hello World!
,接着加入一个 Bootrap Icons 图标库的“太阳”图标 表示您的愉快心情。
最终,页面代码如下:
<template>
<x-view title="首页">
<h1>
Hello world! <x-icon icon="bs-svg-brightness-high" width="1.5rem" height="1.5rem" />
</h1>
</x-view>
</template>
<!-- 脚本 -->
<script>
export default {
name: "main-view",
// 组件属性
props: {
// ...
},
// 状态数据
data() {
return {
//...
};
},
// 计算属性
computed: {},
// 方法
methods: {},
};
</script>
<!-- 样式 -->
<style scoped></style>
参考
Hello World 登录页
打开应用项目的元数据配置文件 web/public/application.json
,默认登录页的主标题由 title
属性设置,写下 Hello World! 星河低代码!
,最终如下:
{
"title": "Hello World! 星河低代码!",
"subtitle": "星河低代码——面向专业开发者的先进数字化生产力平台",
"logo": {
"href": "/logo.png",
"title": ""
}
}
编译项目
GAPP 应用项目是标准的 Maven 项目,在命令行下进入项目根目录,执行命令 mvn clean package
编译应用项目。
% cd $your_gapp_root
% mvn clean package
注
星河低代码 GDK
将整个项目的编译,包括前后端代码的编译,都集成到mvn clean package
一个命令。- 首次编译时,由于部分依赖包需要从远程的 Maven 或 NPM 仓库下载依赖到本地缓存,因而编译过程的耗时会稍长一些。
- 编译成功
运行项目
在 IDE 中,GAPP 应用项目会在源代码目录 auto-src
下自动生成一个包含了 main
方法的入口类(Booter),这个过程是由应用项目配置的 Maven 插件自动执行的。
启用运行项目的方式是执行入口类的 main
方法。
ROOT # 应用项目根目录
|
|__ auto-src # 进行了编译后才自动生成的源代码目录
|__ defaultPackagePath # 项目默认包名的目录路径;
|__ Sample001Booter.java # 应用项目的启动类,默认以 <项目编码> + “Booter” 命名;
IDEA 用户注意
由于 IDEA 默认情况下,对 Maven 的某些支持选项不开放,以及对 Maven 插件的某些生命周期的行为不执行,所以需要手工做一些额外配置,才能自动生成此入口类,以及成功运行应用。具体请参考《 GAPP 开发配置 - IDEA 》
VS Code、Eclipse 用户不需要额外配置。
- 应用项目启动成功
启动成功后,根据输出的启动端口,便可以在浏览器中查看运行的效果,包括登录页、普通成员的功能页面、机构管理员的机构控制台、根账号的平台控制台。
- 首页: https://localhost:8080/ (未登录时会自动跳转至“登录页”)
- 登录页:https://localhost:8080/login.html
- 机构成员: member1
- 机构管理员:admin
- 平台根账号:root
- 检查配置文件
organization.conf
,机构管理员和成员的初始密码在文件中设置。- 检查配置文件
server.conf
根账号(root)的初始密码在文件中设置。
登录页面
机构成员的功能
机构管理员的功能
根账号的功能页面
总结
总结一下在这个 Hello World
示例中所展示出来的星河低代码应用开发的一些功能特点:
标准和规范的项目结构,采用主流、开源的 Maven 和 NPM 工程,能够与开源生态中的各类主流 IDE、工具、第三方代码库等无缝集成。
统一的项目结构集中管理前后端代码工程,极大简化前后端全栈开发、调试和集成。
开箱即用的机构账户模型,灵活的管理模型——可配置文件管理,也可控制台管理,支持一个或多个机构(多租户)
开箱即用的多级授权体系,机构权限、成员权限分层管理,系统权限/机构权限/业务权限隔离授权。
技术体系开放,集成了第三方开源框架 —— VUE、Bootstrap
开发简便、灵活,无需复杂配置,轻松开发组件,还可以引入第三方开源库,扩展灵活。
前后端集成的开发模式,全栈开发变得更简单,一人轻松做全栈,大大提升前后端分离的开发效率。
完全的本地化 IDE 开发模式,编码、调试和运行十分简单,同时兼具了开源生态的强大资源。
完全的本地化开发模式,意味着对应用源代码的完全拥有,意味着完整的知识产权,可管理的业务/数据风险。
进阶地图
想了解星河低代码更多、更强大的功能,请进一步参考其它开发文档,以及关注我们的社交媒体号。
参考文档
媒体
视频号

抖音

B站
