Skip to main content

이번 주 프로젝트: WordPress 데스크톱

· 8 min read

이번 주에는 Automattic의 팀원들과 만나 WordPress Desktop에 대해 이야기를 나눴다. WordPress Desktop은 워드프레스 콘텐츠를 관리할 수 있는 오픈소스 데스크톱 클라이언트다.


WordPress Apps

모두가 알고 있는 WordPress, 그렇다면 WordPress Desktop은 무엇일까?

WordPress.com Desktop 앱은 크로스 플랫폼 환경에서 원활한 경험을 제공한다. 브라우저 탭으로 인한 방해 없이 콘텐츠와 디자인에 집중할 수 있으며, 사이트를 쉽게 접근할 수 있는 상태로 유지할 수 있다. 브라우저 지원과 모바일 앱과 함께 사용하면 어디서든 사이트를 구축할 수 있고, 작업을 완료하는 데 도움이 되는 방식으로 진행할 수 있다.

WordPress 사이트 관리를 위해 데스크톱 앱을 만드는 이유는? 웹 기반으로 모두 처리할 수 있지 않나?

실제로 이 앱은 WordPress.com을 브라우저에서 방문할 때와 동일한 기술을 사용한다. 다만, 모든 것이 로컬에서 호스팅되기 때문에 로드 시간이 최소화된다. 또한, 독(dock)에 위치하거나 알림과 같은 네이티브 기능을 활용할 수 있어, WordPress 사이트와 블로깅에 더 집중할 수 있다.

왜 WordPress Desktop을 Electron으로 개발했나?

2015년 말, 우리는 WordPress.com의 많은 부분을 React를 사용한 오픈소스 모던 자바스크립트 앱인 Calypso로 재구축했다. 우리는 Electron을 살펴보기 시작했고, Calypso에 몇 가지 변경을 가해 로컬에서 실행할 수 있게 했다. 이는 매우 매력적인 경험이었고, 이를 더 발전시키는 데 큰 가치가 있다고 생각했다.

당시 우리는 여러 팀이 Calypso를 개발하고 있었다. 전통적인 데스크톱 기술을 사용해 이와 동일한 기능을 가진 멀티플랫폼 GUI 클라이언트를 만드는 데는 더 많은 작업이 필요했다. Electron을 사용함으로써, 2~4명으로 구성된 작은 팀이 다른 팀의 노력을 활용해 데스크톱 앱을 단 몇 달 만에 개발할 수 있었다.

WordPress Desktop 개발 과정에서 겪은 어려움

초기 버전의 앱을 빠르게 실행하는 데는 성공했지만, 이를 데스크톱 앱으로 최적화하는 데는 훨씬 더 많은 시간이 필요했다. 이 앱의 가장 큰 도전은 실제로 사용자의 컴퓨터에서 Calypso의 복사본을 실행한다는 점이다. 이는 순수하게 API 기반의 UI로 동작하기 때문에, 이를 연결하는 데 상당한 작업이 필요했고, 이러한 변경사항은 Calypso 자체에도 반영되었다.

또한, 다양한 플랫폼(Windows, macOS, Linux)에 맞춰 앱을 패키징하는 데도 많은 노력이 들었다. 각 플랫폼마다 충분한 차이가 있어 이를 해결하는 것이 쉽지 않았다.

당시 Electron은 비교적 새로운 기술이었기 때문에, 우리는 자주 문제에 직면했고, 그 문제들은 빠르게(때로는 같은 날) 해결되기도 했다.

Electron의 개선이 필요한 부분은 무엇인가?

Electron은 이미 데스크톱 앱 개발에 필요한 대부분의 기능을 제공하며, 우리가 사용하기 시작한 이후로 빠르게 발전해 왔다. 하지만 스펠 체크나 찾기/바꾸기와 같은 데스크톱 앱에서 당연하게 여겨지는 기능들은 현재의 Electron으로 구현하기에는 여전히 어려운 부분이 있다.

또한, 최신 Chrome 기술들이 Electron으로도 도입되기를 기대한다. 특히 WebVR을 실험해 보고 싶은 마음이 크다.

Electron에서 가장 좋아하는 점은 무엇인가?

Electron을 선택한 주된 이유이자 가장 큰 강점은 매우 활발하고 개방적인 커뮤니티다. Automattic은 항상 오픈소스를 믿어왔다. 이는 우리의 핵심 원칙 중 하나이며, Electron 프로젝트와 커뮤니티는 매우 개방적이고 긍정적인 핵심 신념을 많이 따르고 있다.

WordPress 데스크톱 앱의 향후 계획

우리 모델의 장점은 데스크톱 앱이 Calypso의 모든 새로운 기능을 자동으로 활용한다는 점이다. 지속적인 개선이 이루어지고 있다. 앞으로 앱에 오프라인 지원과 같은 추가 기능을 도입해 더욱 네이티브 앱에 가까워지길 기대한다. 또한 시스템 알림 기능도 개선할 계획이다.

Automattic에서 다른 Electron 앱을 개발하는 팀이 있나요?

네, 데스크톱 앱 작업 이후 Simplenote 팀은 Windows와 Linux용 데스크톱 앱을 개발하기 위해 Electron을 사용하기로 결정했습니다. (Mac용 네이티브 클라이언트는 이미 존재합니다.) Simplenote Electron 앱은 오픈 소스로 GitHub에서 확인할 수 있습니다.

또한, Electron을 사용한 Raspberry Pi 통합 기능도 곧 출시될 예정입니다.

이 중 흥미로운 내용이 있다면 저희에게 연락 주세요!

다른 개발자에게 도움이 될 만한 Electron 팁

서명된 데스크톱 소프트웨어를 배포하는 과정은 우리에게 비교적 새로운 경험이었다. 특히 Windows 환경에서 더 그랬다. 우리는 Windows 앱 코드 서명에 대한 글을 작성했는데, 여기에는 올바르게 코드 서명을 수행하기 위해 거쳐야 하는 과정과 몇 가지 어려움에 대한 내용이 포함되어 있다.