Comments 32
А какие ещё есть альтернативы node-webkit больно он жирный сейчас стал.
Так беря на вскидку можно сказать AppJS. Но в обще работая с node.js нужно всегда иметь ввиду — чем толще приложение тем меленее его старт. Или вас другие тормоза достали?
Размер не устраивает, 25 мегабайта для простого приложения перебор по моему.
Ну если запускатор выделить в программу, и присвоить расширение файлу, по которому будет производится запуск этого приложений, то вес не такой уж и большой будет (Привет java)
UFO landed and left these words here
А кто-то может объяснить, почему они (node-webkit, atom-shell) именно Chromium внутрь пихают? Есть ведь на том же webkit куда как менее толстые браузеры.
UFO landed and left these words here
С асинхронностью борется. Кстати он уже давно из браузера вышел и на серверах успешно крутится.
UFO landed and left these words here
Kаждый язык хорош для своей области применения, и у каждого языка есть свои плохие и хорошие стороны. Кстати, от части, за (launch_nuclear_rocket !== null) === true можно смело благодарить Microsoft в первую очередь а потом и Mozilla. Хороший пример JS/CSS для десктопа это несомненно Atom. JS/CSS для настольных приложений дарить просто бешенную кросс платформенность.
Вы лучше зайдите с другой стороны — а почему бы и нет. Вот в статье есть пример, набросайте его на своём любимом десктопном языке, сравним. Очень простой синтаксис, без излишеств, поддержка событий и возможность асинхронности. Сейчас и декстоп менеджеры во всю поощеряют разработку виджетов на js, а активный декстоп ещё в 98-й винде был.
UFO landed and left these words here
Ну здорово будет, если для браузера появится ещё один язык, вон гугл пытается сделать замену.

И вообще, языки программирования для лохов, любой алгоритм можно спаять на схеме или ассемблер на худой конец, а то развелось тут хипстеров.

Плюс javascript как раз в более простом апи и плевать сколько там пластов внизу, железо в большинстве случаев дешевле кода. Тем более js же шустрый язык и его кэлбэчная сущность даёт массу простора для оптимизаций и распараллеливания.
UFO landed and left these words here
> зачем оно вне браузера
Странный какой-то вопрос. Это полноценный, стандартизированный язык высокого уровня, на котором можно с успехом писать (и пишут ведь, и много) server-side и desktop-приложения. JavaScript никоим образом ни разу не заточен на «манипуляции с веб-страничками»: ни по стандарту, ни по архитектуре.
UFO landed and left these words here
Ну вы так и не объяснили что с JS не так. Почему вы считаете разработчиков на JS «упоротыми»? Вот что вам лично не нравится? :)
UFO landed and left these words here
Работа с домом это лишь одна из функций языка, какая разница, с домом возиться или c api, вроде qt, даже на php это не проблема. Тем более ещё раз повторяю — javascript очень производительный язык.
> его кэлбэчная сущность даёт массу простора для оптимизаций и распараллеливания.

Я даже не знаю как на это реагировать. Я писал на node.js на чистом js вообще не возможно писать, iced coffee конечно помогал, но все превращалось в какую-то магию. Самое славное, что есть в node.js это libuv. За это спасибо, хорошо сделали, Я сейчас сам пишу на node-webkit, но только потому, что надо ogl и много стилей которые проще на css сделать.
> Я писал на node.js на чистом js вообще не возможно писать
А что конкретно было плохо? Я, например, как-то к Promise прикипел и пишу асинхронный код абсолютно спокойно, без всякой странной магии, которую предлагает IcedCoffee, типа await и defer.
Promise точно такая же магия. Если мы не говорим про es6.

Что плохо? А что может быть хорошего в языке который сделали на коленке?

Что мне использовать? AMD? RequireJS? CJS? Или же модули из es6?

Открываешь приложение на ноде и каждый раз видишь n+1 способ сделать callback hell более читабельным.

Вообщем мои притензии к JS это просто дело вкуса.
Ну я не согласен что Promise — это магия. Так и любой шаблон проектирования можно магией назвать.

> Что мне использовать? AMD? RequireJS? CJS? Или же модули из es6?
Странный вопрос. Используйте что хотите :) Я предпочитаю browserify, например ;)

Я не утверждаю что JavaScript — идеальный. Просто это язык который вымучен и создан практикой и все вещи которые в нем появились — появились из практических соображений. А асинхронная природа, которая появилась как раз в результате создания «на коленке» пришлась очень кстати при написании серверных приложений.
> Ну я не согласен что Promise — это магия. Так и любой шаблон проектирования можно магией назвать.

Я говорил про костыльный Promise который до es6.

> А асинхронная природа, которая появилась как раз в результате создания «на коленке» пришлась очень кстати при написании серверных приложений.

В JS'e нет ничего про асинхроность и реактор. О чем вы говорите? Асинхроность в node.js целиком и полностью находится в libuv. Node.js подходит для фронтендщиков который хотят писать серверную часть. Так вот получаются всякие web-scale и другие чудеса. Однопоточные серверные приложения не нужны.

> Странный вопрос. Используйте что хотите :) Я предпочитаю browserify, например ;)


> Просто это язык который вымучен и создан практикой и все вещи которые в нем появились — появились из практических соображений.

Язык практически не менялся годами. Там forEach был не сразу. Только в es6 начал приобретать человеческий вид.
> Я говорил про костыльный Promise который до es6.
Promise в ES6 это практически те же самые Promise, которые были и до этого. Просто они ушли в стандарт, не более того. Костылей там никаких никогда и не было: их и на обычном стандартном EcmaScript 3 вполне можно реализовать.

> В JS'e нет ничего про асинхроность и реактор. О чем вы говорите? Асинхроность в node.js целиком и полностью находится в libuv.
Асинхронность — это не стандарт, конечно же, но все популярные движки JS работают именно так. Что касается libuv — я говорил про общий подход, а не про конкретную реализацию асинхронного ввода-вывода.

> Однопоточные серверные приложения не нужны.
Почему? Чем вам не угодили, например, однопоточные, но многопроцессные серверные приложения, например?

> Странный вопрос. Используйте что хотите :) Я предпочитаю browserify, например ;)
>
Я имел ввиду что не понимаю стенаний по-поводу того что использовать: AMD, CJS, RequireJS или ES6. Что вы конкретно хотели этим сказать?

> Язык практически не менялся годами. Там forEach был не сразу. Только в es6 начал приобретать человеческий вид.
Он начал развиваться вместе с бумом веб-приложений середины двухтысячных. Когда появилась необходимость в более продвинутых инструментах — появился и новый стандарт. Ничего необычного.
Only those users with full accounts are able to leave comments. Log in, please.