mailinfo.ru - Новости

«Война браузеров» вокруг JavaScript может расколоть Веб 2.0...»

8 сентября 2006

Если случится апокалипсис, то все мы будем вспоминать его начало в феврале 2005 г., когда появился картографический веб-сервис Google Maps и возник термин Ajax. После этого интерактивные веб-приложения нового поколения стали чрезвычайно модными. Принято считать, что комбинация JavaScript, DHTML и CSS буквально вдохнула новую жизнь во Всемирную паутину и вывела Веб 1.0 на следующую стадию своего развития: появился Веб 2.0.

Старый добрый JavaScript неожиданно вошел в число самых модных и актуальных технологий. Более того, люди начали с серьезным выражением лица говорить, например, о профессии «JavaScript-разработчик». Эта новая мода может привести к большой беде, пишет Райан Стюарт (Ryan Stewart), разработчик интерактивных веб-приложений и владелец консалтинговой компании в этой области.

Гипотетический апокалипсис может развиваться по следующему сценарию. Осенью 2006 г. ассоциация ECMA выпускает четвертую версию спецификаций ECMAScript (кстати, это действительно должно скоро произойти) и на свет появляется новый, усовершенствованный JavaScript 2.0 с расширенным функционалом. Единственным браузером, который полностью поддерживает новые спецификации, является Firefox. Корпорация Microsoft решает внести собственные маленькие усовершенствования в JavaScript 2.0, которые поддерживаются только в IE7. Проблема в том, что теперь нужно переделывать все созданные до этого Ajax-приложения. Возникает полный хаос и неразбериха. Разработчики приложений Веб 2.0 получают тысячи писем от возмущенных пользователей с вопросами вроде «Почему ваша страница не работает с моим интернетом?».

Конечно, вышеприведенный сценарий выглядит не очень реалистично, но он указывает на реальную проблему современных веб-приложений Веб 2.0. Большинство из них слишком сильно зависят от единственной технологии, коей является JavaScript. В условиях разгорающейся войны браузеров (с выходом IE7 война начнется в полную силу) это представляет опасность. Один только взгляд на список существующих диалектов ECMAScript уже вызывает смутные опасения. Там видно, что в браузерах на движках Gecko используется диалект JavaScript 1.6, а в браузере Internet Explorer — диалект JScript 5.6, а в некоторых других программах используются другие диалекты. JavaScript 1.6 и JScript 5.6 основаны на спецификациях ECMA-262 revision 3 (третья версия, принятая в 1999 г.). Но кто гарантирует, что четвертая версия спецификаций будет обратно совместима с многочисленными диалектами? Если совместимости не будет, то вышеописанный сценарий вполне может начать воплощаться в жизнь.

Конкуренция в мире браузеров серьезно нарастает, а с выходом IE7 на этом рынке будет как никогда горячо. «Битвы стандартов» практически обеспечены. Легко представить, что создатели IE7 и Firefox реализуют у себя различные версии JavaScript, которые будут привязывать веб-разработчиков к той или иной платформе. Нечто подобное уже было в прошлом.

В качестве решения проблемы Райан Стюарт предлагает разработчикам использовать платформу Flex и язык ActionScript 3, самый функциональный из диалектов ECMAScript. В отличие от создателей браузеров, компания Adobe гарантирует обратную совместимость всех последующих версий Flash Player, так что созданный однажды сайт будет доступен всегда, независимо от изменений в браузерах.