C99로 190개 UI 컴포넌트 그리는 CUI 공개, 첫 커밋 4일 만에 611스타
- 약 190개 컴포넌트를 브라우저나 런타임 없이 기계어로 컴파일하고, Windows·macOS·Linux·웹을 C99 코드베이스 하나로 지원함
- 프레임당 0.1~0.25ms, 완성 앱 크기 약 250KB, 의존성 0개를 내세움
- 컴포넌트가 스스로 그리고 발생한 일을 반환하는 즉시 모드 방식이라, 변수가 곧 상태이고 화면 전체를 매 프레임 다시 기술함
- Win32·Cocoa·X11 또는 SDL2·GLFW 위에서 OpenGL이나 소프트웨어 렌더러로 그리며, 코어는 삼각형만 출력해 자체 렌더러도 붙일 수 있음
- 해커뉴스에서는 첫 커밋이 4일 전이고 코드가 전부 Claude가 작성됐다는 지적과 함께, 5일 된 프로젝트가 611 스타를 받은 걸 두고 의문이 나옴
Hacker News opinions
예제 코드 진짜 깔끔하더라. 내부 구현은 아직 안 봤는데 UI 짜기 편해 보임. 만든 사람 잘했음.
CUI라고 하니까 Controlled Unclassified Information이 먼저 떠오르는 게 웃김. CUI로 CUI 마크업하게 생겼네.
ShadCN 같더라. 그것도 C로. 근데 즉시 모드 방식이라 그런지 꽤 우아함.
빌드 속도 때문에 C가 다시 합리적으로 보인다는 건데, 메모리 안전성은 모델한테 따로 맡기면 되는 건가? 그건 안전 보장이 아니지.
반대 현상도 봄. Rust 2만5천 줄짜리 코드베이스를 바이브코딩했더니 빌드마다 15초 걸리더라. 손으로 짰으면 미쳤다고 했을 텐데 에이전트는 빌드 사이 간격이 길어서 별 상관 없음.
웹이랑 터치만 배운 사람이 만든 것 같음. 칩이나 별점은 체크박스나 이산 슬라이더랑 기능적으로 다를 게 없는데 코드도 switch랑 checkbox가 중복돼 있더라. UX 기본 요소랑 그냥 생긴 게 다른 걸 구분해야 함.
C 코드를 더 늘리자는 프로젝트라니 아쉽네. 아무리 잘 짰어도 C는 근본적으로 안전하지 않음.
임베디드 하는 사람 입장에선 MMU 없으면 그냥 문제 없음. 문제가 좀 줄어들 뿐이고.
솔직히 프론트만 하던 사람이 바이브코딩한 거임. 첫 커밋이 4일 전이고 전부 클로드가 씀. AI가 늘 만드는 그 스타일이 그대로 C 프레임워크가 된 느낌임.
5일 된 C 프로젝트가 어떻게 611 스타를 받았는지 모르겠음. C로 UI 짜는 사람이 그렇게 많다고?
이런 라이브러리가 뭘 해결해 주는지 모르겠음. 프롬프트 한 번이면 내 코드, 내 플랫폼에 맞춰 비슷한 걸 뽑을 수 있는데 굳이 의존성을 추가할 이유가 있나.
바이브코딩이 이제 생각을 AI한테 위임하고 나온 결과물을 그대로 내놓는 뜻이 되고 있음. 라이브러리나 프레임워크는 그런 걸 놓을 자리가 아닌데.
코드는 안 봤지만 LVGL이랑 비슷해 보임. 조금 낫긴 하고.
Native라는 말이 걸림. Cocoa NSButton이나 WinUI Button을 감싼 게 아니라 그냥 직접 그리는 커스텀 컴포넌트 아닌가.
네이티브는 문맥에 따라 뜻이 다름. 내 기준에선 JVM이나 V8 안 거치고 기계어로 도는 게 네이티브임.
libui-ng처럼 플랫폼 위젯을 쓰는 라이브러리도 있는데, 그러면 AppKit 전체를 못 쓰고 공통분모에 갇히지. 레이아웃 제약이랑 콜백을 더 간단히 표현할 방법이 있으면 좋겠음.
예쁘긴 한데 장기 지원 이력이 없어서 누가 빌려준 막대기로도 안 건드리겠음.
모바일에서 노드 에디터 버벅이더라.