Основы JavaScript простым языком

В этой статье будут описаны основные особенности языка JavaScript, а также некоторые другие технологии и…


В этой статье будут описаны основные особенности языка JavaScript, а также некоторые другие технологии и языки.

 История создания

Во времена создания языка JavaScript большой популярностью пользовался язык программирования Java. Поэтому новому языку было присвоено не изначально задуманное название “LiveScript”, а “JavaScript”. Но далее развитие пошло все же по-своему, название не сыграло своей роли в задуманной и закладываемой в него популярности Java: язык JavaScript стал самостоятельным и независимым, и даже носит сейчас уже не схожее название: ECMAScript, и с Java никак не связан.

Язык JavaScript разрабатывался для применения в браузерах. Сейчас же его применяют повсеместно (на серверах, и даже в программах стиральных машин).

 Описание

Итак, давайте разберемся, что же такое JavaScript? Это скриптовый язык. Написанная на нем программа выглядит как простой текст, и называется скриптом. Для запуска программы необходимо интерпретировать код. Этим занимаются специальные программы-интерпретаторы. Сначала код программы на JavaScript преобразуется в машинный код, оптимизируется, потом выполняется. Все это приводит к быстроте работы JavaScript. Сейчас скрипты могут выполняться на страницах прямо в браузерах, поскольку большинство основных браузеров содержат встроенный интерпретатор JavaScript.

Для лучшего понимания процесса работы языка разберем, в чем же отличие интерпретации от другого процесса – компиляции. Код программы в процессе интерпретации выполняется “как есть” программой-интерпретатором. Код программы в процессе компиляции преобразуется в машинный код и запускается, а исходный код остается у разработчика.

 Особенности

Основными отличительными особенностями JavaScript от других браузерных технологий являются:

  • Поддержка всеми основными браузерами (в них JavaScript включен изначально)
  • Полная интеграция с HTML и CSS
  • Простота выполнения простых вещей

 Возможности

Поскольку JavaScript разрабатывался для применения в браузерах, рассмотрим основные возможности, относительно этого применения:

  • Реакция на пользовательские действия
  • Работа с данными, вывод сообщений, обработка cookie
  • Вывод элементов, корректировка стилей элементов, создание HTML-тегов, и т.д.

 Ограничения

JavaScript рассматривается, как “безопасный” язык, поскольку он не допускает возможности работать с процессором и памятью (т.к. это не нужно при работе в браузере), что позволяет обезопасить пользователя от хищения данных.

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

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

  • Отправка запросов на сервер, с которого получена страница (возможно взаимодействие и с другим доменом, но уже начинают действовать ограничения безопасности).
  • Работа с файлами только в отдельной директории – “песочнице”.
  • Частичный доступ к устройствам (поддержка не во всех браузерах).
  • Нет возможности работать с операционной системой напрямую (например, невозможно читать любые файлы с жесткого диска).
  • Не предусмотрена возможность общения с другими вкладками и окнами, открытыми в браузере (за исключением тех, что открыты из одного источника самим JavaScript).

Важно отметить, что этих ограничений, конечно же, нет, если JavaScript будет использоваться не в браузерах.

 Языки поверх JavaScript

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

Рассмотрим несколько примеров таких языков:

  • TypeScript – добавляет к JavaScript типизацию данных, упрощает работу по созданию и поддержке больших систем (разрабатывается Microsoft).
  • Dart (ECMA-408) – позволяет выполнять код не только в браузере, но и в виртуальной машине вне браузера, например, на стороне сервера (разрабатывается Google).
  • CoffeeScript – разработан для придания краткости и ясности JavaScript коду (ценится у программистов Ruby).

Уже сейчас существуют такие трансляторы, которые преобразуют для текущих версий браузеров код программ, в которых используются будущие стандарты JavaScript (например, ES6, ES7). Примером такого транслятора является babeljs.

 Тенденции развития

Приступая к изучению новой области или технологии, часто интересуются ее перспективами на будущее. Учитывая широкое применение JavaScript, развитие в этой области будет. Рассмотрим некоторые области подробнее.

