MongoDB, Express.js, Angular и Node.js — полный стек для создания веб-приложения на Javascript. И стек MERN — то же самое, только с React вместо Angular.

Но что, если вы используете реляционную базу данных вместо MongoDB? Или Хапи или Коа вместо Экспресса? Или Backbone или Vue на фронтенде? Эти аббревиатуры уж точно не слетают с языка.

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

  1. Программные стеки — это только дескрипторы верхнего уровня задействованных технологий. Используете ли вы что-нибудь еще, например Redux? Розетки? Mongoose? Я использовал некоторые из этих технологий в критических частях своих приложений, но вы бы не узнали их по простому акрониму.
  2. Технологические стеки не являются дискретными, неделимыми единицами программного обеспечения. Это комбинации отдельных фреймворков, у каждого из которых есть альтернативы (и в Javascript, в частности, множество фреймворков). Вы можете добавлять что-то, убирать что-то или заменять что-то в зависимости от контекста. В этом есть большая свобода.
  3. Большая привлекательность технологических стеков, которые я обсуждал, заключается в том, что вы можете писать целые приложения от начала до конца на Javascipt. Это расширяет возможности, особенно если вы разрабатываете что-то с нуля в одиночку или в составе небольшой команды. Но у вас не всегда есть эта свобода действий. Возможно, вы работаете с устоявшейся/устаревшей кодовой базой, или Javascript может оказаться неподходящим инструментом для этой работы.

Эти моменты отчасти являются предостережением для начинающих Javascript и/или веб-разработчиков, а также для нетехнических людей, которые имеют дело с программным обеспечением — не слишком зацикливайтесь на аббревиатурах. Однако неосознанное использование этих терминов представляет собой скрытую концептуальную опасность даже для опытных разработчиков; это может ограничить мысли о технологических вариантах и ​​возможностях, лежащих в основе этих программных стеков. Возможно, я недостаточно доверяю людям.

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