перспективы программирования на node.js
-
- Новичок
- Posts: 30
- Joined: 03 Aug 2012 19:44
перспективы программирования на node.js
привет всем !
есть возможность нырнуть в новую для себя область javascript backend(на базе node.js). вопрос к обитателям форума- перспективное это
направление ? сейчас пишу на java, perl, bash + разные там базы данных но в основном backend
с одной стороны распыление сил а с другой дополнительный skill которые может помочь в будущем
территориально проживаю в bay area. и стартап этот в SF.
посоветуйте.
есть возможность нырнуть в новую для себя область javascript backend(на базе node.js). вопрос к обитателям форума- перспективное это
направление ? сейчас пишу на java, perl, bash + разные там базы данных но в основном backend
с одной стороны распыление сил а с другой дополнительный skill которые может помочь в будущем
территориально проживаю в bay area. и стартап этот в SF.
посоветуйте.
-
- Уже с Приветом
- Posts: 34164
- Joined: 03 Dec 2000 10:01
- Location: Vladivostok->San Francisco->Los Angeles->San Francisco
Re: перспективы программирования на node.js
Для стартапа нормально. В ту же тему руби - типо быстро и сердито сделать пруф концепт. Но судя по Вашему подходу нод джс самый то прокачать.anyone40 wrote:привет всем !
есть возможность нырнуть в новую для себя область javascript backend(на базе node.js). вопрос к обитателям форума- перспективное это
направление ? сейчас пишу на java, perl, bash + разные там базы данных но в основном backend
с одной стороны распыление сил а с другой дополнительный skill которые может помочь в будущем
территориально проживаю в bay area. и стартап этот в SF.
посоветуйте.
"A patriot must always be ready to defend his country against his government." Edward Abbey
-
- Уже с Приветом
- Posts: 14455
- Joined: 26 May 2006 02:39
Re: перспективы программирования на node.js
Я уверен что за node.js будущее и через 5-10 лет это будет основной язык веб программирования. Потому что асинхронность. Потому что универсальность с фронтэндом и мобильными эппами. Потому что реал тайм пуш.
Инвестируй сегодня - получай вкусный рейт уже завтра! MEAN rules!
Инвестируй сегодня - получай вкусный рейт уже завтра! MEAN rules!
Бога нет.
-
- Уже с Приветом
- Posts: 64875
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: перспективы программирования на node.js
а как дышал за ПХП!
-
- Уже с Приветом
- Posts: 539
- Joined: 24 Mar 2004 07:31
- Location: Krasnoyrsk -> -> Chicago
Re: перспективы программирования на node.js
а Питон, с извините, Zope - 10 лет назад, чуть всех не заборол!
Если серьезно, то реал тайм пуш, и в яве можно сделать. асинхронность - a где ее нету? Универсальность с фронтэндом и мобильными эппами - нужна, если есть переизбыток фронтенд js девелоперов переучившихся с html/css, и не достаток java бакенд (скажите, где их мало...).
А еще важнее - желание (стартапов) сэкономить и поставить одного девелопера на фронт и энд.
У нас его вроде попробовали - нагрузку не потянул.
Если серьезно, то реал тайм пуш, и в яве можно сделать. асинхронность - a где ее нету? Универсальность с фронтэндом и мобильными эппами - нужна, если есть переизбыток фронтенд js девелоперов переучившихся с html/css, и не достаток java бакенд (скажите, где их мало...).
А еще важнее - желание (стартапов) сэкономить и поставить одного девелопера на фронт и энд.
У нас его вроде попробовали - нагрузку не потянул.
моя родина СССР!
-
- Уже с Приветом
- Posts: 4195
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: перспективы программирования на node.js
для Node.js завтра уже настало, ему 6 лет уже как никак.stenking wrote: Инвестируй сегодня - получай вкусный рейт уже завтра! MEAN rules!
изучить пригодится, но рассчитывать на вкусный рейт я бы не стал. Node.js изобрели не для этого, скорее наоборот.
И вообще что такого умеет node, чего не умеет java?
-
- Уже с Приветом
- Posts: 4207
- Joined: 10 Jan 2004 01:22
- Location: n-sk -> MD -> VA
-
- Уже с Приветом
- Posts: 14455
- Joined: 26 May 2006 02:39
Re: перспективы программирования на node.js
Потому что асинхронность. Потому что универсальность с фронтэндом и мобильными эппами. Потому что реал тайм пуш.valchkou wrote: И вообще что такого умеет node, чего не умеет java?
Бога нет.
-
- Уже с Приветом
- Posts: 4195
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: перспективы программирования на node.js
это в жабе относительно давно, в том числе поддержка websocketstenking wrote:Потому что асинхронность. Потому что универсальность с фронтэндом и мобильными эппами. Потому что реал тайм пуш.valchkou wrote: И вообще что такого умеет node, чего не умеет java?
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? или о чем то еще
-
- Уже с Приветом
- Posts: 191
- Joined: 13 Mar 2006 19:01
- Location: Earth -> Moon -> Mars
Re: перспективы программирования на node.js
Здесь, наверное, имелись ввиду изоморфные приложения написанные на JSvalchkou wrote:stenking wrote:valchkou wrote:про универсальность с фронтэндом и мобильными эппами я не совсем понял, речь идет о REST/JSON? или о чем то еще
-
- Уже с Приветом
- Posts: 4827
- Joined: 15 May 2001 09:01
Re: перспективы программирования на node.js
Асинхронность и "реал таим пуш" (комета и вебсокеты) - этого добра любая приличная платформа на сервере сполняет на раз.
Асинхронность была даже в самой первой версии Windows API - и была она там из-за ограниченности ядра (если таковым можно было назвать kernel.exe той поры) - не было в нём нитей. А писал кто под асинхронный WinSock? Плевались все, но это был единственный метод из-за кривого ядра. Ровно из-за той же ограниченности асинхронность и в JavaScript - а совсем не потому, что это прогресс какой-то.
Вот один язык с обеих сторон - это сильный аргумент. Жаль, что что в браузерах Микрософот убил Яву, в попытке заменить её своим ActiveX. Ява с обеих сторон давала бы сильно больше возможностей. Крах Явы на клиенте был катастрофой всеинтернетовского масштаба, и JavaScript, собственно, поднялся на её руинах.
Асинхронность была даже в самой первой версии Windows API - и была она там из-за ограниченности ядра (если таковым можно было назвать kernel.exe той поры) - не было в нём нитей. А писал кто под асинхронный WinSock? Плевались все, но это был единственный метод из-за кривого ядра. Ровно из-за той же ограниченности асинхронность и в JavaScript - а совсем не потому, что это прогресс какой-то.
Вот один язык с обеих сторон - это сильный аргумент. Жаль, что что в браузерах Микрософот убил Яву, в попытке заменить её своим ActiveX. Ява с обеих сторон давала бы сильно больше возможностей. Крах Явы на клиенте был катастрофой всеинтернетовского масштаба, и JavaScript, собственно, поднялся на её руинах.
-
- Уже с Приветом
- Posts: 14455
- Joined: 26 May 2006 02:39
Re: перспективы программирования на node.js
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.");
}
}
Бога нет.
-
- Уже с Приветом
- Posts: 14455
- Joined: 26 May 2006 02:39
Re: перспективы программирования на node.js
Т.е. это всё очень хорошо для веба - емаил пускай в фоне шлётся, а мы пока сделаем 5-ку параллельных запросов ( ну там лист друзей, историю последних сообщений подгрузим и не нужно ждать 3-ю медленную квирю - закончит сама апдейтнит сколько новых месседжей пришло на странице. Круто да? Асинхронность и параллельность.
И клас валидации у нас одинаковый и модели одинаковые что на фронтенде что на бэкенде. И CouchDB такая родная, на Jsone нативном. Простейшая разработка, хоть в блокноте код пиши а скорость как у Java. Только памяти в разы меньше жрёт.
Так что куда не посмотри нода сейчас наиболее приспобленная для жизни. Ну конечно нужно немного переучится кодить, не без этого.
И клас валидации у нас одинаковый и модели одинаковые что на фронтенде что на бэкенде. И 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);
});
Бога нет.
-
- Уже с Приветом
- Posts: 64875
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: перспективы программирования на node.js
That is, PHP - no more?
А как дышал, как дышал!
А как дышал, как дышал!
-
- Уже с Приветом
- Posts: 1680
- Joined: 04 Oct 2006 23:30
- Location: Las Vegas
Re: перспективы программирования на node.js
если за 6 лет не взлетело - думаю не взлетит уже
все эти хеллоуворлд демонстрации не впечатляют когда начинаешь задумываться о проекте более менее приличного размера - вопрос как все это скриптовое добро майнтейнить вылезает на первый план
все эти хеллоуворлд демонстрации не впечатляют когда начинаешь задумываться о проекте более менее приличного размера - вопрос как все это скриптовое добро майнтейнить вылезает на первый план
-
- Уже с Приветом
- Posts: 4207
- Joined: 10 Jan 2004 01:22
- Location: n-sk -> MD -> VA
-
- Уже с Приветом
- Posts: 4827
- Joined: 15 May 2001 09:01
Re: перспективы программирования на node.js
Да, и синтаксис у JS - тоже неудачный.
У языков, на которых ротом разговаривают, есть иерархия знаков препинания для облегчения понимания текста. Пробел, запятая, точка с запятой, точка, абзац - обозначают разные уровни иерархии. Запятая - разделитель самых маленьких блочков, точка с запятой - блочков побольше. Точка (разделитель предложений) - блок ещё больше, а абзац (группа предложений) - самый большой блок. Уберите их - текст будет труднее понимать.
У языков программирования тоже есть подобная иерархия для облегчения чтения кода. Запятая, круглые скобки, точка с запятой, фиrурные скобки - в этой последовательности.
Так вот JS это соглашение нарушает. Поэтому читать его тяжело. А уж понимать то, что написано не тобой, да ещё и впопыхах написанное, поскольку time-to-market, - сущее мучение.
Добавить к этому раздоблайство с типизацией, с количеством передаваемых параметров, отсутствие вменяемых проверок до запуска - есть все условия для создания идеального бардака.
У языков, на которых ротом разговаривают, есть иерархия знаков препинания для облегчения понимания текста. Пробел, запятая, точка с запятой, точка, абзац - обозначают разные уровни иерархии. Запятая - разделитель самых маленьких блочков, точка с запятой - блочков побольше. Точка (разделитель предложений) - блок ещё больше, а абзац (группа предложений) - самый большой блок. Уберите их - текст будет труднее понимать.
У языков программирования тоже есть подобная иерархия для облегчения чтения кода. Запятая, круглые скобки, точка с запятой, фиrурные скобки - в этой последовательности.
Так вот JS это соглашение нарушает. Поэтому читать его тяжело. А уж понимать то, что написано не тобой, да ещё и впопыхах написанное, поскольку time-to-market, - сущее мучение.
Добавить к этому раздоблайство с типизацией, с количеством передаваемых параметров, отсутствие вменяемых проверок до запуска - есть все условия для создания идеального бардака.
-
- Уже с Приветом
- Posts: 14455
- Joined: 26 May 2006 02:39
Re:
Да, думать асинхронными колбэками нужно переучиваться. Но в результате получаются эппы которые работают мгновенно, эппы с сложным отзывчивым UI, эппы которые работают офлайн и без рефреша и прочие печеньки.fruit6 wrote:Примеры выше - дикий ужас. Канает только если Вы это один раз напишете а потом, взяв бабло за работу, быстро-быстро испаритесь в тумане. Не каждому дано выйти на уровень стенкина.
Это нужно не всем и не на каждом проекте
Бога нет.
-
- Уже с Приветом
- Posts: 14455
- Joined: 26 May 2006 02:39
Re: перспективы программирования на node.js
Я и дальше его использую. Легче программистов найти. Но за нодой будушее.Komissar wrote:That is, PHP - no more?
А как дышал, как дышал!
Бога нет.
-
- Уже с Приветом
- Posts: 4195
- Joined: 27 Apr 2011 03:43
- Location: Сергели ->Chicago
Re: перспективы программирования на node.js
в поддержку стенкина скажу что нода уже заняла свою нишу, оттяпав кусок у php, питона, руби и прочих скриптовых.
многие БД, в том числе NoSQL даже наваяли драйверы под ноду и это о чем то говорит.
специалист с нодой в резюме без работы не останется уже сейчас.
идея сделать сервер на js была революционной и сделала свое дело.
но я думаю, что именно js как раз и не даcт подняться node на высоты.
так и останется в нише стартапов и быстрых поделок.
многие БД, в том числе NoSQL даже наваяли драйверы под ноду и это о чем то говорит.
специалист с нодой в резюме без работы не останется уже сейчас.
идея сделать сервер на js была революционной и сделала свое дело.
но я думаю, что именно js как раз и не даcт подняться node на высоты.
так и останется в нише стартапов и быстрых поделок.
-
- Уже с Приветом
- Posts: 4207
- Joined: 10 Jan 2004 01:22
- Location: n-sk -> MD -> VA
-
- Новичок
- Posts: 43
- Joined: 03 Aug 2013 09:22
- Location: Bryansk, Russia
Re: перспективы программирования на node.js
Я лично пока не стал переключаться на 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 разработчика днем с огнем не сыщешь.
-
- Уже с Приветом
- Posts: 131
- Joined: 03 Apr 2015 17:21
Re: перспективы программирования на node.js
Вспомнилось: "Один мальчик писал все на JavaScript, и клиент, и сервер, говорил что нравится, удобно, читабельно. Потом его в дурку забрали, конечно."
Я закуриваю, только когда выпью. А выпиваю я беспрерывно. Поэтому многие ошибочно думают, что я курю.
-
- Уже с Приветом
- Posts: 736
- Joined: 30 Mar 2006 09:08
- Location: Arch Linux world
Re: перспективы программирования на node.js
Да на любой платформе сделать асинхронный сервер не бог весть какая проблема. Давеча писал подобное на С (sockets/epoll).
Для руби есть EventMachine https://github.com/eventmachine/eventmachine/wiki
Для руби есть EventMachine https://github.com/eventmachine/eventmachine/wiki
-
- Уже с Приветом
- Posts: 4207
- Joined: 10 Jan 2004 01:22
- Location: n-sk -> MD -> VA
Re: Re:
stenking, вы не в курсе что то что Вы описали есть основы работы десктоп аппов, или пытаетесь выдать за новье??stenking wrote:Да, думать асинхронными колбэками нужно переучиваться. Но в результате получаются эппы которые работают мгновенно, эппы с сложным отзывчивым UI, эппы которые работают офлайн и без рефреша и прочие печеньки.fruit6 wrote:Примеры выше - дикий ужас. Канает только если Вы это один раз напишете а потом, взяв бабло за работу, быстро-быстро испаритесь в тумане. Не каждому дано выйти на уровень стенкина.
Это нужно не всем и не на каждом проекте
Я, кстати, заметил что недавние студенты специализирующиеся на жабаскрипте зачастую не знают никаких backend технологий, даже пхп. про жабу я вообще молчу. Это, безусловно, радостная новость для многих из нас.