Узел-Webkit vs Electron [закрыто]



мы планируем построить кросс-платформенное настольное приложение. Мы нашли, что Node-Webkit является идеальным выбором для нас. Но GitHub разработал свою собственную структуру под названием Электрон вместо использования Node-Webkit.



в чем разница между ними?

405   1  

1 ответ:

У Electron есть страница, объясняющая различия с node-webkit:

https://github.com/atom/electron/blob/master/docs/development/atom-shell-vs-node-webkit.md

Как Node-Webkit, Electron предоставляет платформу для записи рабочего стола приложения с JavaScript и HTML, а также имеет интеграцию узлов предоставьте доступ к низкоуровневой системе на веб-страницах.

но есть также фундаментальные различия между ними проекты что делает Electron совершенно отдельным продуктом от Node-Webkit:

1-запись заявки

на северо-западе.js основной точкой входа приложения является веб-страница или JS скрипт. Вы указываете html или js-файл в пакете.json и это открывается в окне браузера в качестве главного окна приложения (в случае, если точки входа html) или выполняется скрипт.

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

таким образом, Электрон работает больше как узел.во время выполнения JS и API-интерфейсы являются более низкой уровень, вы можете также использовать Электрон для цели испытания паутины как phantomjs,

2-построить систему

для того чтобы избежать сложностей строительства в целом Хром, Electron использует libchromiumcontent для доступа к API контента Chromium, libchromiumcontent-это одна общая библиотека, которая включает в себя Модуль содержания хрома и все его зависимости. Так что пользователям не нужно мощная машина для сборки атома-оболочки.

3 - узел интеграции

в Node-Webkit интеграция узлов в веб-страницы требует исправления Хром для работы, в то время как в Электроне мы выбрали другой способ интегрируйте цикл libuv к каждой платформе цикл сообщений, чтобы избежать взлома Chromium, см. код node_bindings для того, как это было сделано.

4 - мульти-контекст

Если вы опытный пользователь Node-Webkit, вы должны быть знакомы с понятием контекста узла и веб-контекста эти понятия были придумано из-за того, как был реализован Node-Webkit.

с помощью мульти-контекстный элемент узла, Электрон не вводит новый контекст JavaScript в web страницы.

защита исходного кода

Электрон упаковывает свои применения с Асар, который содержит незащищенный исходный код приложения. Это позволяет приложению 1 извлекать приложение 2 и внедрять уязвимые сценарии без ведома пользователя. Вы можете оформить заказ этот проект на GitHub, чтобы увидеть пример того, как манипулировать Slack app для примера. А пока ... , команда Electron не планирует реализовывать поддержку защиты исходного кода.

NW.js и встроенная поддержка для компиляции исходного кода в защищенные файлы.

Comments

    Ничего не найдено.