우리가 자주 사용하는 Cursor와 VS Code.

 

겉으로는 일반 데스크톱 프로그램처럼 보이지만, 사실 웹 기술을 이용해 만든 데스크톱 앱입니다.

 

핵심 기술은 Electron입니다.

Electron이란?

웹사이트를 만들 때 사용하는 HTML, CSS, JavaScript로 Windows와 macOS, Linux에서 실행되는 데스크톱 앱을 만들 수 있게 해주는 기술입니다.

쉽게 말하면,

웹사이트에 브라우저와 컴퓨터 제어 기능을 함께 넣어 데스크톱 프로그램으로 포장하는 방식입니다.

Electron 앱 안에는 화면을 보여주는 Chromium과 파일·터미널·운영체제 기능을 다루는 Node.js가 함께 들어갑니다.

VS Code는 이를 기반으로 TypeScript, JavaScript, HTML, CSS 등을 사용해 만들어졌습니다.

 

Cursor도 처음부터 코드 편집기를 새로 만든 것은 아닙니다. VS Code를 기반으로 시작해 AI 기능과 새로운 사용 경험을 추가한 프로그램입니다.


왜 Electron을 선택했을까?

가장 큰 이유는 하나의 코드로 여러 운영체제를 지원할 수 있기 때문입니다.

 

Windows용과 macOS용 프로그램을 각각 개발하려면 시간과 비용이 많이 듭니다. Electron을 사용하면 공통 코드를 활용해 Windows, macOS, Linux용 앱을 함께 만들 수 있습니다.

 

또한 다음과 같은 장점이 있습니다.

  • React·Vue·TypeScript 등 익숙한 웹 기술 사용
  • 풍부한 라이브러리와 개발 자료
  • Windows·macOS·Linux 동시 지원
  • 복잡한 화면을 비교적 빠르게 구현
  • 업데이트가 잦은 프로그램에 유리

Cursor나 VS Code처럼 화면이 복잡하고 기능이 많으며 자주 업데이트되는 앱에는 잘 맞는 선택입니다.

하지만 단점도 있습니다.

  • 설치 파일이 큰 편
  • 메모리 사용량이 많을 수 있음
  • 간단한 프로그램에는 지나치게 무거울 수 있음
  • 보안과 프로세스 분리 설계가 필요함

VS Code가 Electron 앱인데도 비교적 빠르게 작동하는 것은 Electron이 원래 가벼워서가 아닙니다. 검색, 터미널, 확장 프로그램 같은 무거운 기능을 별도 프로세스로 분리하고 오랫동안 최적화했기 때문입니다.


Electron과 비슷한 기술은?

1. Electron

웹 기술로 복잡한 데스크톱 앱을 만들 때 적합합니다.

추천하는 경우:

  • 노션이나 슬랙 같은 업무 도구
  • 코드 에디터
  • 관리자 프로그램
  • 화면과 기능이 복잡한 앱
  • Windows와 macOS를 동시에 지원해야 하는 경우

장점은 자료와 라이브러리가 많아 바이브코딩하기 쉽다는 것입니다. 대신 앱의 용량과 메모리 사용량이 커질 수 있습니다.

2. Tauri

Electron처럼 웹 기술을 사용하지만, 앱마다 Chromium을 포함하지 않고 운영체제에 설치된 WebView를 활용합니다.

추천하는 경우:

  • 메모장이나 파일 변환기
  • 트레이에서 실행되는 작은 프로그램
  • 설치 용량이 작아야 하는 앱
  • 메모리 사용량이 중요한 유틸리티

Electron보다 작고 가볍게 만들기 좋습니다. 다만 운영체제마다 WebView가 달라 미세한 차이가 발생할 수 있고, 운영체제 기능을 깊게 사용하려면 Rust 영역을 다뤄야 할 수도 있습니다.

3. Flutter

Dart라는 언어와 자체 UI 엔진을 사용합니다. 데스크톱뿐 아니라 모바일 앱까지 함께 만들고 싶을 때 유리합니다.

추천하는 경우:

  • 모바일 앱과 데스크톱 앱을 함께 출시
  • 모든 운영체제에서 비슷한 디자인 유지
  • 터치 중심의 화면

웹 기술을 그대로 활용하는 방식은 아니지만 하나의 코드베이스로 여러 플랫폼을 지원할 수 있다는 장점이 있습니다.

4. .NET

C#을 기반으로 Windows 프로그램을 만들 때 많이 사용합니다.

추천하는 경우:

  • Windows 중심의 사내 프로그램
  • 기업용 업무 시스템
  • Microsoft 생태계와 연동되는 앱

Windows 환경에서는 강력하지만, Linux 데스크톱까지 동일하게 지원하려는 경우에는 선택지를 더 살펴봐야 합니다.

5. Qt 또는 네이티브 개발

성능이 중요하거나 운영체제와 깊게 연결되는 프로그램에 적합합니다.

추천하는 경우:

  • 영상·그래픽 처리
  • 장비 제어
  • 산업용 프로그램
  • 운영체제 고유 기능이 중요한 앱
  • 최고의 성능과 완성도가 필요한 앱

macOS만 지원한다면 Swift, Windows만 지원한다면 WinUI 같은 네이티브 기술도 좋은 선택입니다. 다만 운영체제별로 별도 개발이 필요할 수 있어 개발 난이도와 비용이 높아집니다.


바이브코딩에서는 무엇을 선택해야 할까?

바이브코딩에서는 언어를 얼마나 잘 아느냐보다 어떤 데스크톱 앱을 만들 것인가를 먼저 봐야 합니다.

  • 복잡한 업무 도구나 에디터 → Electron
  • 작고 가벼운 유틸리티 → Tauri
  • 모바일 앱도 함께 출시 → Flutter
  • Windows 중심의 사내 프로그램 → .NET
  • 영상 처리·장비 제어·고성능 프로그램 → Qt 또는 네이티브
  • macOS 전용 앱 → Swift
  • Windows 전용 앱 → WinUI

그래도 잘 모르겠다면 Electron + React + TypeScript로 시작하는 것이 가장 무난합니다.

 

AI가 학습하고 참고할 코드가 많고, 오류가 발생했을 때 찾을 수 있는 자료와 라이브러리도 풍부하기 때문입니다. 복잡한 화면을 빠르게 구현하기에도 좋습니다.

 

다만 내가 만들려는 제품의 핵심이 **“작고 빠르고 가벼운 프로그램”**이라면 처음부터 Tauri를 선택하는 편이 더 적합합니다.

결국 정답은 어떤 기술이 가장 최신인지가 아니라,

내가 만들 앱에서 개발 속도, 실행 성능, 설치 용량, 지원할 운영체제 중 무엇이 가장 중요한가?

이 기준으로 선택하는 것이 좋숩니다. 😄