Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   NodeJS и все с ним связанное (https://javascript.ru/forum/misc/14720-nodejs-i-vse-s-nim-svyazannoe.html)

Kolyaj 28.01.2011 22:59

Цитата:

Сообщение от x-yuri
а как они делают вид, что код синхронный?

Ну с синхронностью я немножко загнул, хотя была какая-то библиотека, но она компилила синхронный код в асинхронный.
Вообще список библиотек, упрощающих асинхронный код https://github.com/ry/node/wiki/modules в разделе Flow control / Async goodies

micscr 29.01.2011 11:14

Цитата:

Сообщение от PeaceCoder (Сообщение 90281)
прочтите то что я указал пециально для тех кто о нем слышал но не вдавался в подробности и все сами поймете

прочел. Если честно - вообще пока не цепляет ... После этой темы - еще меньше :) . Там что, такие шаблоны как в php, со вставкой кода, не возможны? И нужно write(хтмл)?
Асинхронность - интересно, но не особо нужно. В PHP тоже чето есть, хотя лично я - не проверял. События - ну я понимаю событийное программирование когда события идут от пользователя или ОС в реальном времени. А сервер - где основная задача - быстрей отдать страницу. И алгоритм в основном просто последовательно достает данные, необходимые для этой страницы. Какие там события?

Kolyaj 29.01.2011 11:40

Цитата:

Сообщение от micscr
Если честно - вообще пока не цепляет ... После этой темы - еще меньше

А что в той теме интересного, кроме того, что ТС думал, что NodeJS это тот же PHP, только $ писать не надо? Ну пусть думает, это его проблемы, а не NodeJS-а.

Цитата:

Сообщение от micscr
Там что, такие шаблоны как в php, со вставкой кода, не возможны?

Из коробки невозможны. Шаблонных движков уже написано множество.

Vulkan 29.01.2011 12:31

По мне так с NodeJs + Express или Djangode очень комфортно работать. Они имеют встроенные мощные шаблонизаторы.

PeaceCoder 29.01.2011 12:38

Меня самое большее интересует. Динамическая подгрузка скриптов сущесвует в ноде или так и надо все пихать в 1 файл?

И еще я так понял, что то, что вне createServer компилируется и исполняется 1 раз (глабальная область), а то что внутри - исполняется при запросе клиента?

Kolyaj 29.01.2011 13:21

Цитата:

Сообщение от PeaceCoder
Меня самое большее интересует. Динамическая подгрузка скриптов сущесвует в ноде или так и надо все пихать в 1 файл?

А документация?
require

Цитата:

Сообщение от PeaceCoder
И еще я так понял, что то, что вне createServer компилируется и исполняется 1 раз (глабальная область), а то что внутри - исполняется при запросе клиента?

Вроде того.

x-yuri 29.01.2011 22:43

так а серьезно, есть какие-то преимущества? Я, для себя, вижу только одно - использование js на сервере. А фразы типа "за этим языком - будущее web-программирования"... я лучше промолчу

monolithed 29.01.2011 23:22

Цитата:

Сообщение от x-yuri
использование js на сервере

как по мне, то as больше под это заточен...
Цитата:

Сообщение от x-yuri
так а серьезно, есть какие-то преимущества

http://abrdev.com/?p=1161
http://habrahabr.ru/blogs/webdev/108241/
http://habrahabr.ru/blogs/nodejs/104171/
http://habrahabr.ru/blogs/javascript/108760/
Цитата:

Сообщение от x-yuri
А фразы типа "за этим языком - будущее web-программирования"

лично меня пока не убеждают тезисы: "ну как же, тотальная асинхронность и возможность писать на js". Мне кажется, что Node еще сыроват, чтобы использовать его как основной серверный язык (но в качестве дополнения как к примеру вконтакте и яху его используют, вероятно есть целесообразность, могу ошибаться). Во всяком случае, пройти мимо не смогу... :)

ps: кто-нибудь знает планируется ли добавление в него статической типизации?

upd: меня больше всего волнует безопасность, если с тем же php все понятно, то как тут быть?

dmitriymar 29.01.2011 23:33

Цитата:

Сообщение от PeaceCoder
Динамическая подгрузка скриптов сущесвует в ноде или так и надо все пихать в 1 файл?

мож я не правильно правильно понял эту фразу-но насколько мне не изменяет память динамически можно подгрузить скрипт и без серверных сценариев-только клиентом js

Kolyaj 29.01.2011 23:58

Цитата:

Сообщение от x-yuri
есть какие-то преимущества?

Давай так: отличия. А уж преимущества это или нет, каждый решает сам. Буду сравнивать с PHP, он самый популярный и я его знаю.

1. NodeJS сам себе сервер. Точнее в скрипте на NodeJS можно создать сервер, который и будет отвечать на запросы. А можно сервер не создавать, если скрипт будет не сайтом, а чем-то другим. Т.е. если для PHP нужен Apache, то NodeJS самодостаточен, хотя я предпочитаю ставить перед ним nginx.

2. Скрипт на NodeJS запускается единожды и выполняется всё время работы сайта. В отличие от PHP, который запускается в момент запроса, после чего убивается. Поэтому весь код со всеми библиотеками парсится единожды при запуске, что не может не добавлять скорости.

3. В NodeJS на все запросы отвечает один процесс, соответственно легко шардить данные между запросами. Поэтому серверная часть чата на NodeJS пишется лёгким движением левой руки, в то время как на PHP нужно искать пути шардинга данных между процессами (обычно используется база).

4. NodeJS сам себе сервер, поэтому он сам решает сколько ему держать запрос. NodeJS может держать тысячи ждущих соединений, это ему ничего не стоит. В отличие от PHP в котором на каждый запрос создаётся процесс. Поэтому Comet сервер на NodeJS делается лёгким движением левой руки, в то время как на PHP нужно искать специальные библиотеки.

Это то, что я считаю плюсами.

Особо хочется отметить распространённое заблуждение, что NodeJS это круто, потому что один и тот же язык на сервере и на клиенте.

Язык хоть и один и тот же, но окружения разные. Поэтому и все библиотеки разные и стиль кодирования разный. И точно также, как с PHP, есть серверные скрипты, а есть клиентские, и они никак не пересекаются.


Часовой пояс GMT +3, время: 05:38.