로우코드 백엔드로 REST 엔드포인트 구축

Nucleoid 로우 코드 프레임워크는 제어 흐름을 관리하고 동일한 런타임에서 내장 데이터 저장소에 저장하는 선언적 런타임으로 REST 엔드포인트를 구축하는 데 도움이 됩니다.

기본 선언적 런타임은 매우 동일한 JavaScript 코드를 다시 렌더링하고, 그래프에서 연결을 만들고, 결국 외부 데이터베이스가 필요하지 않도록 JavaScript 상태를 저장합니다.

비즈니스 로직



모든 JavaScript 코드는 abstract semantic graph을 사용하여 런타임에 의해 다시 렌더링되고 추적되므로 런타임은 비즈니스 로직 주위에 그래프를 구축하고 그 동안 런타임은 기술 세부 사항을 담당합니다.




데이터



JavaScript 코드를 추적할 때 런타임은 JavaScript 상태를 데이터 저장소로 저장하므로 런타임 자체에는 외부 데이터베이스가 필요하지 않습니다. 이렇게 하면 많은 수의 코드와 애플리케이션의 복잡성이 제거됩니다. 솔직히, 그것은 다른 가능성을 열어줍니다. (다음 기사에서 더 이야기하겠습니다)


💡 The main objective of the project is to manage both of data and logic under the same runtime, so that the application can be written with less code lines and without requiring external database.




쉬다



지금까지 REST API를 구축하기 위해 Nucleoid 런타임과 통합하는 두 가지 옵션이 있습니다.

Express.js




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

class User {
  constructor(name) {
    this.name = name;
  }
}

nucleoid.register(User);

app.post("/users", (req) => {
  const name = req.body.name;
  return new User(name);
});

👆 바로 이거야! 외부 데이터베이스 없이 개체를 저장합니다.

전체 예제에 대한 자세한 내용은 다음과 같습니다.





오픈API



추가x-nuc-action 필드가 있는 OpenAPI 3을 지원합니다. 이 필드는 Express.js에서 매우 유사한 순수 JavaScript 코드를 사용하지만 다음과 함께 실행할 준비를 합니다.

npx nucleoidjs start



{
  "openapi": "3.0.3",
  ...
  "/users":{
    "post":{
    "summary":"Create User",
    "request":{
      "type":"object",
      "properties":{
        "name":{
          "type":"string"
        }
      }
    },
    "response":{
      "$ref":"#/components/schemas/User"
    },
    "x-nuc-action":"function action(req) {
      const name = req.body.name;
      return new User(name);"
    }
  }
}


Nucleoid IDE은 OpenAPI와 함께 실행하는 데 도움이 되는 👆을 패키징하는 온라인 편집기입니다.


에서 시도하십시오 https://nucleoid.com/ide/





질문



Nucleoid 런타임은 또한 SQL과 같은 명령문을 실행하기 위해 터미널 채널을 엽니다. 이것은 간단한 npm 프로젝트와 함께 순수한 JavaScript를 사용하여 데이터베이스처럼 작동하는 런타임을 제공합니다 😎




선언적 프로그래밍 덕분에 우리는 데이터와 논리에 대한 완전히 새로운 접근 방식을 갖게 되었습니다. 이 강력한 프로그래밍 모델로 무엇을 할 수 있는지 아직 찾고 있으므로 어떤 유형의 기여에도 참여해 주세요!


에서 자세히 알아보기 https://github.com/NucleoidJS/Nucleoid

좋은 웹페이지 즐겨찾기