JavaScript в web-разработке
Что такое JS и его особенности?
JavaScript является объектно-ориентированным языком, он имеет типы и операторы, встроенные объекты и методы. Его синтаксис происходит от языков Java и C, поэтому много конструкций из этих языков применимы и к JavaScript. Одним из ключевых отличий JavaScript является отсутствие классов, вместо этого функциональность классов осуществляется прототипами объектов. Другое главное отличие в том, что функции это объекты, в которых содержится исполняемый код и которые могут быть переданы куда-либо, как и любой другой объект. JavaScript имеет веские основания быть самым недооцененным языком программирования в мире. Зачастую JavaScript воспринимают как игрушку, но за его обманчивой простотой стоит множество возможностей. На сегодняшний день JavaScript получил настолько широкое распространение, что знание языка необходимо как веб-разработчикам, так и разработчикам мобильных платформ. Времена, когда JavaScript использовался только для добавления небольшого взаимодействия на веб-сайт, давно прошли. Новые стандарты EcmaScript теперь выпускаются каждый год, в результате чего все больше и больше полезных и мощных функций, и JavaScript теперь не только используется во frond-end разработке, а также в back-end, мобильной, настольной и IOT разработках [1].
Почему популярность JS в текущих реалиях резко растет?
Почему гиганты индустрии и огромное количество разработчиков используют его так много? Что делает этот язык таким привлекательным для многих? И почему об этом так много говорят? Многие платформы анализа данных доказывают, что это самая популярная технология в мире инженерии. Давайте начнем с GitHub. GitHub является одним из крупнейших репозиториев, который используется сегодня миллионами разработчиков. Ежегодно они публикуют аналитику о том, какие языки наиболее популярны. По данным октября GitHub в 2018 году (рис. 1), JavaScript является самым популярным языком программирования с количеством pull requests [2].
Pull request являются индикатором количество того, сколько кода написано на определенном языке. Когда дело доходит до интернета, JS всегда доминирует в технологиях, используемых в веб-разработке. Однако еще одной силой JS является его повсеместность. С 2009 года и до сегодняшнего момента, после того как вышел Node.js, JavaScript everywhere парадигма стала реальностью. Этот серверный JavaScript фреймворк позволяет унифицировать разработку веб-приложений около одного языка программирования, а не полагаться на другой язык для написания серверного кода. Пакетный менеджер NPM является крупнейшей экосистемой библиотек с открытым исходным кодом в мире. Многие известные компании, включая LinkedIn, меняют свой серверный код на Node.js. Переход на JavaScript сделал мобильное приложение LinkedIn в два-десять раз быстрее, чем раньше. Итак, причина очевидна. Он хорошо работает даже на сервере [2].
Еще одной причиной высокого использования данной технологии является ее использование многими крупными компаниями в индустрии, как Google, Facebook, Alibaba, Microsoft и др. Этот факт, несомненно, играет большую роль в его популярности. Причина, по которой эти гиганты используют JavaScript, заключается в том, что он способен обрабатывать и решать большинство задач.
Paypal, Yahoo, NetFlix, Slack, GoDaddy, например, написали свои веб-приложения полностью на JavaScript. Adblock Plus, HubSpot, LastPass и многие другие популярные браузерные расширения запускают JS script под капотом. Slack, Lightshot, Mozilla, Greasemonkey – это настольные приложения, созданные с помощью этой технологии. Например, Paypal перешел с Java на JavaScript, а Linkedin изменил серверную часть на Node.js. И Facebook всегда поддерживает технологии React и React Native, постоянно совершенствуя и развивая их.
Все эти изменения лидеров отрасли выдвигают концепцию тренда и влияния, тем самым делая JavaScript более привлекательным для других разработчиков. Поскольку они считают, что крупные ИТ-компании всегда идут к лучшему.
Недостатки языка JavaScript
Javascript очень мощный язык, в нем заложен большой потенциал. При бурно растущих веб-технологиях он может стать одним из лидеров среди языков программирования. Среда исполнения javascript кода присутствует в любом компьютере, в большинстве телефонов, да и серверное ПО можно разработать на этом замечательном языке [3].
Но язык не лишен недостатков. Наиболее значимые из них:
- Язык компилируется в момент исполнения кода. Каждый раз, когда вы открываете сайт, javascript код начинает компилироваться. Как минимум увеличивается время выполнения программы.
- Отсутствует типизация данных. Проблема всех скриптовых языков. Пока выполнение кода не дойдет до нужной строчки, не узнаешь работает ли она. А ведь значительную часть по поиску ошибок мог бы взять на себя компилятор, если бы знал типы данных, с которыми он работает. Да и по скорости выполнения, типизированный код быстрее.
- Не привычная для многих программистов объектная модель. Классы и наследование классов присутствует, но оно сильно отличается от привычной многим реализаций в языках программирования C++/C#/Java [3].
Собственный опыт
Принимаю активное участие в проекте, который предназначен для удобной работы и создания электронных таблиц. Система позволяет не только открыть файл Excel онлайн, но и создать новую таблицу эксель, редактировать её, а затем сохранить к себе на ПК. Она обладает довольно широким и схожим с MS Excel функционалом, а работа с таблицами в этой системе не создаст никаких проблем для пользователей, уже имевших ранее дело со стационарным редактором MS Excel.
Обзор аналогичных разделов
- Ковалев Данил Вадимович - Frontend разработка.
- Кисель Алексей Станиславович - Анимации средствами JavaScript.
- Болотов Александр Сергеевич - Современные способы разработки web-страниц.
Список источников
- Введение в JavaScript. [Электронный ресурс] // MDN web docs: сайт. [2019]. – Режим доступа: https://developer.mozilla.org/....
- Why is JavaScript so popular? [Электронный ресурс] //imply Technologies: сайт. [2019]. – Режим доступа: :https://www.simplytechnologies.net/....
- Что такое JavaScript?. [Электронный ресурс] // iPipe: сайт. [2019]. – Режим доступа:https://www.ipipe.ru/....