Теперь, когда TideSDK фактически мертв, я искал альтернативные «обертки» для запуска приложений HTML / CSS / JS в качестве автономных настольных приложений. До сих пор я сталкивался с тремя жизнеспособными вариантами: NW.js (ранее node-webkit), shell-shell и Electron (ранее atom-shell).
Проблема в том, что не представляется достаточно полного сравнения между тремя терминами с точки зрения набора функций, совместимости и т. Д. Я надеюсь превратить это в более или менее каноническую нить о (объективных) различиях между три, в частности, касающиеся:
- Поддержка платформы ; операционные системы, зависимости и т. д.
- Поддержка языковых функций в отношении HTML5, CSS3 и JavaScript. Подумайте: «Работает ли видео HTML5, и если да, какие кодеки доступны?»
- Нестандартные дополнительные функции , такие как значки в трее, всплывающие уведомления и отображаемые в ОС строки меню.
- Расширяемость ; например. возможность «подключать» нативный код, общаться с Node.js и так далее.
- Архитектура ; в частности, архитектурные различия, которые влияют на ежедневное использование в качестве разработчика.
- Отладка ; включены инструменты разработки, совместимость с обычно используемыми инструментами, такими как
node-inspector
и т. д. - ... и так далее.
Каковы цели, технические различия, которые имеют значение при выборе между ними как разработчиком приложения?
html
node-webkit
electron
brackets-shell
Свен Слотвег
источник
источник
Ответы:
Я провел аналогичное исследование около двух месяцев назад, и в конце концов я выбрал node-webkit. Самый большой плюс у node-webkit - это node.js и npm. Управление пакетами npm действительно хорошо, и у узла есть хороший доступ к файловой системе.
Брекеты-оболочка выглядели интересно, но кроме хорошей IDE, я не совсем понял, что делает этот компьютер таким же хорошим или лучшим, чем остальные. Они очень четко понимают, что «оболочка скобок поддерживается только для использования проектом« скобки »», и эти крики убегают ко мне.
https://github.com/adobe/brackets-shell#overview
Кажется, что Atom-shell в последнее время активен, но он очень похож на квадратные скобки в том смысле, что они действительно пишут и редактируют / IDE, который просто подключен к среде исполнения webkit. Он также построен поверх файла node.js. У этого есть обратная сторона: трудно искать вещи в Интернете, не напоминая о вашей химии в средней школе.
Я действительно не хочу нового редактора, и у большинства программистов уже есть свои любимые. Для реальной разработки приложений они в значительной степени работают одинаково и должны, поскольку все они используют webkit. Вы в основном пишете 90-95% как веб-сайт, а затем имеете дело с нативными частями и некоторыми настройками.
Это справедливо для всех трех платформ - работает на поддержке языков Windows, Mac и Linux - HTML5, CSS3 и Javascript: поскольку они работают с javascript, вы можете скачать и запустить практически любую библиотеку / фреймворк, который захотите.
Большое предостережение в отношении webkit - поддержка кодеков. Обычно у вас будут проблемы с несвободными видеокодеками, если вы не перестроите dll / so для их поддержки. Например, поставляемый узел-webkit не будет воспроизводить видео в формате mp4.
источник
bracket-shell
Atomatom-shell
, но вы можете использовать любой редактор или IDE по своему выбору для создания кода с ними. Я думаю, что OP хочет больше технических различий между 3. Было бы приятно увидеть что-то вроде TodoMVC в трех средах, подобных среде исполнения.Я играл с Atom-Shell последние несколько дней, и мне это нравится до сих пор.
Самое приятное в этом то, что он поддерживается GitHub .., который должен позволить вам длительное время оставаться на платформе, особенно если он получает большое количество подписчиков. Это также стало возможным благодаря прямым улучшениям Node.js благодаря контракту со StrongLoop , который является основным участником Node.js (они утверждают, что нанимают больше разработчиков ядра Node.js, чем любая другая компания, даже Joyent).
Я также нашел довольно удобным для начала. У меня ушло около дня, чтобы изучить структуру и получить первое доказательство концепции. Очень круто.
Отверстия от пуль:
Обновление (25.11.14): я еще не нашел варианта использования Atom-Shell в каком-либо официальном качестве, но я использовал его для создания нескольких небольших приложений для собственного использования, наиболее сложным из которых является приложение, которое использует мое время заносится в журнал с моего программного обеспечения PM и создает счета Paypal.
Мое мнение о платформе остается положительным. Это довольно круто.
В моем приложении для выставления счетов за время, которое я успешно ввел в шаблон примера панели инструментов Bootstrap 3 и несколько узловых модулей (bluebird, Paypal SDK, Teamwork PM Client) для создания слегка сложного приложения. Это заняло у меня несколько дней и хорошо выполняет свою работу.
Я действительно не могу думать ни о чем негативном, чтобы сказать об Atom-Shell, его прочном, стабильном, быстром и простом в написании кода. Я надеюсь, что это поможет кому-то.
источник
Помимо полной поддержки веб-стандартов, NW.js поддерживает список нестандартных функций для разработки собственных приложений, включая:
В вики можно увидеть гораздо больше, в том числе Меню, Поднос и т. Д.
источник
Я уже некоторое время работаю со скобками-оболочкой, вот некоторые из моих выводов:
Документация может быть лучше
Поддержка платформ. Они поддерживают Windows, Mac и Linux. Пакет установщика также может быть создан. Я тестировал только на Win и Mac, он отлично работает.
источник
Стоит отметить, что 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 для более новых ОС.
источник