LINUX.ORG.RU
ФорумTalks

Зачем Node.js ?

 


0

3

Читаю - читаю. Вроде всё здорово и хорошо, но зачем эти танцы с бубном для обычного сайта с посещаемостью 100 юзеров в день?

Или это для держателей хостинга?

Я понял что из-за асинхронности код не тормозит. Но код не тормозил у меня и до этого ни разу.

Зачем оно обычному пользователю и обычному программисту?

Спасибо

Перемещено leave из general

Ответ на: комментарий от miltorg

Я вычитал что Node.js можно компилировать в исполняемый файл - это правда?

Компилировать - это слишком громко сказано, но в принципе ничего не мешает это сделать.

crutch_master ★★★★★
()

Оно для того, чтобы фронтендеры, не умеющие ни во что, включая джаваскрипт, могли чувствовать себя настоящими девелуперами.

Miguel ★★★★★
()
Ответ на: комментарий от crutch_master

По твоей логике всем надо юзать двузвенку с дельфи и субд в качестве бека.

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

Вот взять LAMP. Он настолько прост, что тупая однострочная команда:

apt-get install php apache2 mysql-server; echo "<?php echo '<h1>This is test website</h1>';?>" > /var/www/html/index.php
после выполнения (меньше минуты, BTW) дает тебе полностью рабочий вебсайт, доступный из браузера любого компьютера в подсети, или даже снаружи если этот комп смотрит в интернет, или настроен роутер.

А ну, сделай мне то же самое для node.js ? Заманаешься пыль глотать.

Да я тебе больше скажу, в случае Пыха (Питона, Перла etc) тебе даже веб-сервер не нужен, эти языки сами могут слушать 80-й порт и парсить GET\POST запросы если уж очень нужно.

Но главный вопрос - ЗАЧЭМ NODE.JS ?

Быстрее ? Нет.

Удобнее в настройке ? Нет.

Может сам ЯП удобнее в программировании ? Нет.

Кроссплатформеннее ? Нет.

Свободнее ? Нет.

Типичный proof-of-concept.

windows10 ★★★★★
()
Ответ на: комментарий от crutch_master

Я тоже не понимаю смысла ноды для хоумпаги. Вот сервер хоумпаг - это да, было бы можно.

Сервер хоумпаг на ноде звучит зачетно, учитывая что сама нода - костыль на костыле.

windows10 ★★★★★
()
Ответ на: комментарий от windows10

Моднее? Да!

Молодежнее? Да!

Шах и мат, старперы.

bread
()
Ответ на: комментарий от windows10

дает тебе полностью рабочий вебсайт

Правда полностью не нужный. Тут не соревнование helloworld'ов.

Да я тебе больше скажу, в случае Пыха (Питона, Перла etc) тебе даже веб-сервер не нужен

Веб сервер нужен в любом случае.

Быстрее ? Нет.

Быстрее. V8 уделывает по производительности и пых и пистон.

Удобнее в настройке ?

Что ты там собрался настраивать?

Может сам ЯП удобнее в программировании ?

Такая же скриптуха, как и всё остальное.

Типичный proof-of-concept.

Типичная газификация атмосферы ни о чём.

crutch_master ★★★★★
()
Ответ на: комментарий от crutch_master

Правда полностью не нужный. Тут не соревнование helloworld’ов.

Это вовсе не отменяет удобства. Если молотком можно забить один гвоздь - то и 10 гвоздей сможешь. В отличие от вилки которой не забьешь ни один, ни 10.

Веб сервер нужен в любом случае.

Нет не нужен. http://138.201.124.76:100/ тащемта

Единственная программа на компьютере которая это делает - 50 строчек на PHP.

Быстрее. V8 уделывает по производительности и пых и пистон.

Ага. На языко-специфичных тестах, на которые плевать реальным продуктам для клиентов.

Что ты там собрался настраивать?

Что угодно, начиная от размеров кеша и выделяемой на инстанс памяти, заканчивая указанием конкретной папки для хранения сессий и вышеупомянутого кеша. Ну и так, по мелочи, максимальный размер формы, тайм-ауты и тд итп.

