Comments 32
А какие ещё есть альтернативы node-webkit больно он жирный сейчас стал.
+1
UFO just landed and posted this here
UFO just landed and posted this here
С асинхронностью борется. Кстати он уже давно из браузера вышел и на серверах успешно крутится.
0
UFO just landed and posted this here
Kаждый язык хорош для своей области применения, и у каждого языка есть свои плохие и хорошие стороны. Кстати, от части, за
(launch_nuclear_rocket !== null) === true
можно смело благодарить Microsoft в первую очередь а потом и Mozilla. Хороший пример JS/CSS для десктопа это несомненно Atom. JS/CSS для настольных приложений дарить просто бешенную кросс платформенность.+2
Вы лучше зайдите с другой стороны — а почему бы и нет. Вот в статье есть пример, набросайте его на своём любимом десктопном языке, сравним. Очень простой синтаксис, без излишеств, поддержка событий и возможность асинхронности. Сейчас и декстоп менеджеры во всю поощеряют разработку виджетов на js, а активный декстоп ещё в 98-й винде был.
+1
UFO just landed and posted this here
А чем так плох JS с точки зрения технологии?
0
Ну здорово будет, если для браузера появится ещё один язык, вон гугл пытается сделать замену.
И вообще, языки программирования для лохов, любой алгоритм можно спаять на схеме или ассемблер на худой конец, а то развелось тут хипстеров.
Плюс javascript как раз в более простом апи и плевать сколько там пластов внизу, железо в большинстве случаев дешевле кода. Тем более js же шустрый язык и его кэлбэчная сущность даёт массу простора для оптимизаций и распараллеливания.
И вообще, языки программирования для лохов, любой алгоритм можно спаять на схеме или ассемблер на худой конец, а то развелось тут хипстеров.
Плюс javascript как раз в более простом апи и плевать сколько там пластов внизу, железо в большинстве случаев дешевле кода. Тем более js же шустрый язык и его кэлбэчная сущность даёт массу простора для оптимизаций и распараллеливания.
+3
UFO just landed and posted this here
> зачем оно вне браузера
Странный какой-то вопрос. Это полноценный, стандартизированный язык высокого уровня, на котором можно с успехом писать (и пишут ведь, и много) server-side и desktop-приложения. JavaScript никоим образом ни разу не заточен на «манипуляции с веб-страничками»: ни по стандарту, ни по архитектуре.
Странный какой-то вопрос. Это полноценный, стандартизированный язык высокого уровня, на котором можно с успехом писать (и пишут ведь, и много) server-side и desktop-приложения. JavaScript никоим образом ни разу не заточен на «манипуляции с веб-страничками»: ни по стандарту, ни по архитектуре.
+4
Работа с домом это лишь одна из функций языка, какая разница, с домом возиться или c api, вроде qt, даже на php это не проблема. Тем более ещё раз повторяю — javascript очень производительный язык.
0
> его кэлбэчная сущность даёт массу простора для оптимизаций и распараллеливания.
Я даже не знаю как на это реагировать. Я писал на node.js на чистом js вообще не возможно писать, iced coffee конечно помогал, но все превращалось в какую-то магию. Самое славное, что есть в node.js это libuv. За это спасибо, хорошо сделали, Я сейчас сам пишу на node-webkit, но только потому, что надо ogl и много стилей которые проще на css сделать.
Я даже не знаю как на это реагировать. Я писал на node.js на чистом js вообще не возможно писать, iced coffee конечно помогал, но все превращалось в какую-то магию. Самое славное, что есть в node.js это libuv. За это спасибо, хорошо сделали, Я сейчас сам пишу на node-webkit, но только потому, что надо ogl и много стилей которые проще на css сделать.
0
> Я писал на node.js на чистом js вообще не возможно писать
А что конкретно было плохо? Я, например, как-то к Promise прикипел и пишу асинхронный код абсолютно спокойно, без всякой странной магии, которую предлагает IcedCoffee, типа
А что конкретно было плохо? Я, например, как-то к Promise прикипел и пишу асинхронный код абсолютно спокойно, без всякой странной магии, которую предлагает IcedCoffee, типа
await
и defer
.0
Promise точно такая же магия. Если мы не говорим про es6.
Что плохо? А что может быть хорошего в языке который сделали на коленке?
Что мне использовать? AMD? RequireJS? CJS? Или же модули из es6?
Открываешь приложение на ноде и каждый раз видишь n+1 способ сделать callback hell более читабельным.
Вообщем мои притензии к JS это просто дело вкуса.
Что плохо? А что может быть хорошего в языке который сделали на коленке?
Что мне использовать? AMD? RequireJS? CJS? Или же модули из es6?
Открываешь приложение на ноде и каждый раз видишь n+1 способ сделать callback hell более читабельным.
Вообщем мои притензии к JS это просто дело вкуса.
0
Ну я не согласен что Promise — это магия. Так и любой шаблон проектирования можно магией назвать.
> Что мне использовать? AMD? RequireJS? CJS? Или же модули из es6?
Странный вопрос. Используйте что хотите :) Я предпочитаю browserify, например ;)
Я не утверждаю что JavaScript — идеальный. Просто это язык который вымучен и создан практикой и все вещи которые в нем появились — появились из практических соображений. А асинхронная природа, которая появилась как раз в результате создания «на коленке» пришлась очень кстати при написании серверных приложений.
> Что мне использовать? AMD? RequireJS? CJS? Или же модули из es6?
Странный вопрос. Используйте что хотите :) Я предпочитаю browserify, например ;)
Я не утверждаю что JavaScript — идеальный. Просто это язык который вымучен и создан практикой и все вещи которые в нем появились — появились из практических соображений. А асинхронная природа, которая появилась как раз в результате создания «на коленке» пришлась очень кстати при написании серверных приложений.
0
> Ну я не согласен что Promise — это магия. Так и любой шаблон проектирования можно магией назвать.
Я говорил про костыльный Promise который до es6.
> А асинхронная природа, которая появилась как раз в результате создания «на коленке» пришлась очень кстати при написании серверных приложений.
В JS'e нет ничего про асинхроность и реактор. О чем вы говорите? Асинхроность в node.js целиком и полностью находится в libuv. Node.js подходит для фронтендщиков который хотят писать серверную часть. Так вот получаются всякие web-scale и другие чудеса. Однопоточные серверные приложения не нужны.
> Странный вопрос. Используйте что хотите :) Я предпочитаю browserify, например ;)
…
> Просто это язык который вымучен и создан практикой и все вещи которые в нем появились — появились из практических соображений.
Язык практически не менялся годами. Там forEach был не сразу. Только в es6 начал приобретать человеческий вид.
Я говорил про костыльный Promise который до es6.
> А асинхронная природа, которая появилась как раз в результате создания «на коленке» пришлась очень кстати при написании серверных приложений.
В JS'e нет ничего про асинхроность и реактор. О чем вы говорите? Асинхроность в node.js целиком и полностью находится в libuv. Node.js подходит для фронтендщиков который хотят писать серверную часть. Так вот получаются всякие web-scale и другие чудеса. Однопоточные серверные приложения не нужны.
> Странный вопрос. Используйте что хотите :) Я предпочитаю browserify, например ;)
…
> Просто это язык который вымучен и создан практикой и все вещи которые в нем появились — появились из практических соображений.
Язык практически не менялся годами. Там forEach был не сразу. Только в es6 начал приобретать человеческий вид.
0
> Я говорил про костыльный Promise который до es6.
Promise в ES6 это практически те же самые Promise, которые были и до этого. Просто они ушли в стандарт, не более того. Костылей там никаких никогда и не было: их и на обычном стандартном EcmaScript 3 вполне можно реализовать.
> В JS'e нет ничего про асинхроность и реактор. О чем вы говорите? Асинхроность в node.js целиком и полностью находится в libuv.
Асинхронность — это не стандарт, конечно же, но все популярные движки JS работают именно так. Что касается libuv — я говорил про общий подход, а не про конкретную реализацию асинхронного ввода-вывода.
> Однопоточные серверные приложения не нужны.
Почему? Чем вам не угодили, например, однопоточные, но многопроцессные серверные приложения, например?
> Странный вопрос. Используйте что хотите :) Я предпочитаю browserify, например ;)
> …
Я имел ввиду что не понимаю стенаний по-поводу того что использовать: AMD, CJS, RequireJS или ES6. Что вы конкретно хотели этим сказать?
> Язык практически не менялся годами. Там forEach был не сразу. Только в es6 начал приобретать человеческий вид.
Он начал развиваться вместе с бумом веб-приложений середины двухтысячных. Когда появилась необходимость в более продвинутых инструментах — появился и новый стандарт. Ничего необычного.
Promise в ES6 это практически те же самые Promise, которые были и до этого. Просто они ушли в стандарт, не более того. Костылей там никаких никогда и не было: их и на обычном стандартном EcmaScript 3 вполне можно реализовать.
> В JS'e нет ничего про асинхроность и реактор. О чем вы говорите? Асинхроность в node.js целиком и полностью находится в libuv.
Асинхронность — это не стандарт, конечно же, но все популярные движки JS работают именно так. Что касается libuv — я говорил про общий подход, а не про конкретную реализацию асинхронного ввода-вывода.
> Однопоточные серверные приложения не нужны.
Почему? Чем вам не угодили, например, однопоточные, но многопроцессные серверные приложения, например?
> Странный вопрос. Используйте что хотите :) Я предпочитаю browserify, например ;)
> …
Я имел ввиду что не понимаю стенаний по-поводу того что использовать: AMD, CJS, RequireJS или ES6. Что вы конкретно хотели этим сказать?
> Язык практически не менялся годами. Там forEach был не сразу. Только в es6 начал приобретать человеческий вид.
Он начал развиваться вместе с бумом веб-приложений середины двухтысячных. Когда появилась необходимость в более продвинутых инструментах — появился и новый стандарт. Ничего необычного.
+1
Поздняк метаться. Недавно нарыл два 3д редактора на WebGL:
labs.sketchfab.com/sculptfab/
clara.io/
Скоро node.js можно будет запустить на любом утюге.
labs.sketchfab.com/sculptfab/
clara.io/
Скоро node.js можно будет запустить на любом утюге.
+2
Не в утюге, но в умном доме уже есть.
+1
Sign up to leave a comment.
Articles
Change theme settings
[Перевод] Новости из мира Node: Tint, Redbird