我们为Node.js设计了一个低代码框架(我们为node.js设计了一个低代码框架英语)

我们为Node.js设计了一个低代码框架(我们为node.js设计了一个低代码框架英语)

作者丨Can Mingir

译者丨仇凯

  我们创建了一个项目,它可以自动化处理Node.js中的数据和逻辑,从而有效减少代码工作量。

  低代码框架Nucleoid在底层声明性运行时环境中使用,并通过重新渲染非常相似的JavaScript代码在图中建立连接,并最终保存JavaScript状态,因此它不需要外部数据库。

  特性

  • 让开发人员在AI的帮助下构建API(大量的图)
  • 在底层声明性运行时环境中使用
  • 运行时环境内置有数据存储

  Hello World

> npm i nucleoidjs1.

  安装后,通过Express.js启动或运行代码。

const nucleoid = require("nucleoidjs");const app = nucleoid();class User { constructor(name) { this.name = name; }}// This is it!app.post("/users", () => { new User("Daphne");});app.listen(3000);1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.

  差不多就是这样,多亏了运行时环境中的AI,能且仅能在AI的帮助下,才能在没有外部数据库的情况下将对象持久化。

理论

  在运行时中运用声明式编程,能够实现在同一进程中对数据进行管理。

  换句话说,该项目的主要目标是在同一运行时中管理数据和逻辑,同时,我们还可以将数据流/导出数据存储在类似NoSQL一样的外部数据库中。

CRUD

快速设置

const nucleoid = require("nucleoidjs"); // npm install nucleoidjsconst app = nucleoid();1.2.

Create

  首先,从创建用户类和用户对象开始。

class User {constructor(name) { this.name = name;}}nucleoid.register(User);app.post("/users", (req) => {const name = req.body.name;return new User(name);});1.2.3.4.5.6.7.8.9.10.11.12.

  不需要外部数据库的原因是Nucleoid运行时管理和存储JavaScript状态。每当有语句在运行时环境运行的时候,Nucleoid运行时都会调整AI图并将其存储在运行时管理的fs中。

Read

app.get("/users/:id", (req) => {const id = req.params.id;return User[id];});1.2.3.4.

  当有User这样的类注册时,运行时会为其实例创建快捷方式数组,可以查询或使用实例的id(var name)以在后续访问类。或者,也可以这样做User.find(user => user.id === id)

Update & Delete

app.post("/users/:id", (req) => {const id = req.params.id;const name = req.body.name;const user = User[id];if (user) { user.name = name; return user;}});app.delete("/users/:id", (req) => {const id = req.params.id;delete User[id];});1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.

  与上面的示例类似,它使用原生JavaScript,运行时重新渲染和管理JavaScript状态。此外,还可以在JavaScript中编写一些业务逻辑。例如,如果想对用户名进行限制,可以这样写 if (user.name.length < 3) { throws "INVALID_USER" }。

Query

  nucleoidjs包还打开了一个终端通道来运行SQL之类的语句

我们为Node.js设计了一个低代码框架(我们为node.js设计了一个低代码框架英语)

工作原理

nucleoid.run(() => {var a = 1;var b = a 2;var c = b 3;});1.2.3.4.5.

  当变量被定义为 var a = 1时,运行时会做三件事情。首先,它将var a放在图中,并在因变量之间建立联系。

我们为Node.js设计了一个低代码框架(我们为node.js设计了一个低代码框架英语)

变量图

其次,使用新值更新状态,以使其生效。

我们为Node.js设计了一个低代码框架(我们为node.js设计了一个低代码框架英语)

状态表

但是,由于变量会在图中被追踪,因此实际执行情况是不同的。

state.a = 1;state.b = state.a 2;state.c = state.b 3;1.2.3.

  最后将语句存储在运行时管理的fs中。

OpenAPI与Nucleoid IDE集成

  我们还在构建一个在线的OpenAPI编辑器,它有助于通过用户界面构建完全相同的API。它专为OpenAPI集成而设计,并且还连接到CodeSandbox,以便能够轻松地在沙箱中运行项目。

