Xpoint
   [напомнить пароль]

Что вы думаете о Node.js

Метки: [без меток]
2012-08-08 15:58:15 [обр] Thirteensmay(3/157)[досье]

В последние несколько лет с переменным усилием подыскиваю для себя лучшую серверную web технологию, или просто язык, среду, т.к. все ранее известные по тем или иным причинам перестали удовлетворять. Наконец мне кажется я нашел ее, как не трудно догадаться это Node.js (http://nodejs.org) Что вы думаете по этому поводу? Правда ли она может заслуживать этого? Какие могут быть проблемы?

Поясню подробнее почему мне так кажется, начну с недостатков существующих средств:

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

Java - по сравнению с C/C++ вроде лучше, по крайней мере в плане кросплатформенности, при небольшой потере производительности, но язык всеже сравнительно жесткий, память жрет, и до последних пор была очень существенная претензия к проприетарности, сейчас она вроде как снимается/снята, однако осадок остался.

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

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

ASP - много говорить не стану, достаточно одной причины - проприетарно.

Конечно, все это субъективно, однако как минимум аргументированно, теперь же скажу почему Node на мой взгляд лучше. Во первых это молодой, бурно развивающийся проект, в спонсорах у которого крупные корпорации, тот же MS например, а это уже о многом говорит. Во вторых он открыт и имеет BSD подобную лицензию, то есть лишний раз не препятствует, проще говоря совершенно свободен и бесплатен для любых применений. В третьих он высокопроизводителен, прост и кросплатформенен, по крайней мере мне за 10 мин удалось поднять сервер под Windows, который отдавал Hello World в динамике, быстрее чем апач отдавал аналогичную статическую страничку. В четвертых это JS на гугловском движке, т.е. клиентское и серверное программирование на одном языке и в похожих средах. В пятых, несмотря на то что проект молодой, он как я уже сказал бурно развивается, и уже обзавелся репозитарием сторонних модулей аналогично cpan, на вскидку я быстро нашел в нем все необходимые мне дополнительные модули.

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

спустя 2 часа 49 минут [обр] Евгений Седов aka KPbIC(0/176)[досье]

Мне веб-сервер под Windows не интересен. Но интересно, что вы против проприетарного софта, но при этом рассматриваете Windows в качестве платформы.

Много лет пользовался Perl'ом, но видимо, придется все-таки окончательно переходить на C++, эмуляция ООП-возможностей под перл стала съедать много времени и код становится все менее понятным. А к новым модным языкам отношусь всегда прохладно, выживет и хорошо себя зарекомендует — посмотрю. А просто так изучать нет времени.

спустя 59 минут [обр] Филипп Ткачев(3/112)[досье]
ВКонтакте использует node.js в качестве XMPP-сервера.
спустя 21 минуту [обр] Thirteensmay(3/157)[досье]

Да не, свят-свят, моя бы воля я бы закрытый, да и проприетарный софт наверное тоже, законодательно запретил, и не вижу тут никаких проблем с едой для программистов, работа под заказ, хоть частный хоть государственный, разработали, приняли, бабки получили, все, дальше код открывается и в общественное достояние. А то что с виндой дело иметь приходится так это не от моего желания, а от заказчиков, ну и некоторых программистов тоже, как не кинь а винда весьма распространена, объяснять людям что такое chmod или тем более поднимать отдельный сервер, зачастую весьма проблематично.

Я и сам до знакомства с Node рассматривал плюсы как первого кандидата на съезд, однако у меня весьма тяжелый опыт в его отношении. Конечно это дело привычки, я еще до знакомства с перлом, 12 лет назад, писал кой че под веб на сях, и предлагал другим, но с той поры утекло много времени, поучаствовал в некоторых проектах, не хороший опыт, и это бы ладно, вопрос наверное чисто конкретных обстоятельств, но я думаю что и вы признаете что плюсы всеже более геморойны, ООП в перле это конечно отдельная песня, в JS дела получше, впрочем я ООП особо не привечаю, использую по необходимому минимуму, JS реализации на мой взгляд вполне достаточно. К тому же для меня весьма значимую роль играет то что и клиентский и серверный язык будут одинаковы, я сейчас полностью ушел от генерации html на сервере, делаю это js'ом, ajax, веб сокеты, клиентские js библиотеки, т.е. в браузере у меня js приложение, а не генерируемые на сервере страницы, в этом свете js выходит на первый план, так что я думаю попробовать. Теперь вот еще наверное базу прозрачно самореплицирующуюся на кластер машинок присматривать буду, ну чтобы с масштабированием поменьше заморачиваться)

Филипп Ткачев[досье] Ну да, у них там в списке и еще кой какие не мелкие проекты есть, хотя пока это конечно новинка, и как у Евгения, отношение настороженное.

спустя 1 час 30 минут [обр] Филипп Ткачев(3/112)[досье]
Thirteensmay[досье], я не знаю, но как у Node.js с библиотеками? Задачи самые тривиальные: коннекторы к СУБД, парсеры популярных форматов данных и документов, генерация документов, изображений, отправка и сбор почты, разного рода OAuth.
Кстати, а почему не Ruby или Python?
спустя 1 час 48 минут [обр] Thirteensmay(3/157)[досье]

Филипп Ткачев[досье]

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

https://npmjs.org

спустя 3 минуты [обр] Thirteensmay(3/157)[досье]
Не помню что с Ruby, чтото мне тоже не понравилось, а вот Python мне весьма бы подошел, если бы не убивающие блоки отступами, ну и по архитектуре с глобальными локами тоже претензии.
спустя 1 день 9 часов [обр] Phlinten(0/14)[досье]
Тема для жирного троллинга
Сначала хотел написать по каждому абцазу, а потом вспомнил что через месяц - юбилей, 2 года.
Powered by POEM™ Engine Copyright © 2002-2005