Я потратил приличное количество времени, отвечая на вопросы, опубликованные в ответ на видео группы чтения JavaScript. Вместо того, чтобы просто оставить их исчезать в потоке комментариев на YouTube, я опубликую некоторые из них здесь — — YAY MEDIUM.

Кто-то спросил:

Эй, Даниэль. Какова ваша специализация? Я изучаю JavaScript уже некоторое время, и мне было интересно, что вы думаете о «среднем» стеке, и есть ли у вас какие-либо идеи о том, как специализироваться на Node + JS?

И я ответил:

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

Однако сейчас… Меня гораздо больше заботит расширение и углубление моих базовых навыков. Это включает в себя изучение других языков (Python, C++, Clojure), по крайней мере, на уровне знакомства, в основном просто для того, чтобы понять, почему определенные решения были приняты на этом языке. Я не думаю, что JavaScript — это язык One And Final, но он является наиболее распространенным и будет им в течение следующих нескольких десятилетий, и многие из новых функций, которые он получит, взяты непосредственно из языков, перечисленных ранее.

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

Что касается стека MEAN — в нем есть 3 разные платформы, которые не обязательно предназначены для совместной работы, хотя популярность их совместного использования привела к созданию некоторых отличных склеивающих библиотек, созданных сообществом. В большинстве случаев это излишне. Если вы делаете бэкэнд API, я предпочитаю Hapi.js, а не Express. Если проект интенсивно работает с интерфейсом, я предпочитаю React (а не Angular), но сейчас существует огромное количество виртуальных DOM-библиотек.

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

Надеюсь, это поможет. Что касается изучения Node, пройдите как можно больше модулей NodeSchool.io и начните знакомиться с экосистемой Linux. SO Многие шаблоны в Node являются прямым следствием соглашений в Linux. Удачи !