HTML 5

HTML 5 является эволюцией стандарта HTML. В нем были добавлены новые возможности для браузеров и новые теги.

Рассмотрим несколько примеров:

  • Проигрывание медиа-файлов без Flash
  • Поддержка в браузере встроенной базы данных, позволяющей хранить информацию на пользовательском компьютере
  • 2D и 3D-графика
  • Чтение и запись на диск в “песочнице”
  • Многозадачность

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

 ECMAScript 6

ECMAScript 5 содержит обновленную функциональность для разработки и является предвестником ECMAScript 6, в котором ожидаются изменения синтаксиса языка в сторону улучшения. К тому же, браузеры исправляют ошибки и стремятся приблизиться к стандартам, чтобы обеспечить повышение скорости исполнения для JavaScript. Все это повышает скорость и стабильность JavaScript.

Важно отметить, что оба стандарта (HTML 5 и ECMAScript 6) имеют обратную совместимость с более ранними версиями. Это позволяет нормально функционировать уже работающим приложениям. Но все же нужно заметить, что, порой, браузеры включают такие возможности, которые не до конца описаны в стандарте, и разработчики начинают их использовать. Однако, постепенно стандарт меняется и происходит корректировка браузеров под него. Следовательно, разработчикам очень важно вовремя принимать решения об использовании тех или иных “новинок”, чтобы впоследствии было меньше проблем с обратной совместимостью.

 Альтернативные технологии

Применения JavaScript бывает иногда недостаточно и используют некоторые дополнительные технологии:

  1. Плагины и расширения для браузера

Всеми современными браузерами поддерживается возможность установки дополнительных плагинов. Для их написания можно использовать как JavaScript (например, FireFox), так и язык C (например, Internet Explorer). Плагины создаются для разных целей, для проигрывания музыки, для отображения специальных форматов и т.д.

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

  1. Adobe Flash

Обычно возможностей JavaScript хватает, но там, где их недостаточно, используют Flash. Из JavaScript можно вызвать Flash и наоборот. Adobe Flash – это платформа, используемая для воспроизведения аудио и видео, а также мультимедиа-приложений на веб-страницах.

Плюсы

  • Поддержка кросс-браузерности
  • Поддержка работы с буфером обмена
  • Обеспечение возможности записать звук и видео
  • Поддержка в работе с сетевыми соединениями

Минусы

  • Поддерживается не на всех устройствах
  • Выполняется отдельно (не интегрирован с HTML-страницей)
  • Необходима установка, не поддерживается по умолчанию
  • Ограничения безопасности (но есть отличия от JavaScript)
  1. Java

Для использования языка Java и программ, написанных на этом языке, необходимо наличие на компьютере установленной виртуальной Java-машины. Java-программа, разработанная для запуска в браузере, называется апплетом. Подключение к HTML выполняется при помощи тега applet:

  • <applet code="class" codebase="/files/tutorial/intro/alt/">
  • <param name="nodes" value="50,30,70,20,40,60,80,35,65,75,85,90">
  • <param name="root" value="50">
  • </applet>

 

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

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

Плюсы

  • Подозрительные действия потребуют дополнительного контроля со стороны пользователя (подтверждения согласия, проверки подписи апплета)
  • Возможность совершать действия от лица пользователя (подобно установленной программе)

Минусы

  • Апплет выполняется отдельно, не интегрируется с веб-страницей
  • Нужно наличие виртуальной Java-машины
  • Обычно Java тяжеловесна, и требуется дополнительное время на загрузку

Выводы

Для создания полноценных хорошо работающих приложений важно освоить JavaScript, т.к. он работает практически у всех пользователей. Дополнительно можно будет изучить другие языки и технологии (например, такие, как Flash), совместимые с JavaScript. Также специальные возможности предоставляют языки, применяемые поверх JavaScript.


Оцените полезность статьи:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (2 оценок, среднее: 5,00 из 5)
Загрузка...

Ваш комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

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