Насколько востребованы nodejs разработчики во фрилансе?
Добрый вечер.
Уже лет пять пишу сайты на php (использую yii). Последнее время стал очень активно расширять кругозор: попробовал много разных языков, фреймворков, инструментов и т.п. И стало мне печально из-за инструмента, которым я пользуюсь. Сам пых меня более чем устраивает. Из четверки самых популярных для web языков (python, ruby, javascript, php) он мне нравиться больше всех. Но уж очень слабенькая у него экосистема. Конечно, есть composer, но он не сравниться со своими аналогами из других языков.
Банальный пример: пишу сайт. для стилей использую stylus, вместо javascript - livescript. А админка написана на coffeescript. Нужно все это при деплое скомпилить, сконкатенировать и ужать. В яваскриптах для этого есть много инструментов, а в пыхе я ничего удобного не нашел. И это - не единственный пример. Просто с расширением кругозора пришел и другой взгляд на свои инструменты.
Очень мне понравился nodejs. Выглядит довольно вкусно. Тот небольшой опыт работы с ним тоже принес массу положительных эмоций. Долго ждал yii2, думал, может с его выходом что-нибудь измениться. Вот вышла бета - скачал, посмотрел: лучше чем раньше, но все равно ни то. Поэтому подумываю в качестве основного инструмента использовать nodejs.
Но останавливает один факт: количество вакансий. Посмотрел вакансии на hh.ru по моему городу. php разрабы - около 20 с зп больше 30 000. А nodejs - ни одной.
В обозримом будущем планирую переползти из офиса на фриланс. Но с тем рынком труда совсем не знаком. Подскажите, востребована ли эта платформа? Или такой дефицит вакансий только в офисе?
Буду очень благодарен за любые соображения по этому поводу.
ситуацию на рынке труда можно погуглить. При желании работой себя можно обеспечить.
Что до node.js - на рынке труда очень востребован javascript, от того серверный он или на клиенте разницы не так много. Более того, node.js может вам пригодиться для организации своей инфраструктуры и т.д. Скажем в описанном вами кейсе со сборкой статики для проекта на php вам никто не мешает поставить node.js для сборки, настроить и иметь свой профит. У меня на проектах для сборки фронтэнда всегда используется gulp/grunt + куча плагинов + livereload, и это не мешает мне писать на php. Админки я сейчас вообще стараюсь делать как single-page-apps так что тут вообще отдельное приложение целиком на js+restfull api на php.
Да и с экосистемой в php все довольно хорошо, особенно последние пару лет. Скажем я не могу сходу сказать есть ли у Composer явные минусы по сравнению с pip/bundler/bower/npm. Создавался он все же с оглядкой на все грабли, через которые прошли и pip и easy-install и npm и т.д. Думаю виной тому использование инструментов среднего качества, обратите внимание на серьезные решения аля Symfony2/Zend2/Silex.
Ну и да, расширяйте кругозор. Стало скучно писать на php - попишите на node.js. В целях обучения - сделайте какой инструмент для организации своей работы, или что еще. Когда почувствуете уверенность - найдите проект на ноде и балуйтесь. Всегда нужно пытаться привносить какое-то разнообразие в работу.
@Fesor Я бы не назвал Yii2 инструментом среднего качества. В сравнении в симвонией ничем не проигрывает. И, на мой взгляд, намного лучше зенда (я говорю про вторую версию yii).
@HaruAtari, вы не правы. Zend2 определенно лучше Yii2, другое дело что Yii2 для большинства задач хватает.
Псевдопростота Yii порождает ворох говнокода каждый день, и не дай бог вам на поддержку достанется такое вот наследие. Я не стану писать на Yii что-то сложнее интернет магазина/форума.
@Fesor а сервис? Например, сервис для SEO аналитики (пробивка позиций запроса в поисковой выдаче, формирование списка запросов на покупку, выгрузка закупленных ссылок с агрегаторов, расчет динамики изменений позиций группы запросов, отслеживание апдейтов индекса яндекса и прочее)?
@alekciy, чуть все же поясню:
я бы делал эту логику как отдельную библиотеку, не зависящую от фреймворка (только от других библиотек). И тогда вопрос "какой фреймворк" уже не стоит, ибо в итоге разницы нету. Просто этот подход проще обустроить с silex-ом. Фронтэнд для подобного сервиса я бы всеравно писал на angular.js, так что от фреймворка мне нужна только гибкость в плане разработки RESTFull сервисов (а это библиотеки JMSSerializer, stackphp и т.д.). Тот же stackphp так легко и просто интегрировать в yii не выйдет, ибо от использования HttpKernel разработчики yii отказались.
@Fesor выигрышь на сапорте кода написанного для symfony по сравнению с yii ощутим? И если Zend согласен, это java-way, то symfony мне видится ror-way, в плане "внутри какая-то магия".
Посмотрел статистику на одеск.
Жить можно, но не очень комфортно. 48 вакансий открыто сейчас на одеске.
А более менее повыбирать можно и быстро найти работу начинаю с 150-200.
nodejs
Тут скорее удаленка на каком-нибудь хайлоад-сервисе, а не фриланс. Не думаю, что какая-нибудь студия или просто заказчик будет требовать использовать nodejs, если можно обойтись фреимворком из коробки.
@HaruAtari Ну дада. Я вот плохо представляю, как вы будете рассказывать заказчику про "фреймворк, плюс разные плюшки", когда ему нужен просто магазин, да подешевле.
Очень востребованы, не далее чем 2 недели назад мой заказчик искал nodejs+angular программиста на большой проект. И это не первый раз, когда мои заказчики ищут таких спецов, а нормальных найти не могут.
Востребован, даже очень.В основном вас просят или сделать сайт на Node.JS + Express или-же по мелочи, real-time общение с основным приложением через websockets
NodeJs весьма востребован, но во многих вакансиях будет написано именно пхп - потому что кучу лет на нем делались какие-то проекты и заказчик более уверен в нем. Проекты которые нуждаются в nodejs (уходя от пхп) обычно имеют либо высокую динамичность (чаты, вебсокеты), либо высокую нагрузку (когда существующее решение на пхп уже показало себя плохо)
Я сам изначально пхп-шник (и yii-шник) и перешел сейчас на ноду, и ничем не жалею. Потенциал у нее - огромный. Пользовал node-webkit - тоже вещь прекрасная, надеюсь у нее светлое будущее, чтоб можно было использовать ее в продакшене.
Не совсем. Мне в nodejs не хватало фреймворков, которые не только предоставляют функционал, но и задают какую-то структуру проекту. В Yii из коробки есть модульность, компоненты, понятно где конфигурацию размещать и т.д. Это очень полезно, когда в проекту подключаются сторонние разработчики - они быстрее "выедут" в код.
Это не велосипед как минимум потому, что в порте я использую тот же express, mysql, redis и прочие популярные пакеты из npm.
@affka, вы видимо и не пытались найти такой фреймворк. Посмотрели бы в сторону CompoundJS, geddy, Locomotive... Хотя как по мне Express.js хватает, и проблем со структурой у него так же нету. В любом случае надеюсь вы не под чистую копируете архитектуру Yii2.
Из забавных - была попытка портировать Symfony на node.js, вместе с dependency injection и т.п.
CompoundJS - почти нет документации, geddy - интересно, с первого взгляда даже нравится, Locomotive - пишут сложность расширения..
Плюс это все server-side фреймворки, я же позиционирую как full stack.
Интересно узнать про "Symfony на node.js" - нашел в интернете только статьи когда было только начало попытки. Так а чем же закочилось? Вижу, что на гитхабе уже год нет активности. Какова была причина в том, что идея имерла?
и кстати CompoundJS и Locomotive - это фреймворки высокого уровня, основанные на express.
Express - хорошая вещь, но когда у тебя большой проект и десятки экшенов, то возникает вопрос - а куда все это девать неизвестно и каждый начинает делать свои костыли, в том числе и я в виде решении, которые потом переросли в "Jii"
@affka, причина отказа от портирования Symfony2 на node.js в отсутствии практической пользы и отсутствия интереса у сообщества я думаю. На самом деле я не вижу в этом смысла. Ровно как и писать что-то большое целиком на node.js. Нода хороша для чего-то маленького и быстрого. Скажем мне нравится на нем писать какие-то сервисные демоны по доставке сообщений, так как на нем написать что-то подобное проще чем на php. Так же на нем удобно имплементить restfull сервисы. Ну и штуки типа meteor.js любопытны.
Если же нужно писать что-то больше и чувствительное к производительности, лучше уж взять golang.
Не всегда есть возможность писать большие (или в будущем большие) проекты на go/python/java/ruby/.. - потому что программисты дорогие и их найти сложно. Программистов для пхп/жс намного легче и дешевле найти.
За мнение по симфони спасибо, я пока тоже не нахожу единомышленников, стоит задуматься.
@affka, как показывает практика, найти хорошего php-шника или js-ника, который кроме самого языка знает как его правильно использовать, ничуть не проще, чем разработчика на ruby, python... А быть может даже проще, хотя это спорный вопрос.
Честно говоря, я и сам задавался подобным вопросом, и в течение примерно месяца просматривал заказы на фрилансиме по тэгу 'node'. По факту заказов очень мало. 1-2 заказа за 4 дня. Это очень примерно, т.к. я не вел никакой статистики. И заказы были не супер. Как правило что-то доработать уже написанное на ноде, либо нужно было написать модуль на ноде к php проекту.
Вот такие пироги...
Но уверен: это временно. Через годик-другой ситуация на рынке будет очень положительная для нод разработчиов.
P.S. Посмотрел фрилансеров по этому же тэгу 'node', и на моё удивление их оказалось очень много. А это хороший знак, имхо )