프론트론

브리지 API

렌더러에 노출되는 제한된 데스크톱 기능을 사용합니다.

Frontron 앱의 렌더러는 Node.js에 직접 접근하지 않습니다. contextIsolation과 sandbox를 유지한 채 preload가 window.electron만 노출합니다.

앱 정보

const info = await window.electron?.getAppInfo()

앱 이름, 버전과 플랫폼처럼 화면에 표시할 기본 정보를 읽습니다.

텍스트 파일 열기

const file = await window.electron?.openTextFile()

if (file) {
  console.log(file.name)
  console.log(file.content)
}

파일 경로를 임의로 넘기는 방식이 아니라 운영체제 파일 선택 창을 사용합니다.

텍스트 파일 저장

await window.electron?.saveTextFile({
  defaultPath: 'note.txt',
  content: 'Hello\n',
})

읽기와 저장은 사용자가 고른 파일에 한정되며 최대 크기는 16 MiB입니다.

클립보드와 알림

const text = await window.electron?.readClipboardText()
await window.electron?.writeClipboardText('복사할 내용')
await window.electron?.showNotification({ title: '저장 완료' })

노출하지 않는 기능

Frontron 기본 브리지는 다음 기능을 제공하지 않습니다.

  • 임의 경로 읽기와 쓰기
  • shell 명령 실행
  • 제한 없는 IPC 채널
  • 렌더러의 Node 통합

프로젝트에서 더 많은 데스크톱 권한이 필요하면 생성된 Electron 코드를 앱 요구사항에 맞게 직접 확장하고, preload 표면을 최소한으로 유지하세요.