Каковы функциональные различия между NW.js, Brackets-Shell и Electron?

147

Теперь, когда TideSDK эффективно мертв, я искал альтернативные "обертки" для запуска приложений HTML/CSS/JS в качестве автономных настольных приложений. До сих пор три доступных варианта: NW.js (ранее node -webkit), brackets-shell и Electron (ранее была атомная оболочка).

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

  • Поддержка платформы; операционные системы, зависимости и т.д.
  • Поддержка функций языка, что касается HTML5, CSS3 и JavaScript. Подумайте: "Работает ли HTML5-видео, и если да, какие кодеки доступны?"
  • Нестандартные дополнительные функции, такие как значки лотков, всплывающие уведомления и отображаемые в меню меню панели меню.
  • расширяемость; например. возможность "подключить" собственный код, поговорить с Node.js и т.д.
  • Архитектура; в частности архитектурные различия, которые влияют на ежедневное использование в качестве разработчика.
  • Отладка; включая инструменты разработки, совместимость с обычно используемыми инструментами, такими как node-inspector и т.д.
  • ... и т.д.

Каковы объективные технические различия, которые имеют значение при выборе между ними в качестве разработчика приложений?

  • 0
    Вам повезло, глядя на различия между тем? Могу покопаться в эти выходные
  • 0
    @stefan Пока нет, нет: / Я немного поэкспериментировал с node-webkit в практическом смысле, но пока не вышел за рамки этого. Не удосужились искать официальную документацию различий ...
Показать ещё 5 комментариев
Теги:
electron
node-webkit
brackets-shell

5 ответов

42
Лучший ответ

Я сделал аналогичные исследования около двух месяцев назад, и в итоге я пошел с node -webkit. Самый большой потенциал на node -webkit - node.js и npm. Управление пакетами npm действительно приятно, и node имеет хорошо выполненный доступ к файловой системе.

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

https://github.com/adobe/brackets-shell#overview

Атомная оболочка, похоже, недавно активна, но похоже, что она похожа на скобки, поскольку они действительно пишут и редактируют /IDE, которые просто присоединяются к среде выполнения webkit. Он также построен поверх node.js. У этого есть недостаток в том, что трудно искать материал в Интернете, не напомнив о своей химии в средней школе.

Мне действительно не нужен новый редактор, и у большинства программистов уже есть их любимый. Для реальной разработки приложений они в значительной степени работают одинаково и должны, поскольку все они используют webkit. Вы в основном пишете 90-95% от него, как веб-сайт, а затем занимаетесь родными частями и некоторой конфигурацией.

Эти вещи верны для всех трех из них платформы - работает на Windows, Mac и Linux поддержка языка - HTML5, CSS3 и Javascript: поскольку они запускают javascript, вы можете загружать и запускать практически любую библиотеку/фреймворк, который вы хотите.

Большой оговоркой на webkit является поддержка кодеков. Как правило, у вас будут проблемы с несвободными видеокодеками, если вы не восстановите dll/so, чтобы их поддерживать. Например, отправленный node -webkit не будет воспроизводить видео mp4.

  • 0
    Не могли бы вы уточнить, есть ли какая-либо разница в отношении воспроизведения MP4 в скобках-оболочке и атом-оболочке? Из вашего ответа не ясно, является ли это причудой в большинстве дистрибутивов WebKit или просто в node-webkit.
  • 0
    Воспроизведение MP4, являющееся проблемой, является проблемой webkit. Вы должны помнить, что webkit действительно хром в глубине души, и если технология AV не является открытой и бесплатной, они не поддерживают ее «из коробки». Стандартный ответ - заменить / перестроить ffmpegsumo. Замена на одну из вашей текущей установки Chrome, кажется, работает довольно хорошо.
Показать ещё 3 комментария
39

Я играл с Atom-Shell в течение последних нескольких дней, и я люблю его до сих пор.

Самое приятное в этом - это то, что он поддерживает GitHub.., который должен позволить вам поселиться на платформе в течение длительного времени, особенно если он получит большое преимущество. Это также стало возможным благодаря прямым улучшениям Node.js по контракту с StrongLoop, который является основным вкладчиком Node.js(они заявляют, что используют больше разработчиков Node.js, чем любая другая компания, даже Joyent).

Мне также было удобно начать работу. Мне потребовался день, чтобы изучить структуру и получить первое доказательство запуска концепции. Очень круто.


Баллы:

  • Поддержка платформы: Windows, Linux, Mac OSX (Подробнее здесь)
  • Поддержка языковых функций: HTML5, CSS3, JS через Chromium - до сих пор нулевые проблемы, но я не тестировал видео специально.
  • Основные функции: Основные приложения, поддержка лотков для задач, глобальные горячие клавиши, поддержка обработчиков протоколов (которые я видел до сих пор)
  • Расширяемость: Отличная интеграция Node.js, и клиент, и сервер могут "потребовать" Node.js модули и туземцы. Я также успешно протестировал Bower библиотеки (включая jQuery) без проблем.
  • Архитектура: Покрыта в других точках, но в целом ее очень гладкая.

Обновление (11/25/14): Я еще не нашел вариант использования для Atom-Shell в любом официальном качестве, но я использовал его для создания нескольких небольших приложений для своих собственных наиболее сложным из которых является приложение, которое извлекает мои журналы времени из моего программного обеспечения PM и создает счета-фактуры Paypal.

