LINUX.ORG.RU

Javascript: node.js и иже с ним

 , ,


1

2

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

Ок. На node.js - очень круто делать веб-чаты. Где у нас много пользователей в режиме реального времени. Это я ещё пойму. Но дальше, я нефига не понимаю - зачем?

Сколько уже было обсуждений, я так и не могу понять, почему его везде сейчас пихают. Чем не устраивает традиционный подход к решению задач? Мне всегда говорили, что раз можно, то почему бы и нет. «я знаю js, зачем мне ещё что-то учить, если могу и на нём». Ну, лааааадно.

Давайте попробуем по другому. Возьмём Django, Rails и т.д. Даже, давайте просто возьмём обычный Wordpress. Вроде все должны знать. На нём можно сделать блог, создать сайт и т.д. движок с различными возможностями.

На этом вашем js, можно создать точную копию такого движка, как Wordpress? Один в один, но на js. Если нет, то чего не получится сделать, что есть в Wordpress и почему?

★★★★★

Чем не устраивает традиционный подход к решению задач?

А почему все должны пользоваться традиционным подходом к решению задач?

На этом вашем js, можно создать точную копию такого движка, как Wordpress?

Можно, но зачем?

Tark ★★
()

На клиент это ок, он же и создавался для этого. Но сервер...

Армия малообразованных мартышек выплеснулась из клиент-сайда веба. Они повсюду. На десктопе, на серверах, в мобильных приложениях, в кардиостимуляторе твоей бабушки. Смерть неизбежна, сопротивление бесполезно.

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

Я не против разработки на js. Я пока не могу понять возможности и хочу расставить свои приоритеты в дальнейшем развитии.

Значит интернет-магазины, барахолки типо авито, да и вообще любой сайт - тоже можно реализовать на одном только js? Так? Или есть что-то, что ещё на нём сделать нельзя?

th3m3 ★★★★★
() автор топика

Если сравнивать с PHP, то мне видится пару преимуществ: node.js не умирает на каждый запрос, не нужен php-fpm, веб-сервер и еще какие-то городухи. Из-за умирания PHP-скриптов после каждого запроса приходится использовать всякие Gearman и прочий изврат. А еще посмотри как cron в большинстве CMS делается: какой-то счастливчик зашедший на сайт будет ждать выполнения cron'овских задач, вместо получения контента :)

На этом вашем js, можно создать точную копию такого движка, как Wordpress? Один в один, но на js. Если нет, то чего не получится сделать, что есть в Wordpress и почему?

Сделать можно, а это кому-то нужно? Крупные проекты на ноде есть, я их все не помню, но например https://myspace.com/ Кстати Wordpress пример ужасного говнокода, так что не надо нам таких CMS.

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

Значит интернет-магазины, барахолки типо авито, да и вообще любой сайт - тоже можно реализовать на одном только js? Так? Или есть что-то, что ещё на нём сделать нельзя?

Для ноды нет никаких технических ограничений, так что можно все.

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

Значит интернет-магазины, барахолки типо авито, да и вообще любой сайт - тоже можно реализовать на одном только js? Так? Или есть что-то, что ещё на нём сделать нельзя?

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

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

Я то больше из мира Python, чем php. Wordpress - это как пример. Больше хочется узнать именно возможности js в таком деле. Выходит и nginx, apache - тоже для ноды не нужны? Чистый сервер(ну пусть Debian) + node.js и всё?

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

Выходит и nginx, apache - тоже для ноды не нужны? Чистый сервер(ну пусть Debian) + node.js и всё?

Да, у ноды свой, встроенный веб-сервер http://nodejs.org/api/http.html Есть обертки над стандартным API (Connect), с дополнительными плюшками.

Nginx можно использовать для балансировки нагрузки и отдачи статики, но вообще он не нужен. Если проект высоконагруженный, то обычно запускают несколько инстансов ноды (даже на одной машине) и балансируют нагрузку между ними.

Такую фигню со встроенным веб-сервером я в Java программах видел (YouTrack, TeamCity), и то их на Tomcat часто запускают.

Black_Roland ★★★★
()

На JS плохо десктопные приложения писать. Есть node-webkit, но он слишком много жрет. Других языков не знаю, пишу на node-webkit и утешаю себя тем, что есть годные проги на node-webkit (PopCorn Time), которыми люди пользуются и радуются.

Black_Roland ★★★★
()

я так и не могу понять, почему его везде сейчас пихают

Потому что раньше долбодятлам надо было знать минимум два языка, а теперь только один. Долбодятлы щщасливы.

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

