С чего начать изучение node js

Веб-разработка – с чего начать?

Недавно на сайте stack overflow увидел вопрос, в котором программист C++ спрашивал, что нужно начать изучать для того чтобы впоследствии стать веб-разработчиком. С его слов он начал с изучения php, но по совету знакомых переключился на яву, в какой-то момент открыл для себя ангуляр, в итоге в голове у него образовалась каша, и понимания в какую сторону двигаться не было. Именно для людей, которые только что пришли в веб я и решил поделиться это статьей, чтобы у них было примерное понимание, что тут есть.

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

Бекэнд

Бекэнд — серверная часть приложения, которая не видна пользователям. Сюда относится: авторизация, хранение и обработка данных, email рассылки и тому подобное. Скажем так бекэнд это то, что под капотом.

Языков программирования тут множество, вот самые распространенные из них:

• Php
• Asp net
• Java
• Python
• Ruby
• Node js

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

Сервер во многом используется для работы с данными. Поэтому нужно будет выучить как минимум бы одну из реляционных баз данных:

• Oracle
• MSSQL
• MYSQL
• Postgres

По сложности это примерно тоже, что и освоить язык программирования. Во всех перечисленных БД есть часть, которая одинакова везде – так называемый sql (язык запросов), а так же процедурный язык который в каждой базе свой. Так как sql все-таки един, а он основа всему, что связано с обработкой данных, то переход на другую базу данных, не является такой уж и проблемой. Поэтому выбрать для начала можно любую, но и тут бы я пошел по принципу анализа вакансий.

Лично я ставлю плюс в сторону изучения бекенда, так как навыки тут более статичны и изучив, что-то единожды вы сможете проработать на этом длительное время.

Фронтэнд

Фронтэнд – часть, работающая в браузере с которой непосредственно взаимодействует пользователь. Это динамические интерфейсы, меню, события по действию пользователя обмен данными с серверной частью, в общем, то, что происходит на клиенте.

Язык программирования тут один javascript. С одной стороны это несомненный плюс, так как после его изучения вам будут открыты все компании в вашем городе, которые занимаются веб разработкой, а сейчас этим занимаются многие. С другой стороны есть нюансы.

JavaScript на текущий момент времени имеет два стандарта, которые широко используются: ECMAScript 5 и ECMAScript 6. Разница между ними состоит в том, что в ECMAScript 5 отсутствует полноценное ОПП. В ECMAScript 6 оно есть, но поскольку этот стандарт появился относительно недавно, уже большая часть приложений написана на ECMAScript 5, в результате чего нужно будет освоить оба стандарта и как следствие два разных подхода к разработке.

Еще один момент, который нужно учитывать это то что один и тот же код, написанный на javascript может по- разному отрабатывать в разных браузерах и на разных ОС. С текущими требованиями к приложениям как правильно нужно будет писать так называемый кроссбраузерный код, то есть код, результат выполнения которого будет давать везде один и тот же результат. Конкретного манула по написанию такого кода нет, в этом случае в помощь вам форумы и окей гугл.

Описанные мною проблемные моменты решены в современных js фреймворках (например в таких как ангуляр и реакт). Но в проектах, которые написаны без использования фреймворков эти моменты остаются.

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

Фулстек

Уже из названия должно быть понятно, что данный тип разработчиков занимается разработкой обоих частей. Пытаться стать таким разработчиком не советую, поскольку выучить все мозгов не хватит в любом случае, да и большинство компаний уже пошли по пути разделения труда. Однако фулстек это то с чего нужно начать, чтобы сделать шаг в сторону бекенда или фронэнда. Разработав пару небольших приложений, вы поймете между ними разницу (а она действительно есть) и сможете определиться, какая из сторон вам ближе.

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

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

С чего начать изучать Node.js?

Привет!
С чего начать изучать Node.js, посоветуйте курсы, уроки или может вы дадите свой совет?

PS актуален ли скринкаст проекта learnJavaScript?

  • Вопрос задан более трёх лет назад
  • 411 просмотров

Простой 10 комментариев

  • Facebook
  • Вконтакте
  • Twitter

dima9595

SerafimArts

dima9595

alex-1917

SerafimArts

Я думаю, что автора в данном вопросе интересует экосистема. Ну, например, про express вроде как в офф доке не написано, но при этом это может являться частью стека и хорошо бы о его существовании знать. И прочее.

Node.js: что это и как изучить технологию?

Юрий Кучма - Директор по BackEnd программам

Это говорит об актуальности и востребованности изучения технологии Node.js.

Как изучить Node.js? 4 практических совета

1. Бесплатные онлайн уроки по Node.js

  • YouTube-каналах,
  • торрент-трекерах,
  • на сайтах IT-направленности.
  • материал часто устаревший и достаточно поверхностный,
  • актуальные знания находятся только в англоязычных материалах, а значит, вам потребуется неплохое знание английского языка.

СОВЕТ: чтобы найти актуальную информацию – поищите в интернете форумы IT-специалистов с комнатами “Node.js” или группы в Telegram. В них можно читать ранние переписки и задавать вопросы участникам, чтобы находить ответы на любые вопросы.

Юрий Кучма

2. Онлайн курсы по Node.js в интернете

  • более актуальная информация, поскольку авторы следят за своими курсами;
  • есть курсы на русском языке, но все же лучше учиться по англоязычным материалам.
  • нужно много гуглить, поскольку в каждом курсе есть “слепые зоны” – отсутствие информации, которую автор посчитал “слишком элементарной” и т.д.;
  • нужно понимать английский язык.