Мое мнение о платформе остается положительным. Это довольно удивительно.

В мое приложение для выставления счетов за подключение к Интернету я успешно привел в пример Bootstrap 3 шаблон шаблона панели и несколько модулей node (bluebird, Paypal SDK, Team PM PM) для создания мягко сложное приложение. Это заняло у меня несколько дней и хорошо работает.

Я действительно не могу придумать ничего отрицательного, чтобы сказать об Atom-Shell, о его твердой, стабильной, быстрой и простой в использовании. Надеюсь, это поможет кому-то.

  • 0
    Можете ли вы рассказать о различиях с node-webkit в частности? Насколько я могу судить, все (большинство?) Из этих пунктов также предлагаются node-webkit, но я не уверен, что, может быть, я чего-то упускаю.
  • 0
    привет, Люк, возможно ли обновить приложение atom-shell самостоятельно ...?
Показать ещё 7 комментариев
21

Помимо полностью поддерживающих веб-стандартов, NW.js поддерживает список нестандартных функций для разработки собственных приложений, включая:

В вики есть гораздо больше, включая меню, лоток и т.д.

  • 3
    +1 в режиме киоска Роджер. Я вижу, что это функция, которую я буду использовать в будущем. Надеюсь, возможности отладки улучшатся, поэтому я могу остаться на nw.js, однако сейчас я серьезно подумываю над тем, чтобы на некоторое время переключиться на Atom Electron, чтобы протестировать воды. Я нашел отладку в nw.js немного желающим.
  • 0
    Я немного обеспокоен включением там «защиты источника JS» - он в том же классе, что и DRM, в том смысле, что он не работает. Он только «защищает» от тех, от кого вам не нужно «защищаться» с самого начала. Не похоже на то, что должно рекламироваться как функция для меня.
Показать ещё 4 комментария
10

Я работаю с скобками-оболочкой в ​​течение некоторого времени, вот некоторые из моих выводов:

  • скобки-оболочка в первую очередь разрабатывается как оболочка под проектом IDE скобок, но проект может запускать любое веб-приложение. Вам просто нужно указать его на собственную страницу html. Клинт Берри написал отличный учебник о том, как это сделать: http://clintberry.com/2013/html5-desktop-apps-with-brackets-shell/
  • Проект поддерживается Adobe и имеет большую активность
  • Документация может быть лучше

  • поддержка платформы. Они поддерживают Windows, Mac и Linux. Также может быть создан пакет установщика. Я тестировал его только на Win и Mac, он отлично работает.

  • поддержка функций html5, css3, js. Видео Html5 не работает из коробки, но очень легко включить (по умолчанию ffmpegsumo.dll не копируется в установщик, если вы измените script, чтобы скопировать его, он будет работать).
  • встроенные функции панель меню, "открыть файл с", доступ к файловой системе. Я не использую ни одно из них, поскольку все, что мне нужно, это связь с процессом node.
  • расширяемость встроена nodejs, и вы можете общаться с node из своего веб-приложения. Таким образом, вы можете использовать node для доступа к файловой системе и т.д.
  • архитектура Проект хорошо настроен, сохраняя отличное разделение между проектом оболочки и собственным веб-приложением, запущенным внутри него. В вашем собственном приложении доступен глобальный объект apphell, который дает вам доступ к функциям скобок (доступ к файловой системе, связь с процессом node,...).
  • 5
    То, что заставило меня держаться подальше от Brackes-shell, было их собственным обзором. github.com/adobe/brackets-shell "Примечание. Оболочка brackets поддерживается только для использования в проекте Brackets. Хотя некоторые люди определенно добились успеха, используя его в качестве оболочки приложения для других проектов, мы не предоставляем никаких официальных документов. поддержка этого, и мы не проделали огромную работу, чтобы сделать оболочку приложения легко пригодной для повторного использования. Многим людям, вероятно, будет проще использовать проект, такой как node-webkit, который является более общим по своему дизайну ».
5

Одно замечание (если вам интересно) заключается в том, что Electron официально не поддерживает Windows Vista. Доля рынка Vista составляет около на полпути между OSX 10.9 и 10.10 (оба из которых полностью поддерживаются Electron). Vista также поддерживается Microsoft до 2017 года.

NW.js отлично работает в Vista, а также OSX 10.9+. NW.js работает над Ubuntu, Debian, Zorin, Manjaro, Arch и большинством других ОС Linux на базе Debian. Electron отказался от PR, чтобы исправить определенные ошибки Ubuntu на своей платформе, что касается.

NW.js также работает в XP. В настоящее время 18% рынка по-прежнему находятся на XP. Поэтому, если вы используете настольное приложение более общего назначения или хотите иметь доступ к последним усыновителям, которые все еще находятся на XP, вам, вероятно, будет лучше с NW.js(0.14.7), поскольку Electron поддерживает только Win 7 и выше.

Если вы используете NW.js 0.12.3, вы также можете поддерживать OSX 10.6+ и очень старые версии ОС Linux на базе Debian, такие как Ubuntu и Win XP+. Рекомендуется создавать специальные сборки только для устаревших систем и использовать более новые версии NW.js для более новых ОС.

Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню