Новая парадигма в веб программировании, получившая название Web 2.0, шагает по Сети «семимильными шагами». И действительно, создание сайта сегодня, предполагает качественно новые подходы в веб дизайне, в частности в вопросах связанных с разработкой средств, взаимодействия пользователя с приложением, которые с позиции функциональности и удобства использования всё ближе подходят к «настольным» программам. Не удивительно, что в текущих условиях интерес к языку программирования JavaScript стремительно растет. При разработке кода профессионального уровня на любом языке программирования, одной из наиболее важных задач является получение на выходе полностью отлаженного и не содержащего ошибок кода. В этом отношении язык JavaScript имеет очень неприятную особенность, а именно, ни одна из существующих на сегодняшний день компаний не сопровождает данный язык программирования (в отличии скажем от PHP, Perl, Java и т. д.) Такое положение вещей крайне скверным образом отражается на конечных пользователях языка – разработчиках, так как сильно осложняет формирование надёжной базы для тестирования и отладки кода сценариев. Самым доступным инструментом тестирования JavaScript кода является консоль ошибок, так как в том, или ином виде такой инструмент присутствует в любом современном браузере, однако, качество консолей разных браузеров различно.
Консоль Internet Explorer На сегодняшний день, Internet Explorer (далее IE), один из браузеров получивших наиболее широкое распространение, несмотря на это, популярность браузера не означает наличие грамотно реализованного набора инструментов для отладки сценариев JavaScript (как минимум, до восьмой версии обозревателя). Консоль ошибок IE5 – IE7, оставляет желать лучшего. К самым значительным недостаткам консоли IE5 – IE7 следует отнести следующие:
- вывод сообщений только об одной ошибке; сообщения содержат в себе мало информации, точные описания возникших ошибок появляются в описаниях чрезвычайно редко; номер строки с ошибкой указан не точно, то есть содержащая ошибку строка всегда имеет номер на единицу меньший, чем в консоли.
В IE восьмой версии встроенные средства разработчика претерпели кардинальные изменения и в данный момент по своей функциональности могут быть сравнимы с plugin’ом FireBug для браузера Firefox. Так процесс разработки и отладки динамических решений для сайтов при помощи инструментов IE8 превращается просто в праздник, что особенно заметно на фоне предыдущих «достижений» IE. В восьмой версии IE следует подчеркнуть:
- многофункциональный инструментарий веб разработчика; внятное описание ошибок script’ов; интегрированный DOM – инспектор; возможность отслеживать состояния запросов.
Несмотря на всеобщее распространение среди рядовых пользователей Сети, у профессиональных веб разработчиков IE5-IE7 имеет дурную славу. Что же касается инструментов разработчика, встроенных в IE8 им пока трудно дать адекватную оценку и как сообщество профессиональных веб разработчиков отнесётся к данному нововведению Microsoft сказать трудно. С другой стороны вполне вероятно, что если корпорация Microsoft не забросит попытки реализовать действительно стоящий продукт направленный не только на просмотр содержимого Интернет страниц, но и на создание сайтов, то вполне возможно, что через некоторое время IE сможет подвинуть даже такой колос как FireBug. Консоль Firefox Консоль отладки браузера Firefox, в том виде, в котором она существует на сегодняшний день, видится одним из лучших встроенных инструментов тестирования, качество которой отмечено сообществом JavaScript программистов. Среди множества преимуществ консоли Firefox, особо следует подчеркнуть следующие:
- Возможность вводить произвольные JavaScript команды, что помогает с лёгкостью определять текущие значения, которые имеют переменные после загрузки страницы. Консоль позволяет осуществлять сортировку сообщений по их типу (к примеру: ошибки, предупреждения и т. д.). Возможность получать информацию не только об ошибках в JavaScript коде, но и дополнительные предупреждения, связанные с ошибками и критичными неувязками в таблицах стилей.
Более того, существенным плюсом Firefox является наличие расширения DOM – инспектора, т. е. приложения позволяющего просматривать текущее (после или во время выполнения script’а) состояние HTML дерева. Особенно следует подчеркнуть, что DOM – инспектор в Firefox является именно plugin’ом, т. е. он содержится в каждом дистрибутиве Firefox, но по умолчанию не устанавливается. В качестве недостатков консоли ошибок Firefox следует выделить то, что Firefox не фильтрует ошибки, то есть не выделяет те из них, которые относятся к странице, просматриваемой в данный момент. Завершая рассмотрение консоли ошибок браузера Firefox следует сказать, что сегодня консоль ошибок Firefox является одним из лучших средств для отладки JavaScript сценариев, среди инструментов интегрированных в браузеры. Консоль Opera Консоль отладки браузера Opera может стать неожиданным открытием для разработчиков веб сайтов, которые столкнулись с ней впервые. В дополнение ко всем особенностям, которые предлагает разработчикам консоль ошибок Firefox, консоль Opera имеет ряд приятных возможностей:
- качественное и логичное описание ошибок, расширенное фрагментами JavaScript кода, отображающими то место сценария, в котором произошла ошибка; возможность осуществлять фильтрацию ошибок по типам (к примеру: JavaScript, CSS и т. д.).
Однако следует отметить, что в отличие от консоли Firefox, консоль Opera не поддерживает JavaScript – команды, эта особенность консоли Opera вызывает некоторое сожаление, так как подобная функция консоли Firefox является крайне полезной. Нужно сказать, что Opera с самого начала демонстрировала серьёзное отношение к веб разработке и претендовала на звание одного из лучших средств веб разработчика. Резюме В заключение следует сказать, что на текущий момент абсолютное большинство современных браузеров имеют качественно реализованные инструменты отладки веб приложений, причём данное высказывание касается не только Firefox и Opera, но и IE8 и выбор между ними индивидуальное дело каждого. В принципе, для первых экспериментов с JavaScript подойдёт любой из трёх вышеуказанных отладчиков. Тем более что, с ростом сложности ваших JavaScript программ вы рано или поздно, перерастёте интегрированные в браузер средства отладки, и вам в любом случае придется задуматься над расширением функциональности вашего веб браузера, путём установки plugin’а, которым может стать Firebug или подобный ему.