전자 앱이란 무엇이며 왜 그렇게 일반화 되었습니까?

0
339

많은 새로운 데스크톱 응용 프로그램이 웹 사이트와 매우 비슷하게 보이는 것을 보셨습니까? 당신의 상상이 아닙니다.

Trello에서 Slack, WordPress.com에서 Github에 이르기까지, 소위 데스크탑 응용 프로그램에서 알림, 파일 시스템 액세스 및 메뉴와 같은 몇 가지 기본 기능이있는 웹 사이트를 번들로 제공하는 것이 점차 보편화되고 있습니다. 이를 가능하게하는 가장 일반적인 기술은 Electron이며 채팅 응용 프로그램 Discord 및 Microsoft의 Visual Studio Code와 같이 의심 할 수없는 몇 가지 응용 프로그램에서 사용됩니다.

Electron은 개발자가 Windows, macOS 및 Linux에서 동시에 앱을 쉽게 출시 할 수 있도록하지만 사용자에게는 단점이 있습니다. 전자 응용은 한 가지로 거대합니다. 채팅 응용 프로그램 인 Slack은 Mac에서 237MB의 하드 드라이브 공간을 차지하며 메모리 소비도 적지 않습니다. 그 모든 자원을 어떻게 차지하고 있습니까? 그리고 개발자가 왜 그렇게 비효율적 인 것을 사용하고 있습니까?

전자 응용 프로그램은 매우 쉽게 만들 수 있습니다

데스크톱 응용 프로그램은 특히 크로스 플랫폼을 원하는 경우 만들기가 어렵습니다. 예를 들어 Windows에서 파일 시스템에 액세스하는 것은 Linux와 다르게 작동하며 알림은 Windows와 macOS에서 다르게 작동합니다. 즉, 세 가지 데스크톱 운영 체제 (또는 둘 중 하나)에 대해 응용 프로그램을 작성하려는 사람은 서로간에 이식 할 때 많은 코드를 다시 작성해야합니다.

(내장) https://www.youtube.com/watch?v=8YP_nOCO-4Q (/ embed)

Electron은 3 가지 주요 데스크탑 운영 체제 모두에서 작동하는 단일 플랫폼을 제공하여이를 “해결”합니다. 즉, 개발자는 알림과 같은 코드를 한 번 작성하고 모든 운영 체제에서 기본적으로 작동 할 것으로 기대할 수 있습니다. 개발자에게 더 좋습니다 : 웹을 코딩하는 모든 사람이 잘 알고있는 기술인 Javascript, HTML 및 CSS를 사용하여 모든 것을 구축 할 수 있습니다.

전자 응용 프로그램에는 거의 모든 크롬이 포함되어 있습니다.

이것이 어떻게 가능한지? 모든 Electron 앱은 Chrome의 오픈 소스 버전 인 Chromium과 같은 완벽한 웹 브라우저를 번들로 제공하기 때문입니다. 이것은 개발자가 모든 시스템에서 기대하는대로 모든 것이 정확하게 작동하도록하기 위해 플랫폼 별 지침과 함께 번들로 제공됩니다. 그렇기 때문에 데스크톱 버전의 슬랙은 200MB 이상의 하드 드라이브 공간을 차지합니다. 대부분의 Chrome은 번들로 제공됩니다.

실행하는 모든 Electron 앱은 Chrome의 전체 인스턴스입니다. 블로거 Joseph Gentle이 지적했듯이 이것은 이상적이지 않습니다.

Slack을 다른 운영 체제 VM (크롬) 내에서 실행되는 작은 자바 스크립트 프로그램으로 생각할 수 있습니다. 기본적으로 IRC에서 채팅하려면 실행해야합니다. 실제 크롬이 열려 있어도 각 전자 앱은 전체 VM의 추가 사본을 자체적으로 실행합니다.

예, 사용자에게는 단점이 있습니다. 우선, 다운로드하는 모든 Electron 응용 프로그램은 대부분의 Chromium을 번들로 제공하며, 실행하는 모든 응용 프로그램은 해당 코드를 잘 실행합니다. 기본 애플리케이션과 마찬가지로 여기에 리소스를 공유 할 필요가 없습니다. 즉, Electron 앱은 플랫폼을 위해 특별히 개발 된 애플리케이션보다 더 많은 하드 드라이브 공간과 메모리를 차지합니다. 성능이 정말 중요하다면 Electron 응용 프로그램을 피할 수 있습니다.

잠깐, 그렇다면 전자는 좋은가요 나쁜가요?

이 시점에서 컴퓨터는 매우 강력하여 대부분의 사용자는 전자 응용 프로그램이 얼마나 비효율적인지조차 알지 못합니다. 실제로 대다수는 Electron에 대해 들어 본 적이 없습니다. 제 동료 대부분은 그렇지 않았으며 매일 슬랙을 사용합니다. 많은 사람들이 Trello의 데스크탑 버전이 나오는 것을 보게되어 매우 기뻤으며 다시 Electron 앱이라는 것을 몰랐습니다.

또한 이러한 앱은 웹 사이트보다 운영 체제와 더 잘 통합됩니다. 그들은 자신의 창문에 산다. 멋진 키보드 단축키, 기본 알림 및 브라우저만으로는 같은 방식으로 할 수없는 기타 기능을 제공합니다.

Slack, Trello 및 WordPress.com과 같은 응용 프로그램은 Electron이 존재하지 않으면 데스크톱 버전을 제공하지 않고 모바일 및 브라우저 버전에 중점을 두는 것이 좋습니다. 따라서 질문은 Electron이 나쁜지 여부가 아닙니다. Electron 응용 프로그램이 아무 것도없는 것보다 낫습니다. 예라고 대답 할 수 있지만 합리적인 사람들은 동의하지 않을 수 있습니다. (이 사람들에게는 항상 웹 버전이 있습니다.)