Разработка приложений под node-webkit

Всем привет, поделитесь опытом разработки настольных Web-приложений под node-webkit. Хотелось бы услышать мнения людей которые реально делали на нем приложения для последующего распространения.

Насколько эта платформа подходит для разработки и выпуска на сегодняшний день? Какие плюсы/минусы/проблемы вы могли бы выделить?

Предусматриваете ли вы обфускацию JS кода (в том числе серверного кода) или какую-нибудь другую защиту кода? В частности используете ли вы создание v8-snapshot?

Поделитесь своим опытом, очень интересно.
  • Вопрос задан
  • 4320 просмотров
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Два приложения ушло в продакшен: раз, два. Обе программы работают с девайсами через ком-порт. В первом случае в ноде-вебкит оболочку не паковал, а использовал локальный-веб сервер, где и размещалась основная логика и он динамически генерировал GUI на хтмл и там еще пара аякс-скриптов. Это связано с тем, что изначально все планировал в браузере сделать, а уже потом узнал про вебкит и его заюзал. Так сказать проба пера — имеет ли смысл переходить на веб-GUI.
Второй вариант пошел чуть другим путем: разделил логику программы и GUI, соответственно вся логика GUI на JS с менюшечками, драг энд дропом и другими плюшками, вся логика работы с девайсом в отдельном приложении с вебсокет-сервером.
Надо сказать, что вебсокеты довольно удобный механизм взаимодействия с браузером. GUI прицепил к экзешнику ноде-вебкит, защиту не применял пока, но планирую. Чтобы хоть что-то было, ибо оно все равно распаковывается в TEMP и там все лежит/остается лежать в открытом виде. В идеале хотелось бы сделать несколько иной механизм работы: чтобы не распаковывалось на диск, а сразу использовалось бы из памяти. Но все равно, кому надо — просто сделает дамп памяти процесса и вытащит все, что ему надо. Время задержки на локалхосте в среднем 1-2 мс, что очень даже хорошо. Единственная особенность: веб-сокет сервер надо делать с несколькими потоками для приема данных, иначе пакеты теряются при непрерывном потоке от браузера. Т.е в цикле с браузера идут мессаги на сервер, а в силу особенности данных все сообщения надо обрабатывать по-очереди в одном потоке: просто запись трех чисел в переменную(т.е. ресурсоемкости никакой), так все равно большая часть мессаг не доходит. Поэтому просто сделал очередь на JS и месагe о приеме от сервера.
В общем, на данный момент могу точно сказать, что опыт в целом положительный, GUI меняется и переделывается очень легко, независимо от сложности. Опять же, глюки/ошибки в GUI не приводят к крешу всего приложения и пользовательских данных.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы