Блог Vaden Pro

Все о самостоятельном создании и продвижении сайтов

JavaScript что это?

Раздел: 

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

Что такое JS?

JavaScript — это язык программирования полностью интегрированный с html и css, позволяющий решать широкий спектр задач как в фонт-энд, так и бек-энд разработке.

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

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

Для обработки скриптов используются интерпретаторы.

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

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

Скриптом называют программу написанную на JavaScript.

Что может JS?

Хоть JavaScript и не представляет широких возможностей по работе с процессором, паматью и тд Вашего компьютера, оставаясь языком программирования общего назначения, он обладает рядом черт делающих его практически незаменимым в среде веб-разработки:

  • Полная интеграция с html и css позволяет как менять оформление кода страницы по своему усмотрению, так и полноценно работать с тегами меняя саму структуру страницы через скрипты.
  • Он позволяет обрабатывать практически любые действия пользователя на странице (клики, движение курсора, нажатие клавиш).
  • При помощи AJAX мы можем взаимодействовать с серверной стороной веб-документа не осуществляя полной перезагрузки страницы. Стоит отметить, что данная технология постепенно вытесняет из обихода PHP, впрочем не на столько быстро, чтобы PHP-кодеры могли сегодня о чем-то переживать.
  • Обрабатывать cookie и тд.

Вопреки своей функциональности и многозадачности js имеет ряд ограничений, во многом связанных с обеспечением безопасности пользователей ПК:

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

Перспективы развития

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

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

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

  • С выходом в свет html5 значительно расширила функциональные возможности скриптов не только за счет появления новых тегов, а и за счет внедрения ряда технологий (поддержка многозадачности, медиафайлов без флеш, 3д графики, дополнительной базы данных браузера на стороне пользователя и тд).
  • Постоянно улучшается качество поддержки языка браузерами, он становится все быстрее и стабильнее.
  • Выход новых стандартов не меняет ситуации с поддержкой старых версий, что позволяет не переживать за судьбу уже созданных приложений.

Недостатки и преимущества Java Script

Недостатки:

  • Сложность в освоении. Да, js позволяет реализовать практически любые фантазии веб-разработчиков за адекватный промежуток времени, но до этого еще нужно дойти. Многозадачность и функциональность имеют свою цену.
  • Существуют недоработки в стандартах языка, которые могут вызвать проблемы на практике. Впрочем постепенно они устраняются с каждой новой версией языка.

Преимущества:

  • Возможность решения задач любой сложности и использования для этого подходов не требующих ничего лишнего. Другими словами если нужно сделать что-то простое и быстро, можно за 2 минуты запустить скрипт из пары строк, в то же время чем сложнее задача, тем больше возможностей для ее решения мы имеем в своем распоряжении и тем сложнее наш код.
  • Полная интеграция с кодом и оформлением страницы (html и css) делает этот язык практически незаменимым при веб-разработке.
  • Поддержка скриптов включена по умолчанию во всех популярных браузерах.