Такая же скриптуха, как и всё остальное.

Отлично. Хорошо что ты наконец признался что киллер-фич НЕТУ.

Типичная газификация атмосферы ни о чём.

Как и все высеры на node.js

windows10 ★★★★★
()
Ответ на: комментарий от crutch_master

Ну, конечно, этот твой пых с пистоном - верх элегантности.

Мои пых с пистоном изначально создавались элегантными, и предназначенными для этого.

И да, как сам думаешь, если node.js такой быстрый и классный - почему тогда на нем пишут одни маргиналы ?

windows10 ★★★★★
()
Ответ на: комментарий от micronekodesu

Пеечитайте жи мой ответ. AJAX удобен там, где вебсокеты не нужны.
Очень удобно аяксом инстанс модели данных на клиента с REST API грузить, например. Потому что он клиенту нужен, а серверу пофиг. Я смотрю, вы из тех, ктто микроскопом гвозди забивает.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от crutch_master

Я не смог осилить JS, использую TS, посматриваю на кложуру.

Shadow ★★★★★
()

100 юзеров в день

Должно быть лямбдой, а не сайтом. Для лямбд js — сносен.

зачем

Как именно ты делаешь SSR без ноды?

Чем ты собираешь фронт?

x3al ★★★★★
()
Ответ на: комментарий от crutch_master

Ну, в питоне элегантность пропадает в намного более сложных задачах, чем в JS - в JS срываешься на говнокод очень легко.

Shadow ★★★★★
()
Ответ на: комментарий от miltorg

Вывод html страницы

апач: просто положить файл в папку на сервере. И всё!

Все смешалось, кони, люди. Апач - не язык программирования. Апач - вэб-сервер. Тут если и сравнивать, то с nginx например, где тоже все настраивается так что положил файл в папку на сервере и оно работает. Потому как вывод простого html-файла как и любой другой статики - это не задача для ЯП, это задача для вэб-сервера. А если выводить файл средствами ЯП, то и код будет примерно такой же на любом ЯП. В т.ч. и на PHP. Скажем выводить jpeg-и средствами PHP мне зачем-то приходилось, было дело, конструкция была в целом схожей.

А что же до ноды, то там стандартная практика - держать ноду за nginx’ом. Для динамики - нода, для статики - nginx. Совершенно разумное разделение задач, все равно со статикой нода работает не так эффективно и вывод статики средствами самой ноды используется только для девелопмента. Собственно, то же относится и к питону, и к руби. Другими словами, приведенные примеры попросту нерелевантны реальным задачам и ничего не говорят ни о достоинствах/недостатках ноды, ни о достоинствах/недостатках php.

YogSagot ★★☆
()
Ответ на: комментарий от Shadow
  1. Как асинхронность спасёт от выполняющегося несколько минут запроса к SQL серверу?

Ну тут видна некоторая путаница в терминах. Особенность ноды в том, что она выполняется в одном потоке. Если писать запрос к БД синхронно, то в эти две минуты ожидания ответа нода не будет принимать запросы от других пользователей. То есть висит для одного - висит для всех. По этому нода так отчаянно и настаивает на асинхронности. Потому как если писать по правилам ноды, запустив запрос и предоставив коллбэк/промис, то у меня ответа будет ждать две минуты, а на остальных условных 2к пользователях в сутки это не отразится, они будут получать ответ от сервера как ни в чем не бывало.

YogSagot ★★☆
()
Ответ на: комментарий от windows10

Веб сервер нужен в любом случае.

Нет не нужен. http://138.201.124.76:100/ тащемта

Единственная программа на компьютере которая это делает - 50 строчек на PHP.

А до этого выше сам писал «apt-get install php [b]apache2[/b]». Господи, с какими даунами я сижу на одном ЛОРе.

YogSagot ★★☆
()
Ответ на: комментарий от YogSagot

