8 (800) 551-30-75

Скопировать

Бесплатно по России

info@appfox.ru

Скопировать

С 10:00 до 21:00

info@appfox.ru

Скопировать

С 10:00 до 21:00

Заполнить бриф

Онлайн заявка

info@appfox.ru

Скопировать

С 10:00 до 21:00

8 (800) 551-30-75

Скопировать

Бесплатно по России

Заполнить бриф

Онлайн заявка

#

Разработка на javascript

Редакция Appfox

Редакция Appfox

Время чтения: 14 минут

Если говорить образно, то все современные сайты держится на “трех китах” - HTML, CSS и JavaScript. HTML отвечает за каркас веб-страницы, CSS - за ее оболочку, а JavaScript придает элементам на странице динамичность. Но из всей перечисленной тройки полноценным языком программирования формально считается только JS. В нем есть переменные, классы, функции и прочие полагающиеся атрибуты. Поэтому JavaScript - обязательный и незаменимый инструмент для веб-мастера.

Зачем нужен JavaScript

В первую очередь JS отвечает за взаимодействие пользователя со страницей. Скрипты на этом языке определяют, что произойдет, если пользователь нажмет на определенную кнопку или введет данные в интерактивную форму. Кроме этого, JavaScript умеет:

  • показывать всплывающие окна;
  • проводить предварительную проверку пользовательских данных до передачи на сервер;
  • обновлять страницу в фоновом режиме через AJAX;
  • работать с cookie-файлами;
  • манипулировать html-тегами и атрибутами.

Базовое знание html пригодится не только веб-мастерам, но и другим специалистам:

  • интернет-маркетологам и seo-оптимизаторам, чтобы самостоятельно добавлять готовые скрипты на сайт и находить возможные ошибки в коде;
  • бизнес-аналитикам, чтобы проводить аудит сайтов;
  • всем владельцам интернет-ресурсов, чтобы следить за состоянием площадки и оперативно вносить изменения (или обращаться к программистам).

Преимущества языка

#
  1. Универсальность использования.

Код JavaScript без проблем интерпретируется любыми браузерами. Результат интерпретации не зависит от платформы. Сайты на джава скрипте выглядят одинаково в Google Chrome, Safari и Opera.

  1. Понятная логика.

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

  1. Скорость загрузки данных.

Обработка кода в JavaScript частично производится клиентом (браузером). Это снижает нагрузку на сервер и ускоряет загрузку страниц.

  1. Фреймворки и расширения.

JS разработчикам доступно много готовых решений - библиотек и фреймворков - ускоряющих создание сайтов и упрощающих выполнение сложных задач.

  1. Широкий функционал.

Джава скрипт покрывает значительную часть потребностей frontend и backend веб-разработки. С его помощью можно обеспечить работу интерактивных функций как на небольшом лендинге, так и на сложном корпоративном портале.

Наряду с плюсами JS, упомянем также несколько его недостатков.

  1. Ограниченная работа с вкладками.

Из соображений безопасности JS не имеет доступа к сторонним вкладкам. Его действие ограничено текущей страницей.

  1. Невозможность загрузки файлов напрямую.

JavaScript сам по себе не умеет читать и обрабатывать файлы через браузер. Это, опять же, продиктовано требованиями безопасности. Работу со сторонними объектами поддерживает только расширение Node.js.

Отличия языков Java и JavaScript

Несмотря на названия, JavaScript и язык программирования общего назначения Java - совсем разные вещи. Путаница с именами возникла, когда “прародителя” JavaScript - язык LiveScript, планировали связать с Java. В итоге языки так и не объединили, но переименовывать JavaScript обратно тоже не стали.

JS в большей степени ассоциируется с веб-разработкой. Хоть сейчас и существуют такие инструменты, как Node.js, выводящие JavaScript за пределы браузера, язык все еще чаще применяется для создания именно сайтов. Java - более универсальный инструмент. На нем можно быстро и удобно разрабатывать полноценные десктопные программы.

Принцип работы и основные команды

В веб-разработке JavaScript неразрывно связан с html. Чтобы вставить JS скрипт на страницу, задействуется парный тег <script>. Атрибут src указывает путь к скрипту, если он хранится во внешнем файле.

Пример:

<script src="/path/to/script.js"></script>

Для скриптов, хранящихся в текущей папке, достаточно прописать краткий путь.

<script src="script.js"></script>

Небольшие скрипты можно не выносить во внешние файлы, а вставлять прямо в тело страницы. Теперь разберем несколько базовых команд JS для ввода-вывода данных.

Alert

Оператор Alert показывает пользователю запрограммированное сообщение и интерактивную кнопку “ОК”. Для демонстрации окна с приветственной надписью создадим такой небольшой файл в формате .html и откроем его через браузер.

<!DOCTYPE HTML>
<html>
<body>
  <script>
    alert('Привет, мир!');
  </script>
</body>
</html>

Результат.

#

Обычно Alert привязывается к какому-то событию на сайте - нажатию кнопки, вводу данных, времени с начала сессии и т. п.

Confirm

Команда, служащая для подтверждения того или иного действия на текущей странице. Confirm выводит на экран окно с сообщением и двумя опциями - “ОК” и “Отмена”. В зависимости от выбора пользователя, сервер получает сообщение “true” или “false” и выполняет дальнейшие условия.

Так выглядит основа команды.

<!DOCTYPE HTML>
<html>
<body>
  <script>
    confirm( 'Подпишитесь на нашу полезную рассылку');
  </script>