我们为Node.js设计了一个低代码框架(我们为node.js设计了一个低代码框架英语)

IDE截图

多亏了声明式编程,我们有了一种全新的数据和逻辑方法。

  原文链接:

​https://hackernoon.com/nucleoid-a-low-code-framework-for-nodejs​​

  仇凯,51CTO社区编辑,北京宅急送快运股份有限公司信息安全工程师

责任编辑:张洁来源: 51CTO技术栈

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年1月1日 上午8:05
下一篇 2024年1月1日 上午8:17

相关推荐

  • 低代码开发平台西门子

    低代码开发平台是一种新兴的软件开发工具,它能够帮助开发人员快速构建应用程序,提高开发效率和质量。西门子作为一家全球知名的工业自动化和数字化解决方案提供商,也推出了自己的低代码开发平…

    科研百科 2024年2月24日
    59
  • 陕西省水利厅重点项目名单2024

    陕西省水利厅重点项目名单2024 近年来,陕西省水利厅一直致力于推进水利事业的发展。在2024年,陕西省水利厅将继续推进重点项目的建设,为陕西省的水资源管理和水资源保护工作做出更大…

    科研百科 2024年12月11日
    0
  • 如何正确把握农业适度规模经营

      农业适度规模经营是指以提升农业生产效率和经济效益为目标,在既定的社会、经济和技术条件下,强调对土地、劳动力、资金、设备、技术等生产要素的优化配置和产前、产中、产后诸环节合理组织…

    科研百科 2022年6月3日
    478
  • 如何使用 Flask 编写 Python Web API(flask api文档)

    这是一个快速教程,用来展示如何通过 Flask(目前发展最迅速的 Python 框架之一)来从服务器获取数据。– Rachel Waston(作者) Python 是一…

    科研百科 2024年5月16日
    109
  • A股:十大“信创”概念龙头公司一览(附名单)(信创板块龙头股)

    导语:A股:十大“信创”概念龙头公司一览(附名单) 1、神州数码 相关概念:子公司神码云科以自有资金成立云科信息,其中神码云科拟出资3750万元,占注册资本金75%,开展的主要业务…

    科研百科 2023年4月28日
    447
  • 盛恒项目管理

    盛恒项目管理: 打造卓越项目管理的践行者 盛恒项目管理公司是一家专业的项目管理公司,成立于2006年,总部位于中国上海。公司致力于为客户提供高品质的项目管理服务,帮助企业实现项目目…

    科研百科 2024年9月16日
    29
  • 项目职能管理系统

    项目职能管理系统:提升项目管理效率的关键 随着现代商业环境的变化和竞争的加剧,企业需要更加高效地管理项目,以确保项目的成功交付和高质量的成果。然而,传统的项目管理方式已经无法满足现…

    科研百科 2024年12月15日
    0
  • 低代码在不同行业的应用(低代码在不同行业的应用有哪些)

    随着数字化转型的加速,越来越多的企业开始寻求更为高效、灵活的开发方式来满足业务需求。低代码开发平台正是在这一背景下应运而生的一种新型开发工具。本文将详细探讨低代码在不同行业的应用及…

    科研百科 2024年5月16日
    103
  • 医美客户管理系统

    医美客户管理系统:提升医美行业效率的利器 随着现代医疗行业的不断发展,医美行业也成为了一个备受青睐的领域。在这个领域中,医美客户管理系统成为了一个不可或缺的工具,能够为医美行业带来…

    科研百科 2024年11月7日
    1
  • 业务管理实战篇:业务人员工作手机、手机卡领用及使用管理规定

    业务人员工作手机、手机卡领用及使用管理规定 第一章 目的 为了便于业务人员开展业务和管理工作,公司特为相关业务人员配备工作手机、手机卡。具体的领用和管理制度如下: 第二章 手机 第…

    2022年9月3日
    1.5K