Сделает ли вас знание основ JavaScript и его основных фреймворков полноценным разработчиком? Стоит ли тратить время на изучение этого языка программирования?

JavaScript — один из самых известных языков программирования. Он существует с 1995 года, когда его создатель Брендан Эйх опубликовал его под названием Mocha. Затем он невероятно вырос в течение многих лет, а также десятилетий.

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

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

Таким образом, многие новые разработчики, а также более опытные, решают изучить JavaScript и принять его в качестве своего единственного языка для работы с полным стеком. Возможно ли это сделать в сегодняшней индустрии, или это утопия, а может и преувеличение пытаться работать только с Javascript? Давай выясним.

Что такое полный стек?

Когда мы говорим о полном стеке, мы говорим о наборе технологий, которые нам нужны для правильной обработки внешнего интерфейса, внутреннего интерфейса, базы данных и сервера полноценного и функционального веб-приложения. Например, самые известные фреймворки/технологии, используемые во фронтенде, это Bootstrap, Tailwind CSS, HTML и так далее.

В области бэкенда широко используются Laravel, Spring, Django, Flask и Ruby on Rails. Что касается базы данных, популярным выбором являются PostgreSQL и MySQL, а в области сервера лидерами являются Apache и AWS. Это все технологии, которых нет в экосистеме JavaScript. Это были лишь несколько примеров, чтобы вы могли правильно понять, о чем идет речь в статье. Теперь давайте погрузимся в ядро: JavaScript.

JavaScript для полного стека: достаточно фреймворков?

Итак, чтобы сделать full-stack разработчика с JavaScript, нужно иметь как минимум возможность работать во всех областях full-stack, а еще для этого нужен фреймворк. Итак, есть ли в JavaScript все необходимое? Ответ: почти. И всегда ли эти возможности достаточно хороши? Ответ: почти, опять же.

Если вам интересны все самые известные JavaScript-фреймворки, предлагаю вам прочитать эту статью: https://javascript.plainenglish.io/javascript-most-famous-libraries-and-framework-in-2022-90c6560f5ca4

Внешний интерфейс: проверить

Давайте начнем. Боевой конь JavaScript, как вы, наверное, знаете, — это интерфейс. Фактически, это был вариант использования, для которого он был создан. Есть самые важные фреймворки в этой области, с наибольшим количеством разработчиков. Наиболее признанными и используемыми являются, безусловно, React, Angular, Vue.js и Svelte.

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

Базовая часть: почти проверено

Да, для работы и разработки также используется JavaScript. Как это возможно? Разве JavaScript не запускается в браузере? Да, но Node.js был создан, и теперь, благодаря движку Google Chrome V8, он также работает на вашей собственной машине. Таким образом, вы можете создать свой внутренний скрипт самостоятельно, используя JavaScript и некоторые другие фреймворки, чтобы сделать процесс разработки лучше и приятнее.

Самым известным из этих фреймворков, безусловно, является Express, который позволяет вам создавать гибкий API и легко создавать маршруты. Вроде неплохо, так почему только почти чек? Поскольку JavaScript и, в частности, Node.js — это один поток, это может стать проблемой для производительности в больших проектах и ​​бэкэнд-системах. Если вы решите сделать проект с Node.js-Express, через некоторое время вам, вероятно, потребуется масштабировать его, а с этим стеком это может быть сложно. Такие языки, как Java или Go, будут масштабироваться намного проще и лучше. Так вот почему только почти проверить.

База данных: почти проверено

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

На самом деле, многие люди предпочитают работать с реляционной базой данных и интегрировать ее в свой проект на Javascript, для чего потребуется как минимум SQL, если не другие языки. Так что… да, почти чек.

Сервер: отсутствует

Чтобы сделать что-то онлайн, вам нужен сервер, на котором можно разместить ваш сайт. Наиболее известными сервисами для этой конкретной необходимости являются AWS, Google Cloud Services или Microsoft Azure. Ни один из этих сервисов не основан только на JavaScript, поэтому это поле особенно отсутствует.

Дополнительный инструмент контроля версий и управления проектами: отсутствует

Что касается контроля версий, я имею в виду что-то вроде Git, который вы можете использовать для хранения текущего статуса развития проекта и размещения его в каком-либо онлайн-сервисе, таком как Github, GitLab или BitBucket.

Что касается инструментов управления проектами, я имею в виду что-то вроде Slack, Jira или Trello, которые разработчики используют для проверки своего прогресса с точки зрения более высокого уровня. Что я имею в виду? В Git вы видите изменения в строке 54 и так далее, а в Trello вы пишете, что исправили ошибку, из-за которой приложение вылетало. Очевидно, что здесь нет JavaScript.

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

Заключение

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

Безусловно, если вы решили работать с JavaScript, несмотря на это, вы сделали отличный выбор.

Спасибо за чтение, надеюсь, вам понравилось. Пожалуйста подпишитесь.

Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Получите эксклюзивный доступ к возможностям написания и советам в нашем сообществе Discord.