Сделать там можно все. Но в больших проектах можно упереться в нехватку библиотек/концепций. Например, мне надо хитро скрещивать вместе несколько приложений - форум, блоги, альбомы и т.п. Пришлось костылять свой разухабистый бандлер. Для средних и мелких проектов уже нормально в принципе.

В конечном счете выбирать надо так, чтобы язык устраивал. Я например использую линтовщик с закрученными гайками, библиотеки примитивов типа lodash, async и не парюсь по поводу косяков яваскрипта. А у других от него пукан два раза на дню рвёт.

Vit ★★★★★
()

Я никак не могу понять, зачем столько везде сейчас js

Самый главный вопрос который ты можешь задать себе «Зачем мне понимать это»? не нравится - не кушай.

Сколько уже было обсуждений, я так и не могу понять, почему его везде сейчас пихают

One JavaScript to rule them all, one JavaScript to find them, One JavaScript to bring them all and in the darkness bind them.

Чем не устраивает традиционный подход к решению задач?

Традиционный это какой? Думаю разработчики на COBOL и FORTRAN имеют свое понимание «традиционного» подхода.

Возьмём Django, Rails и т.д.

Так бери, в чем проблема то, я вот беру и нормально все.

На этом вашем js, можно создать точную копию такого движка, как Wordpress?

Копию в чем? Что бы админка такая же была?

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

Значит интернет-магазины, барахолки типо авито, да и вообще любой сайт - тоже можно реализовать на одном только js? Так? Или есть что-то, что ещё на нём сделать нельзя?

Можно, сделать на нем можно все, кроме операционной системы или системного софта, хотя подвижки в этом направлении тоже есть.

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

Посмотрел. Не нашел ни рантайма, ни биндингов к Qt, ничего подобного. Или если я буду использовать famo.us в node-webkit, то он внезапно начнет меньше жрать, а бинарник уменьшится в 5 раз? Проблема в самом node-webkit, а не в фреймворке.

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

Или если я буду использовать famo.us в node-webkit, то он внезапно начнет меньше жрать, а бинарник уменьшится в 5 раз?

Именно так, это альтернативный layout/render engine который умеет быстро и эффективно.

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

Не нашел ни рантайма, ни биндингов к Qt

А зачем тебе биндинги к Qt? в Qt уже давно есть JavaScript, начиная с 4 версии, хочешь писать на Qt - вперед.

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

Да я понял. Проблема в том, что бинарник node-webkit весит 70МБ, а если верить RES в htop, то в ОЗУ занято еще 100МБ. А кроме node-webkit для написания десктопного софта больше ничего приличного нет. Famo.us это конечно хорошо, но со скоростью рендера вроде не возникало проблем, только если игры писать.

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

А кроме node-webkit для написания десктопного софта больше ничего приличного нет.

atom-shell сходи посмотри

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

А зачем тебе биндинги к Qt? в Qt уже давно есть JavaScript, начиная с 4 версии, хочешь писать на Qt - вперед.

Мне бы в другую сторону :) Хочу на Node.js создавать окна, рисовать кнопки и прочие плюшки.

Black_Roland ★★★★
()

Не мешай людям применять свой единственный молоток.

anonymous
()

Вроде уже написали что-то, но все равно отпишу, ато заняться нечем.

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

С другой стороны есть js - инструмент для обезьянок, не многим отличающийся от php. Школьники его осваивают за 2 выходных и раньше они бежали клепать говносайтики за еду, после чего выкидывались и заменялись новыми «за еду». Теперь же, необразованная анскильная лалка может повзрослеть и ей дадут писать бэкэнд на томже говне, которое она привыкла жрать всю жизнь, считая себя программистом.

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

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

Не обижай обезьянок, с животными жестоко обращаться нельзя.

Black_Roland ★★★★
()

Всем спасибо за ответы. В общем, кому нравится - пусть) Я буду пользоваться более традиционными инструментами.

th3m3 ★★★★★
() автор топика

На этом вашем js, можно создать точную копию такого движка, как Wordpress? Один в один, но на js. Если нет, то чего не получится сделать, что есть в Wordpress и почему?

Да можно. К тому же js не так уж плох и возможности не плохие. Продумано не все конечно. Но суть не в этом... Тест производительности посмотри (Django, Rails vs Js). А вообще когда просто надоело хочется чего то не стандарного и армия мартышек тут не при чём =)

screamm92
()

Возьмём Django

угадал результат по заголовку.

waker ★★★★★
()

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

Правда мне не доводилось видеть, что б этим кто-то пользовался.

На этом вашем js, можно создать точную копию такого движка, как Wordpress? Один в один, но на js. Если нет, то чего не получится сделать, что есть в Wordpress и почему?

Для этого сначала надо прикрутить js к вебсерверу, а пока есть только вебсервер прикрученный к js'у.

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