Я и толкую, что эта асинхронность не лучше синхронности php/питона или котлина/кложуры/java, а отсутствие промисов/коллбэков/чёрта в ступе для ловли асинхронных событий улучшает код.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от windows10

Да я тебе больше скажу, в случае Пыха (Питона, Перла etc) тебе даже веб-сервер не нужен, эти языки сами могут слушать 80-й порт и парсить GET\POST запросы если уж очень нужно.

А я тебе, зеленому, скажу, что в среде нодистов это вообще стандартная практика. У меня на локалхосте сайт на ноде висит вообще без апача и нжиникса. Я даже не помню, ставил ли я апач или нет, а если и ставил то точно не настраивал. Сайт на ноде запускается командой node start и прекрасно работает. На сервере же он запускается как сервис и висит за проксирующим nginx’ом, который обрабатывает статику.

Быстрее ? Нет.

Да. Самый быстрый скриптовой язык на текущий момент, кому не хватает скорости - заморачиваются с растом и го, а не возвращаются на пых/питон.

Удобнее в настройке ? Нет.

Не более чем любой другой ЯП. Nginx тебе так или иначе настраивать придется. Как и апач.

Может сам ЯП удобнее в программировании ? Нет.

Язык и язык, господи. Неудобен в программировании бейсик из-за устаревшего синтаксиса.

Кроссплатформеннее ? Нет.

А вот это просто пушка. Покажи мне платформу, на которой нода не работает!

Свободнее ? Нет.

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

YogSagot ★★☆
()
Ответ на: комментарий от YogSagot

И ?

Каким образом противоречит утверждение «работоспособный сайт на LAMP можно получить за одну минуту однострочной командой» утверждению «PHP может работать даже без веб-сервера» ?

windows10 ★★★★★
()
Ответ на: комментарий от YogSagot

А. Админ локалхоста. Ясно-понятно, дискутировать нет смысла.

Нучо, получишь заказ «сделать сайт такой как aliexpress» - расскажешь нам как ты его на ноде написал )))

windows10 ★★★★★
()
Ответ на: комментарий от Shadow

Я и толкую, что эта асинхронность не лучше синхронности php/питона

Про питон не скажу, я для вэба в нем использовал только джангу и как там распаралеливание запросов под капотом устроено не в курсе. А в ПХП все просто и топорно как валенок - на каждый запрос апач создает новый инстанс интерпретатора, который выполняет всю работу по инициализации, отработке всех стартап скриптов и так далее. А после выполнения запроса освобождает интерпретатор. В случае с нодой (как и с питоном/руби/что там у нас еще) стартап происходит один раз и при запросе интерпретатор выполняет только, собственно, запрос.

YogSagot ★★☆
()
Ответ на: комментарий от windows10

А. Админ локалхоста. Ясно-понятно, дискутировать нет смысла.

А то что написано про работу ноды на сервере, ты целенаправленно игнорируешь, или просто слеп от рождения? Или ты предлагаешь вэб-девелопментом прямо на сервере заниматься, минуя уютный девелоперский локалхост? Ну-ну, сразу видно программиста!

Нучо, получишь заказ «сделать сайт такой как aliexpress» - расскажешь нам как ты его на ноде написал )))

Именно этим и занимаюсь в этот самый настоящий момент. Доволен как слон. В сторону ПХП даже не посматриваю, передергивает от отвращения каждый раз.

YogSagot ★★☆
()
Ответ на: комментарий от windows10

Каким образом противоречит утверждение «работоспособный сайт на LAMP можно получить за одну минуту однострочной командой» утверждению «PHP может работать даже без веб-сервера» ?

Тем что у тебя PHP работает из под вэб-сервера. Популярная ныне связка php-fpm+nginx тоже работает из под вэб-сервера. Может php и умеет работать без вэб-сервера как такового, но в твоем примере этого никак не отражено.

Правда о том, что нода по стандарту работает как «сам себе вэб-сервер» ты, походу, не знал, а умничаешь.

YogSagot ★★☆
()
Последнее исправление: YogSagot (всего исправлений: 1)
Ответ на: комментарий от YogSagot

