2024年国内app软件开发平台 篇1
移动互联网飞速发展,市场竞争加剧,有很多企业主或者是个人想要自己开发一款app创业盈利,找专业的定制团队价格过于高昂,自己开发又不懂技术,那么对于不会编程的这部分人来说,可以通过一些在线软件定制平台开发app,这类平台有很多优势:
1. 开发者不需要具备专业的编程知识,在线开发软件制作平台提供模板,制作过程简单,普通的用户也可以构建应用程序。
2. 目前市场上有很多可以免费试用的平台,比如APICloud等
3. 可以快速生成app,节省上线时间,这有利于在同行中占得先机。
4. app生成后可以根据需求随时的修改和更新。
免费开发软件制作平台推荐:
1. TheAppBuilder
用户可以利用TheAppBuilder提供的在线工具包自主完成app开发工作,也可以通过参与TheAppBuilder提供的培训课程学习或者与其一起完成app开发工作,这个在线开发软件平台可以为用户提供一整套的app解决方案,满足市场上大部分客户的需求。app上线之后,可以跨平台发布,随时进行版本更新。
2. APICloud
APICloud是国内比较领先的移动应用开发商,依靠独有的混合开发技术,已经有超过65万用户在使用APICloud平台,作为国内最完善的开发者平台之一,APICloud的模块商店已经累计了大量成熟的app开发功能模块,已经成为开发者生态中重要组成部分。同时APICloud发布了 SuperWebView、Deep Engine以及纯翻译模式兼容微信小程序的UI引擎,致力于为开发者提供创新的技术服务。
在APICloud平台开发app时,可以实现一键调用,不需要开发者单独开发,极大的缩短了软件开发的周期,助力企业运营效率。
2024年国内app软件开发平台 篇2
本文分享自华为云社区《
API Arts 全探秘 | 华为云新一代设计管理平台,功能强大!-云社区-华为云》,作者:华为云PaaS服务小智 。
API设计不一致?API没地方归档?云服务开发项目合作低效?...... ?
华为云为广大开发者带来最新API设计管理平台:API Arts。它集API设计、API调试、API看护、API发布于一身,支持云服务开发团队内外团队协作 。
一、为什么选择使用API Arts设计接口?
四大突出优势,它值得!1、基于国际广泛使用的OpenAPI 规范
底层数据通过OpenAPI-Specification承载,开发者最熟悉的数据结构,OpenAPI-Specification全特性承载。[可视化表单]-[编辑文本]自由切换,满足你挑剔的设计“味蕾”。2、接口设计“坏味道”拦截
提供业界领先的类CleanCode智慧识别(接口规范性检查[*]、兼容性检查[*]),确保不同设计人员下的同一接口设计风格,版本不兼容设计提前拦截。3、强大的接口调试
Postman有的我们全都有!云化数据存储,连通云能“飘”到的everywhere!支持Postman数据一键导入,常见类型的接口请求、前置/后置脚本[*]、Cookie/Session 全局共享[*]。支持 javascript、java 等多种语言调试代码生成。4、接口在线Mock功能
API Arts内置Mock.js,你在Mock.js上能做的在这里都可以在线完成。二、基本使用1、创建一个API
API Arts采用Postman风格的表单接口设计方式,在此基础上API Arts支持path参数自动识别回填,还原OpenAPI 的原生体验,来吧一起体验你的第一个API!
2、文本下的接口设计
API Arts支持Swagger editor! 支持Swagger editor! 支持Swagger editor! 它为你带来了一种更加灵活的接口设计体验。
3、规范性告警
喂喂喂~!兄弟留步,你设计的接口不符合业界通行的接口设计规范。
4、在线调试
API Arts支持多功能下的在线调试,application/xml、图片二进制数据,它都能展示。
5、Mock
API Arts支持高级Mock创建功能,在这里你可以设置枚举值、返回体的长度、默认值、格式等等。
除此之外API Arts还可以将你设计的接口直接对接到云化自动化测试,24h全天候监测你的接口,业务异常短信即时通知。同时你也可以将你设计好的API发布到华为云API中心,开发者可以发现并使用您的API项目。华为云API中心—— 汇聚千行百业API资产,共建繁荣API经济!
现在一起创建你的第一个API!
戳立即体验华为云API Arts→
API Arts-华为云
备注:[*] API Arts后续迭代升级支持特性
关注#华为云开发者联盟#,第一时间了解华为云新鲜技术~
2024年国内app软件开发平台 篇3
究竟什么样的低/无代码开发平台比较好用?
对一个低/无代码开发平台进行评估时,有哪些方面需要注意呢?
以下就是我认为一个好用的低/无代码开发平台的标准:低学习成本:1天从培训到简单配置一个功能,1周深度使用,3个月灵活精通;可视化数据分析:对于图形报表支持的力度,是否可实现可视化。高兼容性:一般企业内部都不会仅仅只使用一套管理系统,所以在选择低代码开发平台前,请提前考虑在与目前已使用的系统对接方面有没有存在风险。强自定义:好的开发平台会提前考虑到用户的自定义需求的,并提供合适的工具,以便业务人员可以简单的定制和管理应用。多终端可用:用户界面应该是为移动设备专门设计的,而不是简单的把PC页面做个适配。
......
伙伴云是一款无需代码,仅通过配置,即可轻松覆盖企业全应用场景的企业应用生成工具。基于表单、流程、仪表盘等的模块化云组件,即如搭积木般,为企业快速构建专属的业务应用。
1、易用性:简单拖拉拽,使用者快速上手
伙伴云支持直接导入Excel的数据,可快速、便捷地将本地的Excel数据同步到系统中,进行数据的在线管理。同时可使用类似 Excel 函数表达式的方式进行书写公式,配置工作流触发条件,实现流程自动运转。
开箱即用的数据列表,满足10种个性化操作。支持批量操作、协同编辑、多表关联引用、主子表结构,并提供字段级分享收集,应对多级汇总协作游刃有余。
2、自定义随时调整,适应企业个性化需要
企业发展,业务需要不断调整,伙伴云的灵活配置能力可以轻松应对企业需求变化,让工具跟得上业务发展的节奏,让系统已有投入不再作废。
伙伴云工作区共有16种配色和 4 种框架结构,用户可根据需求定制自己喜欢的样子。表单和仪表盘均有不同色卡选择,工作区logo颜色、banner颜色、图标颜色、表格颜色等,用户均可根据需要进行各类搭配,达到整体体验一致性与视觉舒适。
3、深度打通企业微信,沟通办事一体化提升效率
伙伴云可以与企业微信完美整合,连接企业微信和微信,构建企业内部管理闭环,可以在Web端、手机APP端、企业微信端等多端使用,实现账号的互通。
用户可以在企业微信中一站式登录,使用完整的伙伴云功能。包括——丰富的消息通知体系 :伙伴云接入了企微群消息、应用消息,可实现内部的业务消息及时触达;自定义个性化通知消息,保证重要事项不遗漏。业务系统构建:接入了企业微信的客户/群信息、会话存档记录等信息,可以在伙伴云构建基础的客户、群信息数据库。客户背景信息显示:可配置到企业微信客户聊天工具栏的专用链接,可获取当前聊天的客户信息,并匹配到伙伴云系统中的数据在工具栏直接进行显示,为业务人员提供准确的客户背景信息,还可快速为客户下单、录入反馈等,提供服务质量。微信公众号接入:可通过触发器给公众号推送模板消息,打通微信客户管理的全流程闭环。
4、强大的数据分析能力,秒做炫酷数据大屏
伙伴云提供了零代码市场上最强大的数据分析,无需额外的Bl软件,经营数据实时ETL、计算、同步出仪表盘数据、手机端及数据大屏。
高端智能数据大屏:5分钟,就能在办公室支起一张战略布局图,省去了月底、年底反复做报表的时间
5、PC/移动多端操作,个性化交互体验
面向应用最终使用者的操作体验,即通过零代码/低代码平台构建应用程序的用户体验,包括在Web、H5、iOS、Android等多端的使用体验。这个指标在很大程度上会影响最终用户对开发平台的满意度。
伙伴云零代码平台具有高稳定性、高可用性,支持Web、H5、iOS、Android多端跨平台部署,有效缩短交付周期,提升研发的效能,并通过封装高质量代码,整体降低IT运营成本。
6、统一的底层数据,多种视图呈现
基于同一的数据层,可以以多种视图呈现,包括表格视图、看板视图、卡片视图、日历视图等,多个视图之间可以一键切换,数据改动自动同步所有视图,保证团队成员实现高效数据协作,提高数据协同效率。
支持二维分组的看板视图:可实现分二维组方式自定义,使用看板视图进行敏捷开发管理/工单管理/招聘管理/任务管理/采购管理/销售流程管理等,可根据不同的维度进行分组,灵活切换。
日历视图:支持项目分组,统一团队待办事项及局部协作时间点工作安排。
卡片视图:高清图片分组展现,可用于收集各类餐厅/菜品调研信息。
7、丰富的API接口,整合内外系统
伙伴云支持开放上千个前后端接口,不仅可以调用后端的数据接口,还具有前端的交互能力。如:打开一个数据的录入界面、获取当前用户的一些个人资料,打开一些前端的交互弹层等……这都是伙伴云平台前端交互的能力。前端交互能力是其它aPaaS产品不具备的,其他零代码平台仅开放一些后端的API接口,所以在定制能力上,伙伴云是更胜一筹。
只有选择合适的工具才能让您的企业长久保持竞争力,相信伙伴云就是适合您企业数字化转型的一款利器。不信的话,上手感受下就知道了!
伙伴云——专业零代码平台,主页有更多简单实用低/零代码教学!
欢迎关注@伙伴云~
2024年国内app软件开发平台 篇4
随着低代码概念的火热,相关的技术及产品也是层出不穷,不管是老牌行业软件厂商还是开放平台厂商,不论是互联网行业企业SAAS软件新动向还是新兴的低代码创新产品服务,都在第一时间打出了低代码这张牌。各个平台虽然各有优势,但大多又是自成体系,真正在企业方面进行选择时却一时难以抉择。对于低代码平台的功能评价,以及各平台组件间的互联互通则成为了市场上迫切需求。
在刚刚过去的2022年,在平台互联互通的方面,阿里在第二季度推出开源引擎 “LowCodeEngin”,国家队信通院也应市场需求在第四季度推出了《低代码开发平台通用技术要求》,针对低代码相关概念以及功能点新型了进一步的规范和梳理。
在全面开放的大背景下,CodeBee团队,推出了基于开源LGPL协议 低代码引擎(LowCodeEngine)。
二,产品组成
低代码引擎,由界面设计器、OneCode通码框架以及,DSM领域建模工具 三部分支撑体系相互支撑的部分来组成,通过开放标准的组件协议完成相互继承支持。
(1) 视图设计器引擎
设计器,采用的是拖拽引擎+插件的构造模型,用户可以通过开放的低代码协议编写插件。支持JS和JAVA两种扩展语言。样式构建提供了标准CSS3编辑器,支持事件动作以及函数动态扩展。支持自定义函数库扩展,支持阿里字体图片等资源库。
(2)OneCode通码编辑器:
OneCode,是一款为低代码语言定制的统一语法体系,采用Java语言作为原生语言,运行在JVM环境中,用户可以通过Java语言与低代码应用进行交互,也可以通过Java语言完成引擎插件,调用代码引擎完成编译部署应用。
(3)DSMEngine领域建模:
DSMEngine 是独立于设计器的OneCode建模工具,平台采用领域建模模型,支持仓储管理、聚合应用,以及CodeFactory输出为OneCode代码编译输出。
DSM模型支持三种建模模式:
(1)CodeFrist 代码优先模式
通过Java语言 OneCode 模式原生撰写。
(2)ViewFrist 视图优先
通过视图引擎拖拽完成前期的交互模型,反向完成DSM模型。
(3)ModuleFrist 模型优先
通过数据库,微服务接口等模式,构建基础模型。
DSM逆向转换
通过不同方式完成的DSM模型,可以通过OneCode 在视图、Code 、以及Module 三种方式之间自由切换,利用相关工具完成仿真调试以及部署运行。
DSM第三方语言转换
DSM出码模块采用了独立的模板架构,除了可以以OneCode形式存在,还可以支持独立的出码模块定制独立的第三方语言模型输出。
三,设计器引擎介绍(1)功能概览
(2)设计器布局
设计器引擎是低代码引擎前端的SDK,面向开发人员,他本身不是一套可以适应所有人的低代码平台,而是技术开发人员可以通过扩展插件,周边生态,完成自身业务的定制,实现协同办公,CRM客户管理、物联网平台等通过低代码能力赋能业务系统(3)物料库
"物料":低代码引擎的核心目的之一是建设跨行业的低代码框架,而每个行业由于其应用的领域不同,使用的人员以及方法方式不同,在一些底层组件方面会有会有加大差距。比如:政府业务中会大量使用的非规则表单元素,企业应用中各个行业自有的图标体系,物联网行业大量的设备图标图片以及实时联网图。(4)组件库
组件定义:可以用于低代码平台的组件,包含了搭建体验增强配置,可以在设计器中 进行拖拽、配置等操作。有两种分类方式:按照场景可以分为基础组件、业务组件、图 表组件、布局组件和复合组件等。通常用户可以自主完成相关设定,并根据业务特点在视图引擎中进行自行扩展(后续章节中会演示实际注册示例)
组件通常是一组完成特定功能的可交互组件,根据不同的引擎模式,在引擎中完成加载渲染配置。
配置示例
Code转换
组件调试导入
(5)支撑管理
公共资源导入
(6)样式体系
DOM树透视样式盒
DOM树透视
添加图片注释,不超过 140 字(可选)
配图示例代码
{ "alias":"BuildTreeTreeView", "key":"xui.UI.TreeView", "host":this, "properties":{ "name":"BuildTreeTreeGrid", "items":[ { "borderType":"none", "caption":"JAVA树", "dynDestory":false, "hidden":false, "id":"getBuildTree", "imageClass":"bpmfont bpmgongzuoliuxitongpeizhi", "tagVar":{ } } ], "iniFold":false, "dynDestory":true }, "CS":{ "KEY":{ "color":"#000000", "font-weight":"lighter", "border-radius":"0px 2px 0px 0px" }, "BAR":{ "font-family":"tahoma,geneva,sans-serif" } } }
动态样式盒
添加图片注释,不超过 140 字(可选)
代码配置示例
{ "alias":"xui_ui_cssbox1", "key":"xui.UI.CSSBox", "host":this, "properties":{ "className":"xui-css-ame", "normalStatus":{ "color":"#eeeeee", "border-radius":"6px", "box-shadow":"inset 0px 1px 0px #87C1DD", "text-shadow":"0 1px 0 #297192", "$gradient":{ "stops":[ { "pos":"0%", "clr":"#4BA3CC" }, { "pos":"70%", "clr":"#3289B2" } ], "type":"linear", "orient":"T" }, "cursor":"pointer", "border-top":"solid #3899C6 1px", "border-right":"solid #3899C6 1px", "border-bottom":"solid #3899C6 1px", "border-left":"solid #3899C6 1px" }, "hoverStatus":{ "border-radius":"0px 3px 0px 0px" } } }(7)事件框架
添加图片注释,不超过 140 字(可选)
配置代码示例:
{ "alias":"BuildTreeTreeView", "key":"xui.UI.TreeView", "host":this, "properties":{ "name":"BuildTreeTreeGrid", "items":[ { "borderType":"none", "caption":"JAVA树", "dynDestory":false, "hidden":false, "id":"getBuildTree", "imageClass":"bpmfont bpmgongzuoliuxitongpeizhi", "tagVar":{ } } ], "iniFold":false, "dynDestory":true }, "events":{ //获取数据 "onGetContent":{ "actions":[ { "args":[ "{page.ReloadChild.setQueryData()}", null, null, "{args[1].tagVar}", "" ], "desc":"设置扩展参数", "method":"setQueryData", "redirection":"other:callback:call", "target":"ReloadChild", "type":"control" } ] }, //数据项选择 "onItemSelected":{ "actions":[ { "args":[ "{args[1].id}" ], "conditions":[ { "symbol":"non-empty", "right":"", "conditionId":"_nonempty_{args[1].className}", "left":"{args[1].className}" } ], "desc":"删除存在页", "method":"removeItems", "target":"BuildTreeTab", "type":"control" } ] } } }(8)动作调用
功能概览
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
配置实例代码:
{ "args":[ "{page.ReloadChild.setQueryData()}", null, null, "{args[1].tagVar}", "" ], "desc":"设置扩展参数", "method":"setQueryData", "redirection":"other:callback:call", "target":"ReloadChild", "type":"control" }, { "args":[ "{page.ReloadChild.invoke()}", "temp", null, "{args[2]}" ], "desc":"子节点装载", "method":"invoke", "redirection":"other:callback:call", "return":false, "target":"ReloadChild", "type":"control" } ] }(9)插件体系
插件是嵌入到设计器的内置管理功能,不同于业务组件,插件更多的是系统极的扩展功能。在实际应用中也比较常见,如系统运行期我们要根据用户不同显示不同内容数据,这就需要权限插件来完成,而业务用户在使用过程也会涉及到大量的业务和数据的流转功能而这些功能则需要动态的来管理页面的属性,甚至动态生成注入页面。这就需要流程插件来辅助完成。 在实际开发过程中特别是真实项目的工程开发时,我们往往要针对工程方面的进行很多的宏操作比如批量的修改特定组件样式,按特定条件检索复制组件特性,自动添加动作等等。这些都需要类似的宏插件来完成,OneCode 在整合后端运行以及服务部署方面也是按插件体系来规范的。分别针对,DSM建模提供了DSM插件,发布管理及运行提供了OPS插件, API整合方面提供了代理服务器插件,系统插件部分采用全开源方式共有需要的用户自行修改方便用户后期可以参照插件体系来修改自身的插件体系。
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
四,OneCode中后台
OneCode 本身基于JAVA语言体系,是在Java Spring 注解基础上的一套扩展子集,可以在普通额Java程序中通过添加注解,来实现前后台与低代码引擎的交互处理。(1)渲染原理
(2)示例展示
添加图片注释,不超过 140 字(可选)(3)完整模块OneCode
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
@Controller @RequestMapping("/admin/org/person/") @MethodChinaName(cname = "人员管理", imageClass = "spafont spa-icon-login") @Aggregation(sourceClass = PersonService.class) public class PersonAPI { @RequestMapping(method = RequestMethod.POST, value = "Persons") @GridViewAnnotation() @ModuleAnnotation( caption = "人员列表") @APIEventAnnotation(autoRun = true, bindMenu = {CustomMenuItem.reload}) @ResponseBody public ListResultModel<List<PersonGridView>> getPersons(String orgId) { ListResultModel<List<PersonGridView>> resultModel = new ListResultModel<List<PersonGridView>>(); List<Person> personList = new ArrayList<>(); try { personList = getService().getPersons(orgId); resultModel = PageUtil.getDefaultPageList(personList, PersonGridView.class); } catch (Exception e) { e.printStackTrace(); } return resultModel; } @MethodChinaName(cname = "人员信息") @RequestMapping(method = RequestMethod.POST, value = "PersonInfo") @NavGroupViewAnnotation() @APIEventAnnotation(callback = {CustomCallBack.ReloadParent, CustomCallBack.Close}, bindMenu = {CustomMenuItem.editor}) @DialogAnnotation @ModuleAnnotation(caption = "编辑人员信息", width = "800", height = "550") @ResponseBody public ResultModel<PersonNav> getPersonInfo(String personId) { ResultModel<PersonNav> resultModel = new ResultModel<PersonNav>(); return resultModel; } @MethodChinaName(cname = "添加人员") @RequestMapping(method = RequestMethod.POST, value = "AddPersonView") @FormViewAnnotation @APIEventAnnotation(bindMenu = {CustomMenuItem.add}, autoRun = true) @Disabled @ModuleAnnotation( caption = "添加人员信息", width = "370", height = "260") @ResponseBody public ResultModel<AddPerson> AddPerson(String orgId) { ResultModel<AddPerson> resultModel = new ResultModel<AddPerson>(); CtPerson person = new CtPerson(); person.setOrgId(orgId); resultModel.setData(new AddPerson(person)); return resultModel; } @MethodChinaName(cname = "保存成员信息") @RequestMapping(value = {"savePerson"}, method = {RequestMethod.GET, RequestMethod.POST}) @APIEventAnnotation(callback = {CustomCallBack.ReloadParent, CustomCallBack.Close}, bindMenu = CustomMenuItem.save) public @ResponseBody ResultModel<Boolean> savePerson(@RequestBody CtPerson person) { ResultModel<Boolean> userStatusInfo = new ResultModel<Boolean>(); getService().savePerson(person); return userStatusInfo; } @MethodChinaName(cname = "删除人员") @RequestMapping(value = {"delPerson"}, method = {RequestMethod.GET, RequestMethod.POST}) @APIEventAnnotation(callback = {CustomCallBack.Reload, CustomCallBack.ReloadParent}, bindMenu = CustomMenuItem.delete) public @ResponseBody ResultModel<Boolean> delPerson(String iD) { ResultModel<Boolean> userStatusInfo = new ResultModel<Boolean>(); getService().delPerson(iD); return userStatusInfo; } PersonService getService() { return EsbUtil.parExpression(PersonService.class); } } @PageBar // @GridAnnotation(event = CustomGridEvent.editor, customService = PersonService.class, customMenu = {GridMenu.Add, GridMenu.Delete, GridMenu.Reload}) public class PersonGridView { @CustomAnnotation(pid = true, hidden = true) String orgId; @CustomAnnotation(pid = true, hidden = true) String roleId; @CustomAnnotation(uid = true, hidden = true) String iD; @CustomAnnotation(caption = "用户名称", required = true) String name; @CustomAnnotation(caption = "账户信息", required = true) String account; @CustomAnnotation(caption = "邮箱") String email; @InputAnnotation(inputType = InputType.password) @CustomAnnotation(caption = "密码", required = true) String password; @CustomAnnotation(caption = "手机") String mobile; @CustomAnnotation(caption = "部门名称") String orgName; public PersonGridView(Person person) { this.iD = person.getID(); this.orgId = person.getOrgId(); this.name = person.getName(); this.account = person.getAccount(); this.password = person.getPassword(); this.mobile = person.getMobile(); this.email = person.getEmail(); Org org = null; try { org = OrgManagerFactory.getOrgManager().getOrgByID(person.getOrgId()); this.orgName = org.getName(); } catch (OrgNotFoundException e) { e.printStackTrace(); } } } @BottomBarMenu @FormAnnotation(bottombarMenu = {CustomFormMenu.Save, CustomFormMenu.Close}, customService = PersonService.class, col = 1) public class AddPerson { @CustomAnnotation(uid = true, hidden = true) String iD; @CustomAnnotation(caption = "用户名称", required = true) String name; @CustomAnnotation(pid = true, hidden = true) String orgId; @CustomAnnotation(pid = true, hidden = true) String roleId; @CustomAnnotation(caption = "账户信息", required = true) String account; @CustomAnnotation(caption = "邮箱") String email; @InputAnnotation(inputType= InputType.password) @CustomAnnotation(caption = "密码", required = true) String password; @CustomAnnotation(caption = "手机") String mobile; public AddPerson(Person person) { this.iD = person.getID(); this.orgId = person.getOrgId(); this.name = person.getName(); this.account = person.getAccount(); this.password = person.getPassword(); this.mobile = person.getMobile(); this.email = person.getEmail(); } }
(五)DSM建模工具
DSM建模,百度百科是这样定义的:
特定域建模(Domain-specific modeling,DSM),是一种设计和开发系统(如电脑软件)的软件工程方法学。它系统使用图形化特定域语言(DSL),表现系统的各个方面。DSM的语言倾向于支持比通用建模语言更高级别的抽象,因此需要较少的努力和更少的底层细节来描述特定系统。
低代码技术应用可以通过提供更强的工具,提升程序员的代码效率。但其本质上也是一种特定场景下的软件描述方法,这个层面上低码技术和DSM思想是有其相通相同之处的,产品在设计之初就将DSM建模语言的构建以及工具支撑作为了底层支撑设计,将应用中积累的建模应用采用DSM的思想进行重构整合在底层打通。
我们将现有的资源类的工具,统一到仓库应用中,包括统一的物料库导入,统一的数据源(数据库,外部存储)管理。并通代码工厂的辅助构建统一到Contenxt(OneCode)的当前环境技术模型中。在各个特定的业务模型中,完成独立的聚合实体整合,以及相应的服务管理,并为相关的方法模型透视管理服务。在OneCode 的基础之上,摆脱传统的 代码模板与生成机制。实现代码向模型的逆向能力。将DSM设计能贯穿整个项目开发实施管理过程,打造结余真实的代码之上的建模语言。(1)仓储建模
(2)聚合应用
(3)视图工厂
(4)支撑域
添加图片注释,不超过 140 字(可选)(5)流程建模
添加图片注释,不超过 140 字(可选)六,应用集成(1)内核最小集合集成(JS离线应用)
设计器内核完全采用JS脚本完成,是独立的前端框架。内核版本包括:RAD 页面设计编辑器,xui运行运行脚本两部分。
添加图片注释,不超过 140 字(可选)
最小集合仅包含,页面设计及器以及插件框架。
设计界面集成:
下载开源包后,运行debug.html 即可打开编辑器。
添加图片注释,不超过 140 字(可选)
集成到自由应用时只需要,引入两个关键的js lib包即可集成到自有的应用。
<script type="text/javascript" src="/RAD/xui.js"></script> <script type="text/javascript" src="/RAD/index.js"></script> <script type="text/javascript"> var lang = (function () { var dft = 'zh-cn', map = { 'en-us': 'en', 'zh-cn': 'cn' }, n = navigator, l = (n.language || n.browserLanguage || '').toLowerCase(); return map[l] || map[dft]; })(); xui.include("xui.Locale." + lang + '.doc', "/RAD/Locale/" + lang + ".js", function () { xui.Module.load('RAD', function () { SPA = this; }, lang); });
运行支撑环境集成:打开:
设计完成的文件再应用环境中引入如下代码即可
<script type="text/javascript" src="/xui/js/xui-all.js"></script> <script type="text/javascript" src="./xuiconf.js"></script> <script type="text/javascript" src="/xui/Locale/cn.js"></script>(2)团队协作版
团队协作版是独立的服务器部署版,在官网上申请账号后,可以在独立的服务器上运行。启动后通过浏览器访问 http://demoserver:83 用管理员 sysadmin 登录:
首次登录 会进入默认的工程配置界面
配置工程
关联API
设定团队管理员