banner
Дом / Блог / Socket Runtime стремится отказаться от облака как зависимости • The Register
Блог

Socket Runtime стремится отказаться от облака как зависимости • The Register

Nov 17, 2023Nov 17, 2023

Interview Socket Supply Co представила сегодня Socket Runtime, среду выполнения с открытым исходным кодом для создания собственных мобильных и настольных приложений для Linux, macOS или Windows с использованием веб-технологий, но с дополнительным одноранговым подключением как способ дополнить или даже избежать внутреннего облака. услуги.

Среда выполнения — это среда выполнения кода. Веб-браузеры служат средой выполнения кода JavaScript. Существуют также серверные среды выполнения, такие как Node.js, Deno и Bun — для приложений JavaScript, которые работают вне браузеров. Также существуют среды выполнения приложений, такие как Electron, Tauri и Socket Runtime — для приложений JavaScript, которые запускаются локально на настольных устройствах (и на мобильных устройствах для последних двух).

Electron, популярная платформа с открытым исходным кодом для создания кросс-платформенных приложений с использованием веб-технологий (JavaScript, CSS, HTML), использует движок браузера Chromium для рендеринга веб-страниц и среду выполнения Node.js. Он объединяет основной процесс Node.js для обработки серверных функций и таких вещей, как доступ к файлам, с процессами рендеринга Chrome для представления пользовательских интерфейсов на основе HTML.

«Большая проблема с Electron заключается в том, что он никогда не был предназначен для работы на мобильных устройствах», — сказал Паоло Фрагомени, генеральный директор Socket Supply Co, в интервью The Register.

Tauri — это платформа с открытым исходным кодом для создания мобильных и настольных приложений для различных платформ с использованием Rust и WebView для рендеринга HTML. Приложения Tauri не поставляются со средой выполнения, поскольку окончательный двоичный файл скомпилирован на Rust.

Но Фрагомени утверждает, что Socket Runtime предпочтительнее, потому что нет необходимости изучать новый язык программирования. «С Tauri есть Rust, а это не подходит большинству веб-разработчиков», — сказал он.

Он выдвинул аналогичные возражения против платформы Flutter от Google. «Flutter снова представляет новый язык для изучения — Dart, который в целом довольно неясен», — сказал он, хотя и признал, что в Google «над этим работают отличные инженеры».

Фрагомени утверждает, что веб-технологии — это правильный путь, повторяя призыв создателя JavaScript Брендана Эйха: «Всегда делайте ставку на JS!»

«Мы любим Интернет», — сказал Фрагомени. «Веб-разработчиков больше, чем разработчиков любого другого типа. В Интернете лучшая документация, самые известные шаблоны проектирования, и в него инвестируют крупнейшие компании».

Но браузеры, по его словам, были разработаны для определенного типа клиент-серверного программного обеспечения, поэтому мы видели такие попытки, как Electron и Tauri (не говоря уже о Capacitor, Cordova, Ionic, NativeScript и React Native), по внедрению веб-технологий в нативные приложения. разработка. По его словам, это приветствовалось, поскольку ориентация на несколько платформ представляет собой сложную задачу с точки зрения разработки и управления.

«Очень сложно найти, нанять, а затем стимулировать и поддерживать инженера Android, инженера iOS, инженера настольных компьютеров Windows, инженера macOS и инженера Linux», — сказал он.

«Socket помогает веб-разработчикам создавать приложения для любых ОС, настольных компьютеров и мобильных устройств. И это с использованием HTML, CSS и JavaScript или их любимых фреймворков».

Socket Runtime также имеет преимущество в размерах перед Electron — он создает приложения гораздо меньшего размера. Electron, по его словам, предоставляет «в конце дня двоичный файл размером 200 мегабайт, тогда как Socket поставляет двоичный файл размером 1,5 мегабайта. И это очень важно, если вы хотите охватить развивающиеся рынки».

Tauri конкурентоспособен с точки зрения двоичного размера, хотя Фрагомени не согласен с архитектурным выбором Tauri из-за его небезопасности, несмотря на преимущества безопасности памяти, доступные в Rust.

«Таури, это отличная работа, — сказал он, — но они сохранили идею основного процесса [как это видно в Electron]. Главный процесс — это своего рода произвольный процесс, который выполняется на вашем компьютере. полный неограниченный доступ к вашему компьютеру, и у пользователя нет никакой возможности быть уверенным в том, что будет делать этот процесс».

«Socket использует радикально иной подход, поскольку мы принимаем веб-стандарты», — сказал Фрагомени. «В веб-стандартах есть такая вещь, как CSP — политика безопасности контента. Мы используем ее для более детального смягчения вызовов IPC [межпроцессного взаимодействия], которые передаются на средний уровень».