перспективы программирования на node.js

anyone40
Новичок
Posts: 30
Joined: 03 Aug 2012 19:44

перспективы программирования на node.js

Post by anyone40 »

привет всем !
есть возможность нырнуть в новую для себя область javascript backend(на базе node.js). вопрос к обитателям форума- перспективное это
направление ? сейчас пишу на java, perl, bash + разные там базы данных но в основном backend
с одной стороны распыление сил а с другой дополнительный skill которые может помочь в будущем
территориально проживаю в bay area. и стартап этот в SF.
посоветуйте.
User avatar
Sergunka
Уже с Приветом
Posts: 34164
Joined: 03 Dec 2000 10:01
Location: Vladivostok->San Francisco->Los Angeles->San Francisco

Re: перспективы программирования на node.js

Post by Sergunka »

anyone40 wrote:привет всем !
есть возможность нырнуть в новую для себя область javascript backend(на базе node.js). вопрос к обитателям форума- перспективное это
направление ? сейчас пишу на java, perl, bash + разные там базы данных но в основном backend
с одной стороны распыление сил а с другой дополнительный skill которые может помочь в будущем
территориально проживаю в bay area. и стартап этот в SF.
посоветуйте.
Для стартапа нормально. В ту же тему руби - типо быстро и сердито сделать пруф концепт. Но судя по Вашему подходу нод джс самый то прокачать. :fr:
"A patriot must always be ready to defend his country against his government." Edward Abbey
User avatar
stenking
Уже с Приветом
Posts: 14455
Joined: 26 May 2006 02:39

Re: перспективы программирования на node.js

Post by stenking »

Я уверен что за node.js будущее и через 5-10 лет это будет основной язык веб программирования. Потому что асинхронность. Потому что универсальность с фронтэндом и мобильными эппами. Потому что реал тайм пуш.

Инвестируй сегодня - получай вкусный рейт уже завтра! MEAN rules!
Бога нет.
User avatar
Komissar
Уже с Приветом
Posts: 64875
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: перспективы программирования на node.js

Post by Komissar »

а как дышал за ПХП!
User avatar
Vladimir Kr.
Уже с Приветом
Posts: 539
Joined: 24 Mar 2004 07:31
Location: Krasnoyrsk -> -> Chicago

Re: перспективы программирования на node.js

Post by Vladimir Kr. »

а Питон, с извините, Zope - 10 лет назад, чуть всех не заборол!

Если серьезно, то реал тайм пуш, и в яве можно сделать. асинхронность - a где ее нету? Универсальность с фронтэндом и мобильными эппами - нужна, если есть переизбыток фронтенд js девелоперов переучившихся с html/css, и не достаток java бакенд (скажите, где их мало...).
А еще важнее - желание (стартапов) сэкономить и поставить одного девелопера на фронт и энд.
У нас его вроде попробовали - нагрузку не потянул.
моя родина СССР!
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: перспективы программирования на node.js

Post by valchkou »

stenking wrote: Инвестируй сегодня - получай вкусный рейт уже завтра! MEAN rules!
для Node.js завтра уже настало, ему 6 лет уже как никак.
изучить пригодится, но рассчитывать на вкусный рейт я бы не стал. Node.js изобрели не для этого, скорее наоборот.
И вообще что такого умеет node, чего не умеет java?
User avatar
fruit6
Уже с Приветом
Posts: 4207
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Post by fruit6 »

Какие перспективы у перла или питона?
User avatar
stenking
Уже с Приветом
Posts: 14455
Joined: 26 May 2006 02:39

Re: перспективы программирования на node.js

Post by stenking »

valchkou wrote: И вообще что такого умеет node, чего не умеет java?
Потому что асинхронность. Потому что универсальность с фронтэндом и мобильными эппами. Потому что реал тайм пуш.
Бога нет.
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: перспективы программирования на node.js

Post by valchkou »

