我们为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年9月30日
    27
  • 护士也能做科研?毓璜顶医院三位白衣天使走出特色护理之路(毓璜顶医院 十佳护士长)

    编者按: 为梦想而努力,谁都了不起。一百多年前,现代护理学的创始人弗洛伦斯·南丁格尔留下了不畏艰险、甘于奉献、救死扶伤、勇于献身的人道精神,激励着一代又一代护理人无悔前行。或以科研…

    科研百科 2024年6月22日
    86
  • 自治区以校为本小课题研究

    自治区以校为本小课题研究 近年来,我国教育领域在推进“以校为本”理念的落实方面取得了一定的进展。但是,“以校为本”理念的内涵和实施方式仍然存在许多问题和挑战。因此,本次小课题研究旨…

    科研百科 2024年10月10日
    14
  • 甘肃党建视频无法播放

    甘肃党建视频无法播放 最近,许多人在访问甘肃党建视频时遇到了无法播放的问题。这是怎么了?让我们来解决这个问题。 甘肃党建视频是甘肃共产党为推进党建工作而发布的视频。这些视频旨在帮助…

    科研百科 3天前
    0
  • 加强社会组织党建工作要抓住其自身特点(加强社会组织党建工作的重要意义)

    一是创新机制,增强整体效能。从内在的角度分析,党建要素的集成度不高,是社会组织党建水平偏低的主要原因。提高党建工作的水平,必须在创新工作机制上下功夫,通过机制创新,整合党建资源,激…

    科研百科 2023年12月11日
    161
  • 资金管理app

    资金管理app: 让财务更加智能和高效 随着数字化时代的到来,资金管理已经成为人们生活中不可或缺的一部分。资金管理app的出现,让人们的财务更加智能和高效。 资金管理app是一种可…

    科研百科 2024年10月2日
    11
  • 社工库qq开户在线查询官网

    社工库QQ开户在线查询官网 社工库是指一些收集和存储个人社会安全号码、QQ号码、密码、邮箱等信息的网站。这些信息可能会被黑客、诈骗分子等利用,对个人和社会造成威胁。因此,我们必须及…

    科研百科 2024年11月12日
    0
  • 党的建设和教育如何融合起来

    党的建设和教育如何融合起来 党的建设和教育是中国共产党治国理政的基本任务。党的建设是指通过加强党的政治建设,思想建设,组织建设,纪律建设,文化建设,制度建设等方面的建设,来提高党的…

    科研百科 2024年10月22日
    0
  • 科研用到的软件(科研项目专用工具软件开发)

    科研项目专用工具软件开发 随着科技的不断发展,科研项目专用工具软件开发变得越来越重要。这些工具可以帮助研究人员更高效地进行实验和分析,提高研究质量和效率。因此,科研项目专用工具软件…

    科研百科 2024年4月6日
    68
  • 别再手绘横道图了!快试一试新出的横道图软件,精准把控施工进度

    横道图对于施工环节的各个流程工序的把控是至关重要的,对于施工的总体统筹安排起着决定性作用,但是一般在施工环节中我们都是手绘横道图,实在是太麻烦了! 现在新出了一款横道图软件,只需要…

    2022年8月25日
    261