글 목록

ERWeb의 설계는 어떻게 여러 언어의 코드가 될까?

ERWeb에서 데이터베이스·HTML·API를 모델링하고 작성한 Unibase 코드를 엔진이 LLM 없이 자동 변환하는 흐름을 소개합니다. 현재 생성 대상과 지원 확장 방향, ERWeb 마켓으로 이어지는 다음 이야기를 담았습니다.

이 글의 내용 5개 항목

ERWeb의 모델링 소개 글에서는 요구사항과 화면 설계를 연결하는 과정을, Unibase 소개 글에서는 여러 언어로 코드를 변환하는 언어의 역할을 살펴봤습니다.

이번에는 두 이야기를 이어 보겠습니다. ERWeb에서 요구사항을 기준으로 데이터베이스, HTML 화면, API를 설계하고 필요한 로직을 작성합니다. 작성한 Unibase 코드는 엔진이 LLM 없이 자동으로 변환해, 선택한 언어와 플랫폼의 코드로 생성합니다.

요구사항을 기준으로 화면과 데이터, API를 설계합니다

하나의 기능을 만들려면 사용자가 무엇을 해야 하는지, 어떤 데이터를 저장할지, 화면과 서버가 어떻게 정보를 주고받을지 정해야 합니다. ERWeb에서는 이 내용을 각각의 모델로 정리하고 연결합니다.

모델링 정리하는 내용
요구사항 기능의 목적, 필요한 조건과 판단 기준
데이터베이스 테이블, 컬럼, 데이터의 관계
HTML 화면의 HTML·CSS 구성과 사용자 동작
API 요청 경로, 입력과 응답, 기능을 처리하는 구조

예를 들어 회원 목록을 보여주는 기능이라면, 조회 조건을 요구사항으로 정리하고 회원 데이터를 설계합니다. HTML 모델에서는 목록 화면을 구성하고, API 모델에서는 화면이 사용할 조회 기능을 정의합니다. 화면 동작과 서버의 처리 로직은 Unibase 소스로 함께 작성합니다.

요구사항은 설계와 구현을 판단할 기준이 됩니다. 데이터 모델과 화면, API, 작성한 로직은 실제 결과물을 만드는 재료가 됩니다.

설계와 소스를 선택한 기술의 코드로 생성합니다

이렇게 작성한 내용을 바탕으로 생성 대상을 선택합니다.

요구사항·설계·소스 작성 → 언어·플랫폼 선택 → 코드와 DB 스키마 생성

HTML 모델과 화면 로직은 Vue나 React 같은 프론트엔드 코드로, API와 처리 로직은 Java·Spring Boot나 Python·FastAPI 같은 백엔드 코드로 이어집니다. 데이터베이스 모델에서는 선택한 DB에 맞는 테이블과 관계를 정의하는 SQL을 생성합니다. 이처럼 DB 구조를 만드는 SQL을 DDL이라고 합니다.

ERWeb은 모델과 소스를 작성하고 관계를 관리하며 생성 대상을 선택하는 환경을 제공합니다. Unibase 엔진은 Unibase로 작성된 소스를 대상 언어와 플랫폼에 맞는 코드로 변환합니다. DB 스키마는 ERWeb의 데이터베이스 모델을 바탕으로 생성합니다.

이 코드 변환은 Unibase 엔진이 LLM 없이 자동으로 수행합니다. 엔진이 소스의 문법과 의미를 분석하고, 대상별 생성 규칙을 적용해 결과를 만듭니다. 코드 변환을 위해 LLM을 호출할 필요가 없습니다.

생성 결과는 대상 기술의 소스 파일과 프로젝트 구성으로 제공됩니다. 개발자는 결과를 읽고 확인하면서 실제 프로젝트의 개발과 검증을 이어 갈 수 있습니다.

현재 어떤 언어와 플랫폼으로 생성할 수 있을까요?

아래는 2026년 10월 5일의 로컬 개발 코드와 대표 생성·실행 기록을 기준으로 정리한 대상입니다. 사용 중인 버전과 모델별 지원 범위에 따라 선택 가능한 대상이 달라질 수 있습니다.

프론트엔드 언어와 플랫폼

출력 언어 플랫폼·프레임워크
JavaScript 또는 TypeScript Vue, React, Svelte
TypeScript Angular
TypeScript Next.js, Nuxt, SvelteKit
Dart Flutter Web — 현재 지원하는 화면·모델 범위

웹 화면은 각 프레임워크의 소스 구조에 맞게 생성합니다. Flutter Web은 지원하는 HTML·CSS와 화면 동작, 모델 범위에서 Dart 소스를 생성하는 경로입니다. 모바일·데스크톱 앱으로의 확대는 별도의 개발·검증 대상입니다.

백엔드 언어와 플랫폼

출력 언어 플랫폼·프레임워크
Java Spring Boot
Python FastAPI
C# ASP.NET Core
TypeScript NestJS
Go net/http

같은 API와 처리 의도를 선택한 서버 기술의 구조로 옮기는 흐름입니다. 각 대상에서 지원하는 타입, 로직과 데이터 접근 범위는 생성 대상별로 확인합니다.

데이터베이스 스키마 생성

데이터베이스 모델에서 MySQL, PostgreSQL, SQL Server, Oracle, SQLite에 맞는 DDL을 생성할 수 있습니다.

이 목록은 데이터베이스 설계에서 스키마를 만드는 범위입니다. 생성한 백엔드가 연결할 수 있는 DB는 언어·플랫폼별 지원 범위에 따라 따로 확인해야 합니다.

생성 대상은 계속 확장하고 있습니다

ERWeb과 Unibase에서 지향하는 것은 설계와 작성한 의도를 여러 기술 환경으로 이어 가는 것입니다. 화면과 API, 데이터의 관계를 바탕으로 프로젝트에 필요한 생성 대상을 선택할 수 있도록 지원을 넓혀 가고 있습니다.

새로운 언어와 플랫폼을 추가할 때에는 그 기술에 맞는 코드 구조를 만들고, 생성된 결과가 빌드되고 의도대로 동작하는지 확인합니다. 지원하는 모델과 동작, 실행 환경도 함께 정리합니다.

이 블로그에서도 생성 대상이 추가될 때마다 무엇을 만들 수 있는지와 실제로 확인한 결과를 소개하겠습니다.

만든 프로젝트를 ERWeb 마켓으로 이어 갑니다

설계와 코드 생성 다음에는 만든 프로젝트를 다른 개발자가 활용할 수 있도록 상품으로 등록하고 판매하는 과정이 이어집니다.

설계 → 코드 생성 → ERWeb 마켓에서 판매

다음 글에서는 ERWeb 마켓에 프로젝트를 등록하고 판매하는 흐름, 그리고 구매자가 그 프로젝트를 어떻게 활용하는지 소개하겠습니다.

댓글

GitHub 계정으로 의견과 질문을 남겨 주세요. 댓글은 공개됩니다.

GitHub에서 댓글 보기 (새 창)