快速开始

本文是一篇 “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 键可以在显示的命令列表中切换选择一项,按回车键开始执行命令。

如下图:

GDK命令列表

由于操作系统的差异,在 Windows 下的执行过程与 MacOS 和 Linux 略有差异,对此简要说明如下:

  • GDK 控制台运行过程是先在本机以 127.0.0.1:9087 开启 SSHD 服务,然后接受本机的 SSH 终端进程进行免密接入。
  • 在 Windows 下时,尽管是免密设置,SSH 终端发起连接时,有可能仍会提示输入密码,如果出现此情形,直接按回车键,保留空密码,便成功登录进入 GDK 控制台。

创建应用项目

在命令行提示符下,输入命令 create-app,开始创建应用项目。

接下来,按照向导提示依次执行以下步骤:

  1. 首先,先选择应用模板。

    平台默认提供了 2 种应用模板:

    • 单模块的简单应用模板:simple-gapp-template
    • 多模块的企业应用模板:enterprise-gapp-template

    本示例选择了单模块的“简单应用模板”。

  2. 其次,设置项目基本信息,包括输入应用编号、名称、版本、分组和描述。

  3. 然后,创建数据库/设置数据库连接。

  4. 最后,确认应用项目信息,创建应用项目目录。

应用创建成功后,项目目录以应用编号命名,位于工作目录(workspace)下,关于项目目录结构的详细说明,请参考:《开发指南 > 应用配置 > 项目结构》

Git 友好支持

GDK 在创建应用源码项目时,自动生成 .gitignore 文件加入了标准的文件忽略规则,开发者不需要额外配置忽略规则,可直接将项目目录加入 git 仓库。

创建项目-选择模板
创建项目-设置数据库
创建项目-成功

  • tab 键可提供命令补全,以及显示命令提示。
  • 输入 help 命令可查看由 GDK 控制台提供的更多可用命令及详细参数。

IDE加载应用项目

上一步创建的应用项目是标准的 Maven 结构和 NPM 结构(前端部分), 支持 VS Code、Eclipse、IDEA 等,打开你熟悉的 IDE ,加载新建的应用项目。

  • VS Code 加载项目

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 家机构。

如需支持多机构,请 扫码sunness 联系客服人员 ,咨询如何获得包含“多租户功能”的 License 授权。

编写 Hello World

Hello World 视图

打开应用项目默认创建的视图组件 web/src/views/home.vue ,这是一个 VUE 框架的单文件组件(SFC)open in new window

编辑页面模板部分 <template> ... </tempalte>,写下您的第一个 Hello World!,接着加入一个 Bootrap Icons 图标库的“太阳”图标 sunness 表示您的愉快心情。

最终,页面代码如下:

<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站


最近更新:
发布者: huanghaiquan
扫码咨询