<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>JavaScript Academy</title><author><name>JavaScript Academy</name></author><id>https://teletype.in/atom/javascript_academy</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/javascript_academy?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@javascript_academy?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=javascript_academy"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/javascript_academy?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-13T10:36:24.566Z</updated><entry><id>javascript_academy:UhOsf5KBZ</id><link rel="alternate" type="text/html" href="https://teletype.in/@javascript_academy/UhOsf5KBZ?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=javascript_academy"></link><title>Webpack: сборка JS-модулей</title><published>2020-04-11T11:26:41.733Z</published><updated>2020-04-11T11:26:41.733Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/86/22/8622d4d2-68f4-4aa0-a700-44f161810685.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://teletype.in/files/05/a8/05a884fb-c6eb-43b4-9a9b-94c9e7d6dad0.png&quot;&gt;Всем привет! Как и обещали, выпускаем небольшую вводную статью по сборке JS-проекта с помощью Webpack.</summary><content type="html">
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/05/a8/05a884fb-c6eb-43b4-9a9b-94c9e7d6dad0.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Всем привет! Как и обещали, выпускаем небольшую вводную статью по сборке JS-проекта с помощью Webpack.&lt;/p&gt;
  &lt;h2&gt;Что такое Webpack&lt;/h2&gt;
  &lt;p&gt;Если кратко, то это сборщик проектов, который занимается различными оптимизационными для загрузки работами (в частности - минимизацией кода, то есть удалением из него всех пробелов, заменой длинных имён переменных на более короткие и так далее). Однако помимо очень важной для пользователя уменьшенного времени загрузки скрипта, он предоставляет разработчику более более приятный опыт написания кода.&lt;/p&gt;
  &lt;h2&gt;Пример удобства Webpack&lt;/h2&gt;
  &lt;p&gt;Создадим простой проект с незамысловатой структурой.&lt;/p&gt;
  &lt;figure class=&quot;m_custom&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/14/6c/146c83c8-7edf-4a21-ac94-e0b807db767b.png&quot; width=&quot;203&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Допустим, мы хотим создать класс Card, который будет иметь некоторые поля и пару удобных методов, а далее мы будем использовать его в &lt;code&gt;main.js&lt;/code&gt; . Безусловно, создадим мы файл с этим классом в папке &lt;code&gt;js&lt;/code&gt; .&lt;/p&gt;
  &lt;p&gt;Ниже представлено то, как выглядит этот файл:&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/1f/32/1f32a9e2-117a-436c-88db-4602123e6e5a.png&quot; width=&quot;867&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Вот так выглядит &lt;code&gt;index.html&lt;/code&gt;:&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/5c/dc/5cdc2965-c328-4316-b2d1-d6049bc4ba5e.png&quot; width=&quot;1124&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Содержимое файла &lt;code&gt;main.js&lt;/code&gt;:&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/b4/c9/b4c95b82-4f7c-40c5-a7b4-edf69234bc2b.png&quot; width=&quot;1669&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;В &lt;code&gt;index.css&lt;/code&gt; пропишем следующие стили:&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/4c/37/4c371b1d-0e34-45ef-a1e5-0ebddae765bc.png&quot; width=&quot;750&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Вся логика достаточно проста: мы создаём экземпляр класса Card, получаем его HTML-представление и вставляем его в документ, к которому будет подключен скрипт. Тут и начинаются первые проблемы. Если мы подключим файлы так, как показано ниже, то произойдёт ошибка.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/e1/38/e138e5c0-379a-486b-b246-b0c66ac139be.png&quot; width=&quot;952&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Так выглядит само сообщение об ошибке:&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/d6/67/d667a3c8-f348-468f-95ca-e84e6bd2f79b.png&quot; width=&quot;558&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Ошибка заключается в том, что класс Card, который мы используем в файле &lt;code&gt;main.js&lt;/code&gt;, находится в файле &lt;code&gt;card.js&lt;/code&gt;, который мы добавляем в тэге script позже. Собственно из-за того, что мы используем ещё не определённый класс Card в &lt;code&gt;main.js&lt;/code&gt; и происходит ошибка. Если мы поменяем местами импорты этих файлов, то всё заработает.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/07/ab/07abf8a6-f43c-41c3-970f-54d952a9ddd7.png&quot; width=&quot;1306&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;/p&gt;
  &lt;p&gt;А теперь просто вдумайтесь, насколько же трудно было бы следить за порядком файлов в реальном проекте, даже представить трудно, не так ли?&lt;/p&gt;
  &lt;p&gt;Теперь посмотрим, как &lt;strong&gt;Webpack&lt;/strong&gt; подходит к процессу сборки JS-проектов.&lt;/p&gt;
  &lt;p&gt;Для начала, необходимо проинициализировать &lt;em&gt;node package manager&lt;/em&gt; в корневой директории проекта. Для этого достаточно ввести следующую команду в командной строке &lt;code&gt;npm init -y&lt;/code&gt;.&lt;/p&gt;
  &lt;p&gt;Далее необходимо ввести такую команду: &lt;code&gt;npm i webpack webpack-cli -D&lt;/code&gt; . Отлично, у нас всё готово для продолжения работы.&lt;/p&gt;
  &lt;p&gt;Теперь необходимо создать файл-конфигурацию для Webpack, создать её нужно также в корневой директории проекта. &lt;strong&gt;ВАЖНО!!!&lt;/strong&gt; Он обязательно должен иметь название &lt;code&gt;webpack.config.js&lt;/code&gt; . Ниже можете видеть его содержимое, сейчас мы кратко пройдёмся по тому, за что отвечает каждый ключ в объекте конфигурации.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/4d/df/4ddfa77c-868d-4475-bec1-be05ba5394ea.png&quot; width=&quot;802&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Во-первых, &lt;code&gt;path&lt;/code&gt; – модуль из среды исполнения &lt;strong&gt;JS&lt;/strong&gt; на сервере, &lt;strong&gt;Node.js&lt;/strong&gt;. Он нужен для работы с файловой системой. Ключ &lt;code&gt;entry&lt;/code&gt; , как можно догадаться по названию, обозначает путь до входного файла, то есть до файла, с которого Webpack начнёт сборку проекта.&lt;/p&gt;
  &lt;p&gt;В ключе &lt;code&gt;output&lt;/code&gt; мы описываем, как будет называться и где будет храниться собранный файл, там есть куча возможностей настроить название с использованием генерации различных хэшей для версионирования и уникальности идентификации выходных файлов, но на этом мы не будем заострять внимание конкретно в этой статье.&lt;/p&gt;
  &lt;p&gt;Посмотрим, как нам теперь нужно модифицировать наши JS-файлы, чтобы это всё отлично работало со сборщиком.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/ae/23/ae23ea38-3993-472c-a032-abe9b666ccef.png&quot; width=&quot;941&quot; /&gt;
  &lt;/figure&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/37/36/373680d1-8ea7-4ef4-acaf-04822a889050.png&quot; width=&quot;1182&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Добавились какие-то странные ключевые слова &lt;code&gt;import&lt;/code&gt; и &lt;code&gt;export&lt;/code&gt; , заметили? Они пришли к нам вместе с возможностью сборки наших JS-файлов в один финальный бандл. Ключевое слово &lt;code&gt;export&lt;/code&gt; даёт возможность использовать нам переменную или функцию в другом файле.&lt;/p&gt;
  &lt;p&gt;Что же нам нужно, чтобы использовать их в другом файле? Нам нужно импортировать то, что мы хотим, в этот файл с помощью ключевого слова &lt;code&gt;import&lt;/code&gt;. По умолчанию, из каждого экспорта какого-либо файла создаётся объект, где каждому ключу соответствует название переменной или функции, экспортируемой с помощью ключевого слова &lt;code&gt;export&lt;/code&gt;.&lt;/p&gt;
  &lt;p&gt;Далее создадим новый npm-скрипт в файле &lt;code&gt;package.json&lt;/code&gt;.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/22/c7/22c706c2-d06c-4ab8-b179-7d994da23183.png&quot; width=&quot;911&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Отлично, сделав все эти шаги, необходимо ввести в терминал команду &lt;code&gt;npm run build&lt;/code&gt;.&lt;/p&gt;
  &lt;p&gt;После выполнения этой команды в корне проекта должна была быть создана папка &lt;code&gt;distributive&lt;/code&gt;, в которой находится файл &lt;code&gt;main.js&lt;/code&gt; .&lt;/p&gt;
  &lt;p&gt;В index.html нужно прописать в тэге скрипт путь до бандла, который нам построил Webpack.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/e9/03/e903aca7-ae84-42b1-ad3b-b50ad4321d84.png&quot; width=&quot;1108&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Теперь открываем наш файл в браузере и УРА, всё работает!&lt;/p&gt;
  &lt;p&gt;Резюмируя это всё, мы только что поняли, каким образом работает Webpack, увидели разницу между двумя подходами и осознали, насколько же удобен и лёгок для применения Webpack.&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p&gt;Статья подготовлена образовательной организацией &lt;a href=&quot;https://t.me/javascript_academy&quot; target=&quot;_blank&quot;&gt;JavaScript Academy&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>javascript_academy:DpEMvr6hc</id><link rel="alternate" type="text/html" href="https://teletype.in/@javascript_academy/DpEMvr6hc?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=javascript_academy"></link><title>Какой JS-фреймворк выбрать в 2020?</title><published>2020-03-25T11:28:02.080Z</published><updated>2020-03-28T09:27:49.926Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/37/4d/374d0348-ee85-456a-8f05-18a784b5fee3.png"></media:thumbnail><category term="javascript" label="javascript"></category><summary type="html">&lt;img src=&quot;https://teletype.in/files/b8/c9/b8c900c2-3c31-43d0-abc9-7ae3bc345cb3.png&quot;&gt;Всем привет! На канале уже совсем скоро будет материал по JS-фреймворкам, давайте же кратко пройдёмся по самым популярным из них и поймём, в чём заключаются преимущества и особенности каждого.</summary><content type="html">
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/b8/c9/b8c900c2-3c31-43d0-abc9-7ae3bc345cb3.png&quot; width=&quot;1920&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Всем привет! На канале уже совсем скоро будет материал по JS-фреймворкам, давайте же кратко пройдёмся по самым популярным из них и поймём, в чём заключаются преимущества и особенности каждого.&lt;/p&gt;
  &lt;h2&gt;&lt;strong&gt;Что такое фреймворк&lt;/strong&gt;&lt;/h2&gt;
  &lt;p&gt;Для тех, кто новичок в мире программирования, фреймворк кажется страшным словом, которое обозначает что-то сложное и непонятное. На деле же фреймворк очень похож по своей сути на библиотеку, он предоставляет какой-то готовый функционал, чтобы разработчики могли быстрее выполнять поставленные перед ними задачи. Разница, однако, есть. Фреймворк заставляет программиста придерживаться какой-то определённой структуры кода, соблюдать некоторые принципы и правила.&lt;/p&gt;
  &lt;h2&gt;Какие JS-фреймворки есть&lt;/h2&gt;
  &lt;p&gt;По сути, существует только один настоящий фреймворк для JS, это Angular. Однако так повелось, что библиотеки Vue и React тоже стали называть фреймворками. Сложно сказать почему так, но мы тоже не будем нарушать традиции :)&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;React&lt;/strong&gt;, &lt;strong&gt;Vue&lt;/strong&gt; и &lt;strong&gt;Angular&lt;/strong&gt; и являются самыми современными и популярными технологиями для написания пользовательских интерфейсов. Безусловно, появляются различные конкуренты, например, &lt;strong&gt;Ember&lt;/strong&gt; или &lt;strong&gt;Svelte&lt;/strong&gt;, которые тоже находят своих поклонников, однако сегодня мы разберём только вышеназванные (по ним больше вакансий).&lt;/p&gt;
  &lt;p&gt;Снизу представлен топ самых любимых веб-фреймворков среди разработчиков на всех языках программирования.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/ff/f0/fff0d475-c98b-4de9-9711-b1f4fb976381.png&quot; width=&quot;840&quot; /&gt;
  &lt;/figure&gt;
  &lt;h1&gt;React&lt;/h1&gt;
  &lt;p&gt;Этот &lt;strong&gt;фреймворк&lt;/strong&gt; написан командой разработчиков из &lt;strong&gt;Facebook,&lt;/strong&gt; он до сих пор активно развивается и обновляется с завидной регулярностью.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/a7/6b/a76b9905-bf65-402b-a0d3-299b1fea4944.png&quot; width=&quot;1000&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Лично мне кажется, что при написании приложений на &lt;strong&gt;React,&lt;/strong&gt; ты всё также остаёшься в мире &lt;strong&gt;JavaScript&lt;/strong&gt;, в то время как некоторые другие технологии создают некое ощущение того, что вы пишете на совершенно другом языке программирования. Несомненно, абстракции это хорошо, однако – в меру.&lt;/p&gt;
  &lt;p&gt;Пример кода, написанного c помощью &lt;strong&gt;React,&lt;/strong&gt; из моего пет-проекта:&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/c6/ac/c6acf307-3d7f-41dd-a6d7-3d1e4fe4ee8b.png&quot; width=&quot;962&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Также несомненным преимуществом React является его огромное коммьюнити, почти любая проблема, с которой вы сталкиваетесь, разрабатывая &lt;strong&gt;React-приложение&lt;/strong&gt;, уже кем-то решена на &lt;strong&gt;StackOverflow&lt;/strong&gt; или другом ресурсе.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;React&lt;/strong&gt; – мой личный выбор из всех этих трёх технологий. Он мне ближе по многим аспектам, в том числе по его модульности и расширяемости, также мне очень нравится стиль, в котором описывается отображение компонентов (JSX-синтаксис)&lt;/p&gt;
  &lt;p&gt;Совсем скоро выйдет первая статья, в которой мы рассмотрим понятие компонента в &lt;strong&gt;React.&lt;/strong&gt;&lt;/p&gt;
  &lt;h1&gt;Angular&lt;/h1&gt;
  &lt;p&gt;&lt;strong&gt;Фреймворк&lt;/strong&gt;, который разработан небезызвестной компанией &lt;strong&gt;Google&lt;/strong&gt;, обладает несхожим подходом по сравнения с &lt;strong&gt;React&lt;/strong&gt;-ом, он не даёт столько свободы в написании кода, что во многих случаях является преимуществом, так как каждый проект, написанный на &lt;strong&gt;Angular&lt;/strong&gt;, практически не отличается от другого. В отличии от модульного подхода React-а он включает в себя всё сразу &amp;quot;из коробки&amp;quot;. Хочешь сделать анимации? Тебе не нужно дополнительно ничего устанавливать. Хочешь валидировать ввод пользователя в форму? Без паники – всё уже есть.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/70/0a/700af226-9293-418f-a7c4-91c2d0865cd9.png&quot; width=&quot;1200&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Однако одним из ключевых моментов для многих будет являться тот факт, что Angular использует не &lt;strong&gt;JavaScript&lt;/strong&gt;, a &lt;strong&gt;TypeScript&lt;/strong&gt;. Для тех, кто знает TypeScript, это несомненно плюс. А вот для тех, кто сталкивается с ним впервые, – сомневаюсь.&lt;/p&gt;
  &lt;p&gt;Также можете видеть пример кода, написанного с использованием &lt;strong&gt;Angular&lt;/strong&gt;:&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/d0/b9/d0b9b6b8-2bed-4e74-b975-6f3d1957dc44.png&quot; width=&quot;1210&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Безусловно, если ваше приложение &lt;em&gt;действительно&lt;/em&gt; большое, то &lt;strong&gt;Angular&lt;/strong&gt; – отличная опция.&lt;/p&gt;
  &lt;h1&gt;Vue&lt;/h1&gt;
  &lt;p&gt;&lt;strong&gt;Vue&lt;/strong&gt; – относительно новый игрок на рынке &lt;strong&gt;JS-фреймворков&lt;/strong&gt;, однако он очень активно набирает популярность, а с выходом 3-й версии вполне может обогнать &lt;strong&gt;React.&lt;/strong&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/e9/99/e999e59a-d1b3-4117-b8a1-5a8d22d00b34.png&quot; width=&quot;1200&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Пожалуй, главным плюсом &lt;strong&gt;Vue&lt;/strong&gt; является его простота, его действительно несложно выучить, даже если ваши знания чистого &lt;strong&gt;JS&lt;/strong&gt; хромают, в этом однако заключается и главный его недостаток: он привносит в ваш код слишком много магии, её безусловно можно использовать и без понимания того, как она работает, но при возникновении какой-либо ошибки программу становится трудно отлаживать без полного понимания.&lt;/p&gt;
  &lt;p&gt;Vue был первым фреймворком на &lt;strong&gt;JS&lt;/strong&gt;, который я использовал, и скажу честно, мне нравилась его магия и возможность объединять &lt;strong&gt;JS&lt;/strong&gt;, &lt;strong&gt;HTML&lt;/strong&gt; и &lt;strong&gt;CSS&lt;/strong&gt; в едином файле с расширением &lt;code&gt;.vue&lt;/code&gt;.&lt;/p&gt;
  &lt;p&gt;Ниже можете посмотреть типичный vue-файл:&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/a4/02/a4028a25-763f-484b-9bd0-42e094434b83.png&quot; width=&quot;933&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;&lt;strong&gt;Vue&lt;/strong&gt;, как мне кажется, может понравиться многим куда больше, чем &lt;strong&gt;React&lt;/strong&gt; или &lt;strong&gt;Angular&lt;/strong&gt;, однако, к сожалению, он пока что плохо подходит для более или менее крупных проектов.&lt;/p&gt;
  &lt;h1&gt;Вывод&lt;/h1&gt;
  &lt;p&gt;Итак, мы очень кратко ознакомились с React, Angular и Vue.&lt;/p&gt;
  &lt;p&gt;Безусловно, практически всё, что можно сделать на одном из них, можно без особых усилий повторить на другом. Каждый выберет для себя тот, что ему больше придётся по душе. Ниже я оставлю ссылки на документацию каждого из них.&lt;/p&gt;
  &lt;ul&gt;
    &lt;li&gt;React: &lt;a href=&quot;https://ru.reactjs.org/docs/getting-started.html&quot; target=&quot;_blank&quot;&gt;https://ru.reactjs.org/docs/getting-started.html&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Angular: &lt;a href=&quot;https://angular.io/docs&quot; target=&quot;_blank&quot;&gt;https://angular.io/docs&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Vue: &lt;a href=&quot;https://ru.vuejs.org/index.html&quot; target=&quot;_blank&quot;&gt;https://ru.vuejs.org/index.html&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr /&gt;
  &lt;p&gt;Статья подготовлена образовательной организацией &lt;a href=&quot;https://t.me/javascript_academy&quot; target=&quot;_blank&quot;&gt;JavaScript Academy&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>javascript_academy:Njw5Do6v</id><link rel="alternate" type="text/html" href="https://teletype.in/@javascript_academy/Njw5Do6v?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=javascript_academy"></link><title>Почему именно JavaScript?</title><published>2020-03-09T17:04:28.431Z</published><updated>2020-03-09T17:04:28.431Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://teletype.in/files/7f/ef/7fef4138-92c9-4e65-ace2-69a4a1dd8224.png"></media:thumbnail><category term="javascript" label="javascript"></category><summary type="html">&lt;img src=&quot;https://teletype.in/files/a1/30/a1306b17-e3cb-4b97-8fd1-025f9cf8d363.png&quot;&gt;Всем привет! Сегодня мы поговорим с вами о том, почему JavaScript – это прекрасный выбор с заделом на будущее.</summary><content type="html">
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/a1/30/a1306b17-e3cb-4b97-8fd1-025f9cf8d363.png&quot; width=&quot;1920&quot; /&gt;
    &lt;figcaption&gt;Preview&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p&gt;Всем привет! Сегодня мы поговорим с вами о том, почему JavaScript – это прекрасный выбор с заделом на будущее.&lt;/p&gt;
  &lt;h3&gt;Рынок труда&lt;/h3&gt;
  &lt;p&gt;&lt;strong&gt;JavaScript&lt;/strong&gt; – язык программирования, который активно используется в коммерческой разработке. Практически каждая уважающая себя и своих клиентов компания имеет собственный сайт, а JavaScript используется более, чем на 90% сайтов, соответственно такой компании нужно либо заказывать разработку сайта у другой компании, либо создавать свой IT-отдел. Многие так и поступают, именно поэтому вакансий по &lt;strong&gt;JavaScript&lt;/strong&gt; на сегодняшний день такое большое количество.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/87/35/87359261-c663-4ed5-958d-c8f61ca5ce80.png&quot; width=&quot;700&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;Например, вакансий по Java существует около &lt;strong&gt;7000&lt;/strong&gt;, тогда как JavaScript более востребован у работодателей почти на &lt;strong&gt;36%&lt;/strong&gt; (&lt;strong&gt;9600&lt;/strong&gt; вакансий), что в реалиях рынка труда является очень впечатляющим показателем.&lt;/p&gt;
  &lt;p&gt;Примеры базируются на количестве заявок по вакансиям, оставленных на платформе для поиска работы HeadHunter.&lt;/p&gt;
  &lt;p&gt;Говоря о зарплатах, то будучи Junior разработчиком, вряд-ли можно рассчитывать на какие-то космические деньги (в среднем вилка составляет от &lt;strong&gt;40&lt;/strong&gt; &lt;strong&gt;до&lt;/strong&gt; &lt;strong&gt;80&lt;/strong&gt; &lt;strong&gt;тысяч рублей&lt;/strong&gt; в зависимости от компании), однако, поднимаясь на уровень выше, вы уже с лёгкостью можете претендовать на зарплату от &lt;strong&gt;100&lt;/strong&gt; &lt;strong&gt;тысяч рублей и выше&lt;/strong&gt;.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/d4/e1/d4e196b9-7a04-4ea4-891b-78a06f5bae1e.png&quot; width=&quot;509&quot; /&gt;
  &lt;/figure&gt;
  &lt;h2&gt;Что можно написать на JS&lt;/h2&gt;
  &lt;p&gt;Коротко говоря, &lt;strong&gt;ВСЁ&lt;/strong&gt;.&lt;/p&gt;
  &lt;p&gt;В современной разработке всё меньше и меньше приходится работать на низкоуровневых языках программирования по причине того, что код, написанный на них, трудно поддерживать. Все хотят лишь больше и больше абстракций. Безусловно, и сегодня нужны люди, которые могут написать кастомный аллокатор памяти (сишники поймут), но такой работы становится всё меньше.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;JavaScript&lt;/strong&gt; – современный высокоуровневый интерпретируемый язык программирования. На нём можно написать достаточно сложные вещи в очень приятном и понятном для человека декларативном стиле.&lt;/p&gt;
  &lt;p&gt;Благодаря платформе &lt;strong&gt;Node.js&lt;/strong&gt;, сегодня &lt;strong&gt;JS&lt;/strong&gt; может выполнятся не только в браузере, но и на сервере, что значительно расширило области применения этого замечательного языка программирования.&lt;/p&gt;
  &lt;h3&gt;Мобильная разработка&lt;/h3&gt;
  &lt;p&gt;Если вам захочется, вы сможете написать высокопроизводительное мобильное приложение, которое будет одновременно работать на iOS и Android. Это реализуется с помощью совершенно удивительной разработки команды Facebook &lt;strong&gt;React Native&lt;/strong&gt;. В будущем на канале будут обучающие посты и статьи по этой технологии.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/04/e8/04e87789-37b1-4c5c-b45c-fdd8287f6dab.png&quot; width=&quot;1008&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3&gt;Backend разработка&lt;/h3&gt;
  &lt;p&gt;Любите разработку серверной части мобильных приложений или сайтов? Тоже не вопрос, существует платформа &lt;strong&gt;Node.js&lt;/strong&gt;. Напишите свой API, который будет делать то, что вам только заблагорассудится.&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/be/d0/bed03adf-c4b2-4998-807f-c10410180294.png&quot; width=&quot;723&quot; /&gt;
  &lt;/figure&gt;
  &lt;h3&gt;Frontend разработка&lt;/h3&gt;
  &lt;p&gt;Может быть вы UI или UX дизайнер, и ваше призвание – это создавать пользовательские интерфейсы? Отлично, почему бы не освоить &lt;strong&gt;JS&lt;/strong&gt; и не начать претворять свои фантазии в жизнь. &lt;strong&gt;Этой теме в большинстве своём и посвящён наш канал.&lt;/strong&gt;&lt;/p&gt;
  &lt;figure class=&quot;m_column&quot;&gt;
    &lt;img src=&quot;https://teletype.in/files/bc/5c/bc5c7b42-1436-4d15-83fa-3242248470dc.png&quot; width=&quot;750&quot; /&gt;
  &lt;/figure&gt;
  &lt;p&gt;В общем, как вы уже наверное поняли, легче назвать задачу, которую нельзя решить с помощью &lt;strong&gt;JavaScript&lt;/strong&gt;, нежели наоборот.&lt;/p&gt;
  &lt;h2&gt;Итог&lt;/h2&gt;
  &lt;p&gt;&lt;strong&gt;JavaScript&lt;/strong&gt; – востребованный, популярный и очень разносторонний язык программирования, выбрав который, вы точно не прогадаете, ведь, устав от мобильной разработки, вы можете с лёгкостью перейти на веб-разработку и наоборот.&lt;/p&gt;
  &lt;p&gt;Только вот многие говорят, что JS – это плохой выбор для новичка, что лучше начать с изучения чего-то более строгого и классического.&lt;/p&gt;
  &lt;p&gt;Я так не считаю, при правильном подходе в изучении, вы быстро увидите свои первые результаты и сможете писать первые реальные проекты, брать заказы на фриланс платформах.&lt;/p&gt;
  &lt;p&gt;&lt;strong&gt;Наш канал – прекрасная возможность погрузиться в JS и всё, что с ним связано.&lt;/strong&gt;&lt;/p&gt;
  &lt;hr /&gt;
  &lt;p&gt;Статья подготовлена образовательной организацией &lt;a href=&quot;https://t.me/javascript_academy&quot; target=&quot;_blank&quot;&gt;JavaScript Academy&lt;/a&gt;&lt;/p&gt;

</content></entry></feed>