Ну да ну да =)

Просто ты звездабол-теоретик и админ локалхоста.

Ну ничо, подрастешь - перестанешь хотеть быть «не таким как все» - и примешь сторону добра :)

windows10 ★★★★★
()
Ответ на: комментарий от YogSagot

Сторона добра, это когда ты забиваешь гвозди молотком, а не рассказываешь нам что микроскоп лучше, потому что он имеет увеличение в 1000х, забивая им все те же гвозди что и мы, только дольше и смешнее.

windows10 ★★★★★
()
Ответ на: комментарий от miltorg

Ты только не учёл что код который ты привёл не нуждается в http сервере… он сам себе сервер в том числе…

Изобрази как показать твою html БЕЗ апача

WindowsXP ★★
()
Ответ на: комментарий от windows10

Я гвозди молотком и забиваю. Другое дело, что гвоздь в моем случае - это не статический одностраничник. Никаких преимуществ у пхп в той задаче, которую я решаю, нет.

Да и, собственно, для статических одностраничников уже давно применяют разные static site generator’ы. Которые, чаще всего, сами написаны на ноде.

YogSagot ★★☆
()
Ответ на: комментарий от miltorg

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

Интересно.

Если не умеете отдавать статические файлы через вэб сервер, то можно использовать middleware для раздачи статических файлов.

Одна строчка кода.

Поищите как это делать в express

Он для пыхпыха ближе по духу

grim ★★☆☆
()
Последнее исправление: grim (всего исправлений: 1)
Ответ на: комментарий от Shadow

в JS срываешься на говнокод очень легко.

Так чьи это проблемы.

crutch_master ★★★★★
()
Ответ на: комментарий от Shadow

Есть же модуль nginx в постгрес, где get автоматически становится select, post - update/insert, delete - delete...

Сервер приложения не всегда ограничен тупым curd'ом.

crutch_master ★★★★★
()
Ответ на: комментарий от Shadow

Я и толкую, что эта асинхронность не лучше синхронности php/питона или котлина/кложуры/java

Ты походу не понимаешь, что переключать потоки - это очень дорого и может выйти так, что работы по переключению потоков намного больше, чем полезной нагрузки без учёта i/o. Сейчас асинх с эвентлупами завозят себе все, кому не лень.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от windows10

Нучо, получишь заказ «сделать сайт такой как aliexpress» - расскажешь нам как ты его на ноде написал ))

Ну не на похапе же писать алик, в самом деле.

crutch_master ★★★★★
()

Чувак, асинхронщина тут вообще ни при чём. Никто тебе не запрещает асинхронно писать и на пыхе. Изначальная идея была в том, чтобы иметь один язык для всего, в частности позводить писателям SPA быстренько нагородить серверную часть в виде API на ноде без необходимости учить что-то ещё кроме жабаскрипта. Кроме того гугл подсуетился и нода относительно другой скриптоты неплохо шевелится.

Зачем оно обычному пользователю и обычному программисту

Тебе как фрилансеру оно затем, что за это платят. Никакой философский смысл искать в этом не нужно.

no-such-file ★★★★★
()
Ответ на: комментарий от windows10

Нучо, получишь заказ «сделать сайт такой как aliexpress» - расскажешь нам как ты его на ноде написал )))

Даже такой помойный сайт, как AliExpress и то никогда не был написан на PHP.

EXL ★★★★★
()
Ответ на: комментарий от YogSagot

Господи, с какими даунами я сижу на одном ЛОРе.

Будь толерантнее! Пиши просто – «с PHP-программистами». Все поймут.

EXL ★★★★★
()
Ответ на: комментарий от EXL

PHP-дерьмо
PHP-макаки

Вы же раньше были одним из адекватов на ЛОР-е, зачем вы портите себе имидж и скатываетесь?

CryNet ★★★★★
()
Ответ на: комментарий от no-such-file

Никто тебе не запрещает асинхронно писать и на пыхе.

А там есть такой же await как в ноде или надо делать коллбек лапшу?

crutch_master ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.