expo/exact

출처
GitHub
처음 오른 날
분야
디자인과 UI
GitHub 별 수
3,359
주 언어
Rust

외부 오픈소스 저장소를 소개하는 글입니다. HDATF 제품이 아닙니다.

expo/exact

무엇을 하나

Exact는 하나의 화면 정의로 웹, macOS, iOS, Linux 앱을 만들려는 개발자를 위한 앱 실행 기반입니다. 입력은 화면과 상태와 동작을 선언하는 언어인 Contract 파일, 그리고 TypeScript나 Rust로 작성한 데이터 처리 코드입니다. 컴파일러가 실행 계획을 만들면 웹에서는 브라우저 DOM과 CSS로 표시하고, 다른 환경에서는 Rust 실행기와 배치 계산기를 통해 기본 컨트롤이나 자체 그리기로 표시합니다. 데이터 읽기와 쓰기는 정해진 자료형을 검사하는 경계를 통과하며, 선언한 권한으로 네트워크와 파일과 SQLite와 비밀 정보 접근을 제한합니다. 공통 에이전트 도구는 화면 구조와 스크린샷과 입력과 상태와 시간 제어를 제공하며, Contract 테스트를 여러 환경에서 재사용하게 합니다. 저장소에는 할 일 목록과 로컬 노트 예제가 있지만, 업무용 제품이 미리 구성되어 있지는 않습니다. 준비에는 소스 체크아웃과 Rust와 지정된 Bun과 Chrome이 필요하며, Apple 대상에는 Xcode가 필요하고 네이티브 TypeScript에는 Hermes라는 JavaScript 실행기가 필요합니다. 아직 1.0 이전 단계라 호환성을 보장하지 않으며, Windows 기본 컨트롤과 배포, Android 패키징, Linux 편집에는 미완성 부분이 존재합니다.

라이선스

MIT 허용 범위가 넓습니다. 저작권 표시를 유지하면 상업적 이용과 수정이 가능합니다.

