Понимание node.js, Electron, расширений, устарело XULRunner как связанных с веб-приложениями, запущенными локально как настольные приложения - PullRequest
0 голосов
/ 04 июля 2019

Я говорю далеко за пределами моего текущего набора навыков и понимания и не думаю, что открыл что-то новое.Я просто хочу понять обоснование подхода, используемого этими инструментами.Я размышлял о плюсах и минусах того, как распространять приложение с различными вариантами, и начал задумываться над этим, потому что подумал, что было бы так просто, если бы я мог просто распространять все веб-приложение в виде одного файла и сказать, что откройте еголокально в вашем любимом браузере.

Если я правильно понял, Electron упаковывает вместе движок JavaScript, браузер и код приложения HTML / CSS / JS.Некоторые люди пишут, что в результате получается минимальный размер файла, равный 100 МБ, и что он использует много системных ресурсов из-за некоторого типа оптимизации.

Я недавно читал о другом DeskGap, который пытается сделатьпримерно то же самое, за исключением того, что он не собирается упаковывать браузер, а вместо этого использовать браузер ОС или что-то в этом роде.

Всего несколько дней назад я наткнулся на архивную документацию для Mozilla Firefox XULRunner, которая устарела, нопо-видимому, был способен построить настольное приложение.Я думаю, что они сейчас работают над дополнением Spider Node к Spider Monkey.

Наконец, я работал с API расширений и смог запустить свое веб-приложение только через расширение.Единственное, что я хотел бы иметь дополнительно, - это лучший способ записать работу пользователя на жесткий диск и способ немного защитить код.Среда расширения может запускать приложение почти так же, как если бы оно было настольным приложением, исключая файловую систему, и не требует упаковки с ним ничего другого.Если бы у него были привилегии для управления файловой системой, то оказалось, что расширение было бы отличным местом для создания настольного приложения.

Итак, мой вопрос новичка заключается в том, почему нельзя заставить что-то работать так, какрасширение использует браузер, а не упаковывает его в каждое приложение?Или возьмите браузер с открытым исходным кодом, предоставьте ему доступ к локальному диску, запустите HTML / CSS / JS, который находится в нечитаемой форме, и установите его один раз только для запуска любых настольных приложений, собранных соответствующим образом из HMTL / CSS /JS.Это в отличие от того, чтобы всегда упаковывать один с каждым отдельным приложением.

В некотором смысле, кажется, что цель всех этих инструментов состоит в том, чтобы симулировать браузер, который может обслуживать локальные страницы сам по себе, иметь доступ к локальной файловой системе и скрывать код.

Что мешает создать что-то вроде браузера для просмотра веб-страниц и браузера для запуска локально хранящихся приложений, которые пользователь мог бы установить один раз и запустить в нем все свои веб-приложения?Казалось бы, последний будет легче, чем первый.

Я предполагаю, что не понимаю чего-то принципиально важного.

Спасибо, что рассмотрели мой вопрос.

...