3. Книги по Node.js

  • актуальная информация, поскольку книги постоянно переиздаются;
  • информация в книгах подается комплексно, что улучшает восприятие;
  • недорогая цена, по сравнению с курсами.
  • в некоторых книгах разбирают примеры кода слишком мало;
  • “механический” перевод с английского на русский некоторых книг портит впечатление. На первых порах тонкости перевода будут не сильно заметны, но чем больше вы будете узнавать, тем чаще вам будут советовать англоязычную литературу.
“Веб-разработка с применением Node и Express. Полноценное использование стека JavaScript” 2-е издание, автор Итан Браун.

Node.js книги: Веб-разработка с применением Node и Express

  • Шаблонизация
  • Маршрутизация и промежуточное ПО
  • Работа с основными базами данных: MongoDB и PostgreSQL.
  • Аутентификация и авторизация в приложении.
Node.js в действии. Второе издание

Книга Node.js в действии

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

“Разработка веб-приложений с помощью Node.js, MongoDB и Angular: исчерпывающее руководство по использованию стека MEAN”

Node.js книги: разработка веб приложений с Node, MondoDB. Angular

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

4. Онлайн-курсы FULLSTACK в GoIT

  • 1️⃣ Под руководством опытных менторов вы овладеете нужными навыками в 3 раза быстрее, чем в процессе самообучения.
  • 2️⃣ Курсы – это систематизированная программа обучения, которая не даст вам заблудиться в лабиринтах информации мира IT. Информация ежемесячно обновляется.
  • 3️⃣ Благодаря собственной методологии обучения в GoIT, вы выпускаетесь практиком, способным решать рабочие задачи.

Юрий Кучма - Директор по BackEnd программам

Статьи по теме:

Разница между Float и Flexbox

Разница между Float и Flexbox

Интервью с Ярославом Вовченко

Интервью с Ярославом Вовченко

ТОП-3 нетехнических IT-профессий будущего

ТОП-3 востребованных IT-профессий без программирования

Хотите получать статьи на почту?

Киев, ул. Е.Коновальца, 36

rassroch Logo

monobank Logo

  • Политика конфиденциальности
  • Отказ от ответственности
  • Соглашение с рассылкой
  • Наши вакансии

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

Личная информация Членов, собранная при регистрации (или в любое другое время) преимущественно используется для подготовки Продуктов или Услуг в соответствии с Вашими потребностями. Ваша информация не будет передана или продана третьим сторонам. Однако мы можем частично раскрывать личную информацию в особых случаях, описанных в «Согласии с рассылкой»

Какие данные собираются на сайте

При добровольной регистрации на получение рассылки вы отправляете свое Имя и E-mail через форму регистрации.

С какой целью собираются эти данные

Имя используется для обращения лично к вам, а ваш e-mail для отправки вам писем рассылок, новостей, полезных материалов, коммерческих предложений.

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

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

Пользователь соглашается с тем, что все возможные споры будут разрешаться по нормам права.

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

Заполняя форму на нашем сайте — вы соглашаетесь с нашей политикой конфиденциальности. Также вы соглашаетесь с тем, что мы имеем право разглашать ваши личные данные в следующих случаях:

1) С Вашего согласия: Во всех остальных случаях перед передачей информации о Вас третьим сторонам наша Компания обязуется получить Ваше явное согласие. Например, наша Компания может реализовывать совместное предложение или конкурс с третьей стороной, тогда мы попросим у Вас разрешение на совместное использование Вашей личной информации с третьей стороной.

2) Компаниям, работающим от нашего лица: Мы сотрудничаем с другими компаниями, выполняющими от нашего лица функции бизнес поддержки, в связи с чем Ваша личная информация может быть частично раскрыта. Мы требуем, чтобы такие компании использовали информацию только в целях предоставления услуг по договору; им запрещается передавать данную информацию другим сторонам в ситуациях, отличных от случаев, когда это вызвано необходимостью предоставления оговоренных услуг. Примеры функций бизнес поддержки: выполнение заказов, реализация заявок, выдача призов и бонусов, проведение опросов среди клиентов и управление информационными системами. Мы также раскрываем обобщенную неперсонифицированную информацию при выборе поставщиков услуг.

3) Дочерним и совместным предприятиям: Под дочерним или совместным предприятием понимается организация, не менее 50% долевого участия которой принадлежит Компании. При передаче Вашей информации партнеру по дочернему или совместному предприятию наша Компания требует не разглашать данную информацию другим сторонам в маркетинговых целях и не использовать Вашу информацию каким-либо путем, противоречащим Вашему выбору. Если Вы указали, что не хотите получать от нашей Компании какие-либо маркетинговые материалы, то мы не будем передавать Вашу информацию своим партнерам по дочерним и совместным предприятиям для маркетинговых целей.

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

5) При передаче контроля над предприятием: Наша Компания оставляет за собой право передавать Ваши анкетные данные в связи с полной или частичной продажей или трансфертом нашего предприятия или его активов. При продаже или трансферте бизнеса наша Компания предоставит Вам возможность отказаться от передачи информации о себе. В некоторых случаях это может означать, что новая организация не сможет далее предоставлять Вам услуги или продукты, ранее предоставляемые нашей Компанией.

6) При проведении мероприятий: Заполняя анкету участника на како-либо событие Компании, мы можем делиться Вашими данными с другими участниками. Это делается для удобства коммуникации между участниками мероприятия. Эти данные не будут переданы лицам, которые не являются участниками мероприятия, и которые не соответствуют пунктам в разделе «Согласие с рассылкой».

7) Правоохранительным органам: Наша Компания может без Вашего на то согласия раскрывать персональную информацию третьим сторонам по любой из следующих причин: во избежание нарушений закона, нормативных правовых актов или постановлений суда; участие в правительственных расследованиях; помощь в предотвращении мошенничества; а также укрепление или защита прав Компании или ее дочерних предприятий.

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *