Apptron 0.7: 오프라인 사이트, 콘솔 임베드, 그리고 그 외 다양한 기능
Source: Dev.to
Apptron은 내 모든 프로젝트의 중심이 되었습니다. 모든 것이 여기서 결합되고 자체적으로 새로운 종류의 소프트웨어 플랫폼이 됩니다. 자세히 따라오지 않았다면 놓쳤을 수도 있습니다. 아래는 최신 릴리스에 대한 릴리즈 노트입니다.
이번이 가장 큰 릴리스입니다!
많은 버그 수정과 UX 개선, 그리고 몇 가지 새로운 작은 기능들이 추가되었습니다.
하이라이트
/web/dlmount – 파일을 쓰면 브라우저 다운로드가 자동으로 트리거되는 새로운 쓰기 전용 파일 시스템입니다.opencommand –/project외부의 파일을 편집합니다. 디렉터리에서open을 사용하면 파일 탐색기에 새로운 루트가 추가됩니다.- Embed snippet improvements – 이제 Editor Mode(클래식 편집기 UI, 이제 Apptron 상단 바가 없음)와 Console Mode(터미널 전용 임베드, 인터랙티브 CLI 놀이터나 웹 페이지에서 임의의 Wasm/Linux를 실행하기에 완벽) 중 선택할 수 있습니다.
환경 맞춤화
-
프로젝트에
.apptron/envrc(또는 간단히.envrc) 파일을 두어 프롬프트가 표시되기 직전에 명령을 실행합니다 – 프로젝트 수준의.profile이라고 생각하면 됩니다. -
기본 “Welcome to Apptron” 배너는
.envrc가 실행되기 전에 여전히 표시되지만,.banner또는.apptron/banner파일을 추가하면 교체할 수 있습니다. 빈 파일을 두면 배너가 완전히 비활성화됩니다. -
이제 두 개의 유용한 환경 변수가 제공됩니다:
Variable Values Description ENV_MODEedit/consoleembed가 에디터 모드인지 콘솔 모드인지를 나타냅니다. ENV_EMBED(set) 환경이 임베드 형태로 로드될 때 존재합니다.
오프라인 지원 정적 사이트
- 정적 사이트는
/public마운트에서 제공됩니다. /public/index.html파일이 있으면, 이제 동적 서비스 워커를 삽입하여/public안의 모든 자산을 백그라운드에서 캐시합니다. 홈페이지를 한 번 방문하면 전체 사이트가 오프라인에서도 접근 가능하게 됩니다.- 참고: 현재 “refresh‑ahead” 전략은 변경 사항을 보려면 두 번 새로고침해야 합니다. 사용해 보시고 문제점이 있으면 알려 주세요.
Demo video: (link omitted in original text)
성능 및 빌드 개선
- 네트워크 게이트웨이 업그레이드 – Cloudflare Containers standard‑4 로 이전하여 4배의 처리량 향상을 제공 (파일 다운로드 및 패키지 설치 속도 향상).
- Copy‑on‑write 파일시스템 통합 –
envbuild를 통한 환경 변경이 이제 기본 시스템 위에 레이어링됩니다. 이를 통해:- 사용자 정의 환경에 대한 자동 기본 시스템 업데이트.
- 대규모 빌드가 2배 더 빠르게 수행됩니다.
새로운 기능 및 개선 사항
| Feature | Description |
|---|---|
add new project welcome readme (#221) | 새 프로젝트용 새로운 README. |
add default service worker to cache public site assets for offline | 정적 사이트에 대한 오프라인 지원을 활성화합니다. |
add custom 404 support to public sites | /public에 대한 사용자 정의 404 페이지. |
add Embed Mode option to get new console embed | 편집기와 콘솔 임베드 중 선택. |
add open command for non‑project files (#230) | /project 외부 파일을 편집합니다. |
add support for .apptron files as dotfiles in project root | .apptron/*을 구성 파일로 인식합니다. |
add .apptron/banner or .banner to customise shell banner | 기본 환영 배너를 재정의합니다. |
add support for ?topbar=0 to hide topbar | 임베드에서 Apptron 상단 바를 숨깁니다. |
add sponsor dialog from account dropdown (#247, #225) | 스폰서십 정보를 빠르게 접근합니다. |
add feedback form dialog from topbar (#247, #224) | 피드백을 쉽게 제출할 수 있습니다. |
add bundle caching that clears on login (#163) | 번들 로드 시간을 개선합니다. |
add publish helper command (#227) | 퍼블리싱 워크플로우를 간소화합니다. |
add loopback network device | VM에서 루프백 네트워킹을 활성화합니다. |
add /web/dl filesystem for triggering downloads | 다운로드 트리거 파일을 위한 쓰기 전용 마운트. |
add ENV_MODE environment variable (edit or console) | 임베드 모드를 감지합니다. |
add kernel modules for audio support in VM | VM 내부 오디오 기능. |
add confirmation dialog on project delete (#262, #267) | 실수로 삭제하는 것을 방지합니다. |
add toast notification on project delete (#238) | 삭제 후 시각적 피드백. |
add loading indicators to buttons (#244, #203, #234, #202) | 비동기 작업 중 더 나은 사용자 경험. |
add help text in publish tab of share dialog (#195, #249) | 퍼블리싱에 대한 안내. |
add improved copy button in share dialog (#242) | 링크 공유를 더 쉽게 합니다. |
use copy‑on‑write for custom environments (#217) – 2× envbuild speedup, cuts seconds from page load. | envbuild 속도 2배 향상, 페이지 로드 시간을 몇 초 단축. |
improve network throughput (#159) – 4× speedup. | 4배 속도 향상. |
change starting directory to /project | 일관된 기본 위치. |
refactor share dialog architecture (#245, #222) | 더 깔끔한 코드베이스. |
Bug Fixes
- 프로젝트 파일 잘림/손상 문제 해결 (#232, #157).
- 최초 게시 실패 문제 해결 (#231).
- 프로젝트 루트 게시 불가 문제 해결 (#244, #233).
- 깨진 마크다운 미리보기 문제 해결 (#229).
- 작은 창에서 로그인 컴포넌트가 화면 밖으로 나가는 문제 해결 (#269, #268).
- 공유 대화상자에서 UI 깨짐 문제 해결 (#266).
- 드롭다운 해제 동작 오류 해결 (#240, #214).
- Apptron 로고 링크 깨짐 문제 해결 (#228).
- 짧은 프로젝트 이름 제한 문제 해결 (#208).
- 세션 만료 시 로그인 실패 문제 해결 (#210, #243).
- 프로젝트 설정 변경 후 상태 깨짐 문제 해결 (#167).
- 계정 대화상자에서 위험한 사용자 이름 변경 문제 해결 (#239, #246).
전체 변경 로그
시도해 보세요!
평소와 같이, 새로운 릴리스를 테스트하고 발견한 문제를 보고해 주시면 감사하겠습니다. GitHub Sponsors에게 큰 감사를 전합니다—그들은 이제 우리의 유일한 자금원입니다. Apptron이 지속될 수 있도록 후원을 고려해 주세요!