Впервые слыша название языка 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) делает этот язык практически незаменимым при веб-разработке.
- Поддержка скриптов включена по умолчанию во всех популярных браузерах.