常见问题
Enhancer 是什么?
Enhancer 也即无远开发平台,是专业的一站式信息系统开发云平台。基本上,只需编写 SQL,无需编写代码,即可快速完成各类系统的开发,并且获得可直接部署在您私有环境的应用程序。
Enhancer 适合开发哪些项目,不适合开发哪些项目?
不要把 Enhancer 想象成一款低代码开发工具,只能做简单场景。Enhancer 是一款全场景支持的开发平台,只要属于对信息进行管理的业务(教务、财务、政务、零售、医疗、金融、保险、能源、农业、工业、MES、进销存、CRM、ERP、工作流、人事、配置管理、运维...),都可以使用 Enhancer 快速开发。 当然,很明显,你不可能指望用 Enhancer 搭建一个类似新浪微博的社交化应用,或者淘宝网这样的电商平台。但是,使用 Enhancer 为这些C端应用搭建支撑其运营的会员管理,客户关系管理,配置管理,订单及供应链管理等B端系统会是一个不错的选择。
为什么使用 Enhancer ?
- 开箱即用,上手门槛极低,专业开发者几乎无附加学习负担。
- 开发速度比传统方式快 5 到 10 倍,运维、迭代成本,人员更替风险大幅降低。
- 丰富的组件库和模板库,支持三方扩展,保持项目开发的生命力。
- 支持自由编码、调试、扩展,确保项目功能需求能 100% 满足。
Enhancer 使用的基础是什么,需要掌握 Node.js 开发吗?
- 要求的知识掌握程度:熟练掌握关系数据库设计, 熟练掌握 SQL,入门了解 JavaScript。
- 知识使用频率:SQL > 90%,JavaScript < 10%。大部分情况下,如无特殊效果,合理变通,可以做到零编码。
- Node.js 是 Enhancer 产出的系统运行依托的环境,理论上无需用户去掌握。绝大部分情况下,不需要写代码;即使要写,也是只是串接业务逻辑的片段。所以只需了解 JS 的基本语法和数据结构即可,有任何问题可以求助官方答疑群或者社区。
应用发布之后如何进行扩展或者二次开发?
首先,应用发布即成品,无需二次开发。
其次,Enhancer 云开发平台覆盖全部软件开发生命周期,发布之后的迭代也依然在平台上进行。这与其他框架或平台发布之后,二次修改源码有本质的不同,那样是不可逆的过程。
此外,Enhancer 绝大部分情况下不需要写代码,不表示不能写代码。实际上,云上编码开发的能力是完备的。在前端可以使用自定义窗口,在后端可以使用自定义接口和自定义模块来扩展程序,并且不论前端后端,可以通过浏览器进行友好调试。可以从容应对各种跨系统,异构环境调用等需要特殊适配需求以及前端定制化需求。
Enhancer 产出的系统如何跟其他三方系统对接?
系统之间通信方法有很多种:RPC、Web Service、内网 Http、消息中间件(kafka)、数据库之间消息同步等等。 Enhancer 提供给用户编写后台自定义接口的能力,可以根据三方系统的接口形态,编写调用逻辑,实现系统间对接。
Enhancer 产出的系统性能如何?
- 作为运行在数据库上层的应用,Enhancer 产出的系统,本身几乎不额外增加任何性能消耗,所有压力原封不动传递给库。业务瓶颈也在数据库。
- 根据实测结果,数据库和 Enhancer 系统同机部署在双核、4G内存、普通硬盘(非 SSD)的服务器上,SELECT 和 UPDATE 执行效率,皆可达到每秒 500 次以上的响应速度,可轻松承载日均千万的访问量。
- 此外,Enhancer 产出的系统在运行时,除 Session 外,都是无状态的,可以将保存 Session 的 Redis 独立部署,然后分布式部署任意多台 Enhancer 系统,以达到水平扩展的目的,可从容应对超大规模访问量。
在云上开发是否安全?
我们知道,在通信领域,通信安全的保障,不是依赖加密算法的保密而达成的。因为加密算法都是公开的,比如 RSA、AES 等。 同理,软件系统本身的安全性,也不是依赖软件开发过程的保密性来保障的。
- 一方面,在使用云平台开发的过程中,并未使用真实的业务数据,并且 Enhancer 提供的数据桥也仅仅是在您个人局域网实现通信。而一旦软件开发完成,系统可以部署在您指定的任何私有环境。
- 另一方面,Enhancer 会竭尽全力保障用户开发过程产出的任何信息不对外泄露,并愿意为过失承担任何法律责任。
Enhancer 命名含义是什么?
Enhancer (增强子)是一个生物学概念,本意是指能够使基因转录频率明显增加的 DNA 序列片段, 比喻连接浏览器和数据库之间的服务器应用程序。另外, Enhance 有增强、精进的意思。选用 .io 的域名表示 IT 领域的输入输出概念。Enhancer 是信息管理领域输入输出的增强者。