banner
홈페이지 / 블로그 / 소켓 런타임은 클라우드를 종속성으로 삭제하는 것을 목표로 합니다. • 레지스터
블로그

소켓 런타임은 클라우드를 종속성으로 삭제하는 것을 목표로 합니다. • 레지스터

Nov 17, 2023Nov 17, 2023

인터뷰 Socket Supply Co는 오늘 웹 기술을 사용하여 Linux, macOS 또는 Windows용 네이티브 모바일 및 데스크톱 애플리케이션을 생성하기 위한 오픈 소스 런타임인 Socket Runtime을 발표했습니다. 이 오픈 소스 런타임은 백엔드 클라우드를 보완하거나 방지하기 위한 방법으로 P2P 연결 옵션도 제공합니다. 서비스.

런타임은 코드를 실행하기 위한 환경입니다. 웹 브라우저는 JavaScript 코드의 런타임 역할을 합니다. 브라우저 외부에서 실행되는 JavaScript 앱을 위한 Node.js, Deno 및 Bun과 같은 서버 런타임도 있습니다. 또한 데스크톱 장치(나중 두 장치의 경우 모바일)에서 로컬로 실행되는 JavaScript 앱을 위한 Electron, Tauri 및 Socket Runtime과 같은 앱 런타임이 있습니다.

웹 기술(JavaScript, CSS, HTML)을 사용하여 크로스 플랫폼 앱을 구축하기 위한 인기 있는 오픈 소스 프레임워크인 Electron은 웹 페이지 렌더링을 위해 Chromium 브라우저 엔진과 Node.js 런타임 환경을 사용합니다. 서버 지향 기능 및 파일 액세스 등을 처리하기 위한 Node.js 기본 프로세스와 HTML 기반 사용자 인터페이스를 제공하기 위한 Chrome 렌더러 프로세스를 통합합니다.

Socket Supply Co의 CEO인 Paolo Fragomeni는 The Register와의 인터뷰에서 "Electron의 가장 큰 문제는 모바일에서 실행되도록 설계되지 않았다는 것입니다."라고 말했습니다.

Tauri는 HTML 렌더링을 위해 Rust 및 WebView를 사용하여 다양한 기본 플랫폼용 모바일 및 데스크톱 앱을 구축하기 위한 오픈 소스 프레임워크입니다. Tauri 앱은 최종 바이너리가 Rust로 컴파일되기 때문에 런타임과 함께 제공되지 않습니다.

그러나 Fragomeni는 배워야 할 새로운 프로그래밍 언어가 없기 때문에 Socket Runtime이 더 바람직하다고 주장합니다. "Tauri에는 Rust가 있는데, 이는 대부분의 웹 개발자에게 있어 시작이 아닙니다."라고 그는 말했습니다.

그는 Google의 Flutter 프레임워크에 대해 유사한 반대를 제기했습니다. "Flutter는 학습을 위해 이 새로운 언어인 Dart를 다시 소개합니다. Dart는 큰 그림에서는 다소 모호합니다."라고 그는 말했지만 Google에는 "그 분야에 뛰어난 엔지니어가 일하고 있다"고 인정했습니다.

Fragomeni는 JavaScript 창시자인 Brendan Eich의 "항상 JS에 베팅하세요!"라는 외침을 반영하면서 웹 기술이 나아갈 방향이라고 주장합니다.

Fragomeni는 "우리는 웹을 좋아합니다."라고 말했습니다. "다른 어떤 종류의 개발자보다 웹 개발자가 더 많습니다. 웹에는 최고의 문서와 가장 잘 알려진 디자인 패턴이 있으며, 가장 큰 회사가 이에 투자하고 있습니다."

그러나 브라우저는 특정 종류의 클라이언트-서버 소프트웨어용으로 설계되었으므로 웹 기술을 기본 앱에 도입하려는 Electron 및 Tauri(Capacitor, Cordova, Ionic, NativeScript 및 React Native는 말할 것도 없고)와 같은 노력을 보았습니다. 개발. 그는 여러 플랫폼을 대상으로 하는 것이 개발 및 관리 관점에서 어려운 일이기 때문에 환영받는다고 말했습니다.

그는 "안드로이드 엔지니어, iOS 엔지니어, 윈도우 데스크톱 엔지니어, 맥OS 엔지니어, 리눅스 엔지니어를 찾고 고용하고 인센티브를 부여하고 유지하는 것은 정말 어렵다"고 말했다.

"Socket은 웹 개발자가 모든 OS, 데스크톱, 모바일용 앱을 만들 수 있도록 도와줍니다. 이는 HTML, CSS, JavaScript 또는 선호하는 프레임워크를 사용하는 것입니다."

또한 Socket Runtime은 Electron에 비해 크기 측면에서 이점이 있습니다. 즉, 훨씬 작은 앱을 생성합니다. 그는 Electron이 "기본적으로 하루가 끝날 때 200MB 바이너리를 제공하는 반면 Socket은 1.5MB 바이너리를 제공합니다. 그리고 신흥 시장에 접근하려는 경우 이는 꽤 큰 문제입니다."라고 말합니다.

Tauri는 바이너리 크기 측면에서 경쟁력이 있지만 Fragomeni는 Rust에서 사용할 수 있는 메모리 안전성 이점에도 불구하고 안전하지 않은 Tauri의 아키텍처 선택에 문제를 제기합니다.

"Tauri, 거기에는 훌륭한 작업이 있습니다. 하지만 그들은 [Electron에서 볼 수 있는] 메인 프로세스의 아이디어를 이어받았습니다. 메인 프로세스는 컴퓨터에서 실행되는 일종의 임의 프로세스입니다. 컴퓨터에 대한 완전하고 완전한 액세스가 가능하며 사용자는 이 프로세스가 수행할 작업에 대해 어떠한 보장도 할 수 없습니다."

Fragomeni는 "Socket은 웹 표준을 수용한다는 점에서 근본적으로 다른 접근 방식을 취합니다."라고 말했습니다. "웹 표준에는 CSP(콘텐츠 보안 정책)라는 것이 있습니다. 우리는 이를 실제로 세부적인 방식으로 중간 계층으로 이동하는 IPC(프로세스 간 통신) 호출을 완화하는 데 사용합니다."