
롱브리지(Longbridge)의 Rust 기반 크로스플랫폼 UI 프레임워크 Native Shell이 4일 공식 GitHub 저장소에 0.4.0 버전을 공개했다. 웹 앱 실행 방식을 브라우저 자체 자바스크립트 엔진으로 바꾸고, 폼 입력과 문서 편집에 쓰는 기본 구성 요소를 늘린 것이 주요 변화다.
Native Shell은 iOS·안드로이드·macOS·윈도·리눅스와 웹을 대상으로 한다. 앱 전체를 Rust로 작성하거나 TSX로 화면을 만들고, 두 방식을 함께 쓰는 구조를 제공한다. 공식 문서는 플랫폼의 뷰·텍스트·입력 체계를 활용하되 색상과 서체, 여백 등 시각적 디자인은 앱이 정하도록 설계했다고 설명한다. 기존 네이티브 앱 안에 일부 기능으로 넣는 방식도 지원한다.
이번 버전에서는 개발 중 핫 업데이트를 포함해 웹 앱이 브라우저의 자바스크립트 엔진에서 실행된다. 런타임 구성 요소를 필요할 때 불러오는 방식도 적용했다. 프로젝트 측은 갤러리 예제의 최초 로딩 용량이 13.03MB에서 4.35MB로, gzip 압축 기준으로는 4.01MB에서 1.41MB로 줄었다고 밝혔다. 이는 해당 예제의 측정 결과로, 모든 앱에서 같은 폭의 감소를 보장하는 수치는 아니다.
웹 실행 구조가 바뀌면서 브라우저의 보안 규칙도 직접 적용된다. 릴리스 노트에 따르면 앱 코드는 페이지의 실행 영역에서 동작하며, 브라우저 API는 교차 출처 리소스 공유(CORS), 권한, 보안 컨텍스트 제약을 따른다. 네이티브와 코드를 공유하더라도 웹 배포에서는 이 차이를 고려해야 한다.
화면을 구성하는 기본 기능도 확충했다. 날짜 선택기와 캘린더, 콤보박스 등 폼 컨트롤이 추가됐고, 표를 다루는 리치 텍스트 편집기와 트리·명령 팔레트도 제공한다. 기본 구성 요소가 동작과 상태, 접근성 구조를 맡고 앱이 외형을 입히는 방식이다. WGSL 셰이더를 이용한 화면 효과와 전환 기능도 들어갔다.
기존 0.3.x 앱을 사용하는 개발자에게는 호환성 점검이 필요하다. 0.4.0은 스타일 속성, 이벤트 인자, 함수 반환값과 단위를 정리하면서 이전 API 형태를 제거했다. 예를 들어 입력 이벤트는 값 자체가 아니라 값을 담은 객체를 전달한다. 웹 페이지에 런타임을 직접 넣은 경우에도 기존 바이트코드 실행 호출을 새 모듈 실행 API로 바꿔야 한다.
이번 릴리스는 공통 UI 기능 확대와 웹 배포 구조 변경을 함께 다룬다. 도입을 검토하는 팀은 새 구성 요소뿐 아니라 플랫폼별 입력·접근성 동작과 마이그레이션 범위를 함께 살펴볼 필요가 있다.
출처: Longbridge Native Shell 0.4.0 공식 릴리스 https://github.com/longbridge/nsh/releases/tag/v0.4.0 · 공식 저장소 https://github.com/longbridge/nsh · 공식 설계 문서 https://nsh.dev/docs/goals/