같은 분야 저장소

  • vercel-labs/ui
    UI SDK는 화면을 만드는 개발자와 코딩 에이전트가 공통 상호작용을 재사용하도록 만든 UI 라이브러리입니다. 완성된 업무 앱이나 모델이 아니라 키보드 이동, 초점, 선택, 팝업과 접근성 속성을 조합하는 도구입니다. 개발자는 상태와 동작, 화면 부분을 정의하고 프레임워크 어댑터로 실제 요소를 렌더링합니다. 공통 core와 React, Vue, Svelte, Solid, Web Components 어댑터를 제공합니다. 공식 예제는 검색 입력과 지우기 버튼을 같은 동작 정의에서 연결하는 과정을 보여 줍니다. 대화상자 소스에서도 상태, 슬롯과 에이전트가 호출할 동작을 따로 선언하는 구조를 확인할 수 있습니다. 시작하려면 사용하는 프레임워크의 패키지와 core를 앱에 연결해야 하며 에이전트용 스킬은 별도로 추가하는 자료입니다. 패키지를 설치한다고 기존 화면이 자동으로 바뀌지는 않습니다. 베타 제품이므로 API와 동작이 바뀔 수 있으며 실제 화면의 접근성은 별도로 시험해야 합니다.
  • anomalyco/rune
    Rune은 Rust 코드로 화면을 만들고 GPU로 그리는 UI 프레임워크입니다. 기본 문서는 macOS와 Windows, Linux와 웹을 대상으로 설명하며 사람뿐 아니라 코딩 에이전트가 화면을 확인하는 작업도 다룹니다. 입력은 애플리케이션 상태와 뷰 함수, 사용자 또는 스크립트의 조작이며 출력은 실행 화면이나 헤드리스 PNG와 요소 트리입니다. 확인한 hello 예제는 스위치 클릭으로 상태를 바꾸고 그 상태에 따라 글자와 손잡이 위치가 바뀌는 구조입니다. 예제 테스트는 가상 포인터 입력과 프레임 진행으로 상태 변경 및 손잡이 이동을 검사합니다. 핵심 문서는 레이아웃과 텍스트, 테마 토큰과 스프링 애니메이션, 헤드리스 입력 기능을 설명합니다. 사용하려면 Rust 프로젝트에서 Rune 의존성을 연결하고 상태와 뷰를 작성해야 하며 설치만으로 기존 앱이 변환되지는 않습니다. 사전 출시 단계이므로 문서는 dev의 특정 리비전 고정을 권하며 대상 운영체제의 그래픽 환경과 실제 입력 및 접근성 지원은 도입 전에 별도로 검증해야 합니다.
  • meta/astryx
    Astryx는 React 화면의 구성 요소와 시각 규칙을 함께 제공하는 디자인 시스템입니다. 화면을 만드는 개발자와 디자이너, 코딩 에이전트가 같은 구성 요소 설명을 사용하도록 설계했습니다. 입력은 React 코드와 구성 요소 속성, 테마 설정이며 출력은 버튼과 폼, 페이지 배치 같은 웹 화면입니다. 미리 만들어진 CSS와 형식이 있는 React 구성 요소를 제공하고 테마의 CSS 변수로 색상과 모양을 조정합니다. CLI는 구성 요소 문서를 조회하거나 페이지 템플릿 소스를 출력하고 필요하면 구성 요소 소스를 프로젝트로 꺼내는 기능을 제공합니다. 사용하려면 React 19 이상과 관련 패키지가 필요하며 CSS를 순서대로 불러오고 테마 제공자를 연결해야 합니다. 일반 사용에서는 별도 StyleX 빌드 플러그인이 필요 없지만 패키지를 설치하는 것만으로 기존 화면이나 에이전트 설정이 바뀌지는 않습니다. 베타 상태이며 실험용 구성 요소와 일부 차트 패키지는 안정 배포 대상이 아니므로 사용하는 패키지의 배포 상태를 따로 확인해야 합니다.
  • ppmpreetham/BUI
    BUI는 Blender를 설치하지 않고 Blender와 비슷한 화면 구성 요소로 독립 데스크톱 앱을 만드는 개발자용 라이브러리입니다. 화면 구성 코드와 입력 이벤트를 받아 창이나 화면 밖 픽셀 버퍼를 만들고 사용자 조작을 콜백으로 전달합니다. Python, Rust, JavaScript, React, Svelte, C, C++, Dear ImGui 연결을 제공하며 tkinter와 일부 Qt 문법을 위한 계층도 있습니다. 공통 실행부는 화면 요소 트리를 유지하는 C 런타임이며 Blender 전체 앱을 실행하는 대신 화면 그리기와 조작 처리를 옮겨 구현합니다. 기본은 소프트웨어 렌더링이고 Windows의 Direct3D 11과 Linux의 OpenGL 3.3을 선택할 수 있습니다. 필요한 개발 환경은 언어 연결별로 다르며 macOS 지원은 추가 제약이 있는 실험 단계입니다. 호환 문법이 모든 동작의 일치를 뜻하지 않으며 문서는 접근성 API, 입력기 지원과 글자별 대체 폰트가 없다고 밝힙니다. 프로젝트는 GPL-3.0-or-later를 선언하며 홍보용 속도 비교가 특정 앱의 성능을 입증하지는 않습니다.
  • patch-gg/pixelfx
    pixelfx는 게임과 시각 시제품 개발자를 위한 JavaScript 픽셀 효과 모음과 제작 절차입니다. README는 불, 날씨, 화면 애니메이션, 마법, 캐릭터 동작을 포함한 효과 244개를 소개합니다. 각 효과는 저장된 그림이 아니라 코드이며 시간 기반 그리기 함수 또는 상태를 갱신하고 그리는 시뮬레이션으로 구성합니다. 사용자는 색상표, 난수 기준값, 위치, 반전, 회전, 밝기를 전달하고 실행부는 픽셀 색상과 빛을 합쳐 프레임을 만듭니다. 캐릭터 효과는 별도 동작 정보로 준비 자세, 타격 정지, 대상 반응, 회복 동작을 포함할 수 있습니다. 브라우저 재생, 미리보기 이미지, 투명 스프라이트 시트, 프레임 정보를 출력하며 선택적인 GIF와 MP4 내보내기에는 ffmpeg가 필요합니다. 갤러리로 살펴보거나 Node.js 18 이상 도구로 시작할 수 있고 Claude Code 스킬은 생성 모델 대신 초안 작성, 렌더링, 눈으로 확인, 수정 절차를 안내합니다. 기본 캐릭터에 맞춘 효과는 자체 캐릭터에 맞게 손봐야 하며 MIT 코드 라이선스는 별도 권리 조건이 있는 동봉 PatchPixel 글꼴에 적용되지 않습니다.

Trendshift 순위 목록에 오른 저장소만 담았고, 목록은 후보를 찾는 데만 썼습니다. 순위 숫자는 옮기지 않았습니다. 설명과 라이선스, 별 수는 각 GitHub 저장소에서 확인했습니다. 해설은 우리의 판단입니다. 이 프로젝트들을 직접 시험한 것은 아니며, 상승 목록에 올랐다고 품질이 증명되지는 않습니다.

GitHub에서 보기 (새 탭에서 열림)