stenking wrote:
valchkou wrote: И вообще что такого умеет node, чего не умеет java?
Потому что асинхронность. Потому что универсальность с фронтэндом и мобильными эппами. Потому что реал тайм пуш.
это в жабе относительно давно, в том числе поддержка websocket
https://blogs.oracle.com/enterprisetech ... _servlet_3
http://www.javaworld.com/article/207799 ... tml?page=2
http://www.oracle.com/webfolder/technet ... l#overview

другое дело что node изначально на этом основан, а на яве до сих пор не mainstream и приходится немного напрячься.
про универсальность с фронтэндом и мобильными эппами я не совсем понял, речь идет о REST/JSON? или о чем то еще
User avatar
x.angie
Уже с Приветом
Posts: 191
Joined: 13 Mar 2006 19:01
Location: Earth -> Moon -> Mars

Re: перспективы программирования на node.js

Post by x.angie »

valchkou wrote:
stenking wrote:
valchkou wrote:про универсальность с фронтэндом и мобильными эппами я не совсем понял, речь идет о REST/JSON? или о чем то еще
Здесь, наверное, имелись ввиду изоморфные приложения написанные на JS
helg
Уже с Приветом
Posts: 4827
Joined: 15 May 2001 09:01

Re: перспективы программирования на node.js

Post by helg »

Асинхронность и "реал таим пуш" (комета и вебсокеты) - этого добра любая приличная платформа на сервере сполняет на раз.

Асинхронность была даже в самой первой версии Windows API - и была она там из-за ограниченности ядра (если таковым можно было назвать kernel.exe той поры) - не было в нём нитей. А писал кто под асинхронный WinSock? Плевались все, но это был единственный метод из-за кривого ядра. Ровно из-за той же ограниченности асинхронность и в JavaScript - а совсем не потому, что это прогресс какой-то.

Вот один язык с обеих сторон - это сильный аргумент. Жаль, что что в браузерах Микрософот убил Яву, в попытке заменить её своим ActiveX. Ява с обеих сторон давала бы сильно больше возможностей. Крах Явы на клиенте был катастрофой всеинтернетовского масштаба, и JavaScript, собственно, поднялся на её руинах.
User avatar
stenking
Уже с Приветом
Posts: 14455
Joined: 26 May 2006 02:39

Re: перспективы программирования на node.js

Post by stenking »

Code: Select all

async = require('async')
request = require('request')

async.parallel([
    function(callback){
      request("http://google.jp", function(err, response, body) {
        if(err) { console.log(err); callback(true); return; }
        console.log("function: 1")
        callback(false);
      });
    },
    function(callback){
      request("http://google.com", function(err, response, body) {
        if(err) { console.log(err); callback(true); return; }
        console.log("function: 2")
        callback(false);
      });
    }
]);

Code: Select all

var fs = require('fs'),
    oldFilename,
    newFilename;

oldFilename = "./processId.txt";
newFilename = "./processIdOld.txt";

fs.chmod(oldFilename, 777, function (err) {   
    fs.rename(oldFilename, newFilename, function (err) {
        fs.lstat(newFilename, function (err, stats) {
            var isSymLink = stats.isSymbolicLink();
        });
    });
});

Ну и последний пример

Code: Select all

var fs = require('fs');
var mysql = require('some_mysql_library');

fs.readFile('/my/file.txt', 'utf8', processFile);

function processFile(err, data) {
  mysql.query("INSERT INTO tbl SET txt = '" + data + "'", [b]doneWithSql[/b]);
}

function doneWithSql(err, results) {
  if(err) {
    console.log("There was a problem with your query");
  } else {
    console.log("The query was successful.");
  }
}
Бога нет.
User avatar
stenking
Уже с Приветом
Posts: 14455
Joined: 26 May 2006 02:39

Re: перспективы программирования на node.js

Post by stenking »