</body>
</html>

Окно сообщения в браузере.

#

Prompt

Оператор вызывает диалоговое окно для ввода данных. Поле ввода можно заполнить примером плейсхолдером.

Вся информация от пользователя, полученная через функцию Prompt, отправляется на сервер. В дальнейшем переданные данные могут быть использованы для выполнения внутренних задач на сайте.

<!DOCTYPE HTML>
<html>
<body>
  <script>
    prompt("Как к вам обращаться?", "Введите имя");
  </script>
</body>
</html>

Так выглядит приведенный в примере код.

#

Как работают переменные в JavaScript

Одной из основ любого объектно-ориентированного языка программирования являются переменные. JavaScript - не исключение.

В JS есть изменяемые и неизменяемые переменные. Первые задаются через оператор var. Если мы напишем строку var x = 1, переменной икс в качестве значения будет присвоена единица. Но, если в рамках того же блока (функции или кластера) в коде будет введена команда var x = 3, значение икс перепишется на тройку. Таким образом, при случайном или намеренном повторном присвоении значения в код может прорваться ошибка. В объемных кусках программы разработчик может просто не уследить за именем переменной.

Чтобы заранее предотвратить перезапись, стоит использовать оператор let. Рассмотрим разницу на примерах.

var greeter = "Hello new user";
var times = 2;

if (times > 1) {
  var greeter = "Hi Friend";
}
  
console.log(greeter);

В этом случае значение переменной greater, выводящей на экран приветственную надпись, полностью зависит от значения переменной times. Но мы можем прописать и независимый вывод.

let greeting = "Hi Friend";

if (true) {
  let greeting = "Welcome back";

  console.log(greeting); 
}

console.log(greeting);

Здесь мы выводим две отдельные фразы. При этом первая показывается всегда, а вторая - только при выполнении условия. Переменные же называются одинаково и не вступают в конфликт друг с другом.

Приведенный пример прост, и в целом не вызывает проблем. Но часто переобъявление переменной сложно отследить, и это становится критичной ошибкой. Правильный выбор параметра помогает не допустить подобных случаев.

Фреймворки JavaScript

Программисты редко сами пишут код от первой до последней строчки. Для выполнения типовых задач есть стандартизированные фреймворки. Благодаря им код получается чистым и безопасным, а разработка не тянется месяцами. Рассмотрим самые распространенные на практике продукты для JavaScript.

React.js

#

По результатам многих опросов, это самый часто используемый фреймворк в JS разработке. В первую очередь React предназначен для создания сложных пользовательских UI интерфейсов. Одна из наиболее полезных его фишек - компонентная структура. Компонент - это отдельный блок в дизайне, пригодный для повторного использования. Вторая важная особенность Реакта - возможность легкой связки JS и HTML с помощью технологии JXS. За счет JXS дизайн страницы становится максимально динамичным и гибким.

Стоит также отметить, что React прост в освоении для новичков, благодаря легкой отладке и обширному сообществу пользователей.

Vue.js

Фреймворк, легко интегрирующийся в уже готовый код. Эффекты перехода и анимации из Vue украшают сайт, при этом не перегружая его и не замедляя загрузку страниц. Как и React, Vue поддерживает JXS вызовы и модульную инкрементацию, что делает его удобным frontend-инструментом. Командная строка фреймворка (CLI) позволяет разработчикам быстро собирать готовые блоки.

Svelte

#

Один из самых быстрых для разработки фреймворков. Svelte обрабатывает код напрямую, без обращения к Document Object Module, за счет чего и добивается высоких скоростных результатов. Кроме того, Svelte обладает упрощенным синтаксисом. Команды на нем занимают меньше места. Производительность фреймворка также на высоте.

Angular

Еще один компонентный фреймворк. Продукт разработан компанией Google, она же и осуществляет поддержку. Важная “фишка” Angular - продуманный механизм зависимостей между классами, модулями, функциями и компонентами. Он помогает соблюдать чистоту кода и минимизировать ошибки. Благодаря структуре на Angular можно делать не только сайты, но и сложные корпоративные приложения.

Aurelia

#

Производительный фреймворк, эффективно работающий с памятью. За счет своей стандартизированности легко интегрируется с другими JS инструментами - например, JQuery и Bootstrap.

Ember.js

Этот фреймворк предоставляет внутренний инструмент для тестирования написанного кода, за счет чего уменьшается вероятность возникновения ошибок. В основном Ember работает на основе шаблонов, позволяющих гибко настраивать HTML и прочие форматы данных. Еще одно преимущество фреймворка - обеспечение безопасной аутентификации сайтов и веб-приложений.

Backbone.js

#

Инструмент, содержащий более 100 расширений для JavaScript. Код на Backbone совместим со всеми, в том числе мобильными, браузерами. Функции и модули на этом фреймворке выглядят компактно и “чисто”, что значительно упрощает разработку.

Заключение

JavaScript - объектно-ориентированный язык программирования, универсальный инструмент веб-разработки. Он применяется для придания динамичности элементам сайта, для вывода на экран всплывающих окон, обработки cookie-файлов и решения других задач. Разработка на JavaScript чаще всего ведется на фреймворках - библиотеках, расширяющих возможности языка и ускоряющих создание ПО. Такие инструменты, как Node.js, выводят JavaScript за пределы браузера и позволяют разрабатывать независимые десктоп-приложения для ПК и мобильных устройств.

Автор

Редакция Appfox

Редакция Appfox