TL;DR
Моя цель - научиться писать бэк-энд на Node.js.
Документация показалась слишком неструктурированной для того,чтобы использовать ее как туториал. Буду благодарен за советы по ресурсам, стратегиям изучения Node.js и Express.js.
Всем привет!
Очень хочется получить полезные и подробные ответы, поэтому постараюсь максимально уточнить свой вопрос.
Идея использования JS и на фронте, и на бэке мне очень нравится,поэтому хочу посвятить время изучению Node.js и в качестве фреймворка,видимо, все-таки Express.js.
Есть определенный опыт с Javascript, поэтому незнание языка ограничивающим фактором стать не должно. Увы, нет опыта работы с какими-либо фреймворками (заигрывал с Django,но полгода назад показался сложным - решил развиваться в сфере JS)
1) Прочитал весь вводный материал по Node/Express и вообще бэк-энду на MDN.
Здорово написано,но очень мало, и большая часть в общем-то ничему новому не научила.
2) Внимательно изучил типичные рекомендации на reddit,quora,stackoverflow и,собственно, тостере.
С учебниками по node.js,как я понял,связываться смысла нет вообще - большая часть времени уйдет не на то,чтобы вникнуть в суть, а на поиск устаревшего модуля или опечатки автора.
Активно рекомендуют курс learnyounode от nodeschool, выполнил первые задания,но сложилось такое ощущение, что это нечто вроде codecademy - выполнить задания просто,но общего понимания, как писать реальные приложения не появляется.
Прочитал короткие туториалы по ноде во всяких блогах,но там дальше установки node,npm,express и hello world дело не идет.
Ещё одна популярная рекомендация - читать документацию. Окей, открыл, но,честно говоря,никак не представляю, как вообще можно научиться чему-нибудь таким образом.
Доки MDN, React,Vue,Django обожаю, с ними действительно не нужны особо другие источники. Совсем другая ситуация с нодой.
Посоветуйте источники, которые помогут в кратчайшие сроки "встать на ноги" и начать писать приложения. И да, источники на русском языке не рассматриваю категорически (так как английский для меня практически второй родной, никогда не было необходимости читать на русском, да и какой в этом смысл)
Я помню с похожим сталкивался, везде только какую-то часть объесняют, а целой картины как-то не получается.
Поэтому советую сделать просто какой-то небольшой проект и нужную информацию и теорию читать по мере надобности.
Ваша проблема не в ноде, а в недостатке опыта в бекенде и проектировании как таковых. Язык, базовый сервер не так важны, и на данном этапе, возможно зря отказались от django.
Доки MDN, React,Vue,Django обожаю, с ними действительно не нужны особо другие источники. Совсем другая ситуация с нодой.
В django уже реализовано многое из коробки, а на express вы сами должны писать/собирать свое django, отсюда разница в документации. Т.е. это более низкоуровневый инструмент, отсюда ваши сложности. Берите более "жирный" фреймворк поверх экспресса, или сначала реализуйте достаточно большой бекенд на django.
При такой постановке вопроса лучше всего начать с прочтения и реализации примеров, естественно, книги Веб-разработка с применением Node и Express. А дальше раберёшься, тем более что советов уже накидали.
книга неплохая, но довольно древняя (2014 года, а "Питер" - слоупок со своим переводом). по ходу "прохождения" приходится многое заменять и переделывать. масса использованных в ней модулей и технологий больше не используется и не поддерживается, о чем пишет и сам автор на своем гитхабе, но ни книгу ни код к ней не обновляет.
Хороших книг с самыми современными веяниями в данной теме нет и не может быть. Слишком быстро всё меняется. Эта же даёт отличный старт и фундамент. Времени на её прочтение уйдёт минимум. Дальше можно уже экспериментировать. Если же сразу полезть в дебри последних веяний, легко запутаться.
Артём Токаревских: каждый год выходит несколько новых книг по актуальным темам, в том числе и по Node.js и Express.js. И среди них всегда найдется что-то неплохое, например "Express in action" (Evan M. Hahn, 2016)
Образование как самоцель не выход, нужно учится для чего то, зачем я иду в автошколу? чтобы научится ездить на машине, зачем я учу иностранный язык? чтобы это помогло мне продвинуться по карьерной лестнице, вот у меня также было, хотел изучить web программирование но пока не поставил себе цель написать проект(в моем случае knam.kz, я потом кстати умудрился его продать) ничего у меня не выходило, но как поставил себе цель сделать такой сервис так и пошло поехало...
Если только читать, но ничего не делать, то каша в голове будет всегда. Возьмите какую-нибудь идею и реализуйте ее на express + mongodb. Сразу все встанет на место. Когда по ходу дела будут появляться вопросы, тогда и нужно читать документацию.
MichaelHall: там не так много нового появилось. Вам нужно понять один принцип - нода это жаваскрипт на сервере. Больших отличий нет. Модули есть на npmjs.org. Нашли модуль, почитали описание, посмотрели исходники на гитхабе.