Т.е. это всё очень хорошо для веба - емаил пускай в фоне шлётся, а мы пока сделаем 5-ку параллельных запросов ( ну там лист друзей, историю последних сообщений подгрузим и не нужно ждать 3-ю медленную квирю - закончит сама апдейтнит сколько новых месседжей пришло на странице. Круто да? Асинхронность и параллельность.

И клас валидации у нас одинаковый и модели одинаковые что на фронтенде что на бэкенде. И CouchDB такая родная, на Jsone нативном. Простейшая разработка, хоть в блокноте код пиши а скорость как у Java. Только памяти в разы меньше жрёт.

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

Code: Select all

async.auto({
    get_data: function(callback){
        console.log('in get_data');
        // async code to get some data
        callback(null, 'data', 'converted to array');
    },
    make_folder: function(callback){
        console.log('in make_folder');
        // async code to create a directory to store a file in
        // this is run at the same time as getting the data
        callback(null, 'folder');
    },
    write_file: ['get_data', 'make_folder', function(callback, results){
        console.log('in write_file', JSON.stringify(results));
        // once there is some data and the directory exists,
        // write the data to a file in the directory
        callback(null, 'filename');
    }],
    email_link: ['write_file', function(callback, results){
        console.log('in email_link', JSON.stringify(results));
        // once the file is written let's email a link to it...
        // results.write_file contains the filename returned by write_file.
        callback(null, {'file':results.write_file, 'email':'user@example.com'});
    }]
}, function(err, results) {
    console.log('err = ', err);
    console.log('results = ', results);
});
Бога нет.
User avatar
Komissar
Уже с Приветом
Posts: 64875
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: перспективы программирования на node.js

Post by Komissar »

That is, PHP - no more?

А как дышал, как дышал!
User avatar
John Smith
Уже с Приветом
Posts: 1680
Joined: 04 Oct 2006 23:30
Location: Las Vegas

Re: перспективы программирования на node.js

Post by John Smith »

если за 6 лет не взлетело - думаю не взлетит уже
все эти хеллоуворлд демонстрации не впечатляют когда начинаешь задумываться о проекте более менее приличного размера - вопрос как все это скриптовое добро майнтейнить вылезает на первый план
User avatar
fruit6
Уже с Приветом
Posts: 4207
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Post by fruit6 »

Примеры выше - дикий ужас. Канает только если Вы это один раз напишете а потом, взяв бабло за работу, быстро-быстро испаритесь в тумане. Не каждому дано выйти на уровень стенкина.
helg
Уже с Приветом
Posts: 4827
Joined: 15 May 2001 09:01

Re: перспективы программирования на node.js

Post by helg »

Да, и синтаксис у JS - тоже неудачный.

У языков, на которых ротом разговаривают, есть иерархия знаков препинания для облегчения понимания текста. Пробел, запятая, точка с запятой, точка, абзац - обозначают разные уровни иерархии. Запятая - разделитель самых маленьких блочков, точка с запятой - блочков побольше. Точка (разделитель предложений) - блок ещё больше, а абзац (группа предложений) - самый большой блок. Уберите их - текст будет труднее понимать.

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

Так вот JS это соглашение нарушает. Поэтому читать его тяжело. А уж понимать то, что написано не тобой, да ещё и впопыхах написанное, поскольку time-to-market, - сущее мучение.

Добавить к этому раздоблайство с типизацией, с количеством передаваемых параметров, отсутствие вменяемых проверок до запуска - есть все условия для создания идеального бардака.
User avatar
stenking
Уже с Приветом
Posts: 14455
Joined: 26 May 2006 02:39

Re:

Post by stenking »

fruit6 wrote:Примеры выше - дикий ужас. Канает только если Вы это один раз напишете а потом, взяв бабло за работу, быстро-быстро испаритесь в тумане. Не каждому дано выйти на уровень стенкина.
Да, думать асинхронными колбэками нужно переучиваться. Но в результате получаются эппы которые работают мгновенно, эппы с сложным отзывчивым UI, эппы которые работают офлайн и без рефреша и прочие печеньки.

Это нужно не всем и не на каждом проекте
Бога нет.
User avatar
stenking
Уже с Приветом
Posts: 14455
Joined: 26 May 2006 02:39

Re: перспективы программирования на node.js

Post by stenking »

Komissar wrote:That is, PHP - no more?

А как дышал, как дышал!
Я и дальше его использую. Легче программистов найти. Но за нодой будушее.
Бога нет.
User avatar
valchkou
Уже с Приветом
Posts: 4195
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: перспективы программирования на node.js

Post by valchkou »

в поддержку стенкина скажу что нода уже заняла свою нишу, оттяпав кусок у php, питона, руби и прочих скриптовых.
многие БД, в том числе NoSQL даже наваяли драйверы под ноду и это о чем то говорит.
специалист с нодой в резюме без работы не останется уже сейчас.
идея сделать сервер на js была революционной и сделала свое дело.
но я думаю, что именно js как раз и не даcт подняться node на высоты.
так и останется в нише стартапов и быстрых поделок.
User avatar
fruit6
Уже с Приветом
Posts: 4207
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Post by fruit6 »

Думать асинхронными колбеками не бог весть какой рокет саенс. Занимает где то 30 минут у людей которые не случайные в индустрии (не путать с индус-трией). Мораль истории: js - код на выброс.
User avatar
akrisanov
Новичок
Posts: 43
Joined: 03 Aug 2013 09:22
Location: Bryansk, Russia

Re: перспективы программирования на node.js

Post by akrisanov »

Я лично пока не стал переключаться на Node.js. Да, есть компании как Ebay, которые активно используют Node.js + в сети появляются статьи типа http://blog.risingstack.com/node-js-is- ... ise-ready/, но каждый раз когда смотрю на JavaScript на backend и инфраструктуру вокруг него, не вижу преимуществ по сравнению с тем же Ruby-стеком (ну разве pure-асинхронность). Если @anyone40 пишите на Java и хочется чего-то нового, взгляните на Clojure + на frontend технологии типа React.js http://tonsky.me/talks/2015-codefest/. По моему мнению, сейчас больше интересного происходит именно на frontend, а Java+общих концепций хватит чтобы при необходимости разобраться с той же Нодой в будущем. Fullstack сейчас ценятся, а хорошего Frontend разработчика днем с огнем не сыщешь.
Muddy Brunch
Уже с Приветом
Posts: 131
Joined: 03 Apr 2015 17:21

Re: перспективы программирования на node.js

Post by Muddy Brunch »

Вспомнилось: "Один мальчик писал все на JavaScript, и клиент, и сервер, говорил что нравится, удобно, читабельно. Потом его в дурку забрали, конечно."
Я закуриваю, только когда выпью. А выпиваю я беспрерывно. Поэтому многие ошибочно думают, что я курю.
User avatar
wassup
Уже с Приветом
Posts: 736
Joined: 30 Mar 2006 09:08
Location: Arch Linux world

Re: перспективы программирования на node.js

Post by wassup »

Да на любой платформе сделать асинхронный сервер не бог весть какая проблема. Давеча писал подобное на С (sockets/epoll).

Для руби есть EventMachine https://github.com/eventmachine/eventmachine/wiki
User avatar
fruit6
Уже с Приветом
Posts: 4207
Joined: 10 Jan 2004 01:22
Location: n-sk -> MD -> VA

Re: Re:

Post by fruit6 »

stenking wrote:
fruit6 wrote:Примеры выше - дикий ужас. Канает только если Вы это один раз напишете а потом, взяв бабло за работу, быстро-быстро испаритесь в тумане. Не каждому дано выйти на уровень стенкина.
Да, думать асинхронными колбэками нужно переучиваться. Но в результате получаются эппы которые работают мгновенно, эппы с сложным отзывчивым UI, эппы которые работают офлайн и без рефреша и прочие печеньки.

Это нужно не всем и не на каждом проекте
stenking, вы не в курсе что то что Вы описали есть основы работы десктоп аппов, или пытаетесь выдать за новье??

Я, кстати, заметил что недавние студенты специализирующиеся на жабаскрипте зачастую не знают никаких backend технологий, даже пхп. про жабу я вообще молчу. Это, безусловно, радостная новость для многих из нас.

Return to “Работа и Карьера в IT”