Минусы и проблемы технологии ajax

21.07.2007

Начнем с небольшой предыстории самой технологии ajax. Не буду пересказывать википедию и другие источники, только общее замечание выскажу. Надеюсь, что все помнят, что ajax появился как будто ниоткуда. Вроде бы не было ничего, а потом бац – gmail вылез и в нем такие фенечки крутые были, которые много кому понравились.

А прикол был в том, что это была почти закрытая и не афишировавшаяся тогда фича от майкрософта. Как сейчас модно говорить “проприетарная”. О ней знать никто не знал, доки конечно были, но никто не пользовался и соответственно никому она нафик не была нужна, хотя мысль была очень и очень здравая.

И все было бы замечательно, если бы не люди, придумавшие термин Web2.0. Да и физические проблемы с повсеместным внедрением ajax в интернете. Вот на этих проблемах аякса и остановлюсь.

Номер один – браузеры

А куда без них. Та же опера до какого-то момента времени не держала POST метод передачи данных. Не потому что это плохой браузер, а по той, причине которую я уже называл – об этом никто не знал. Все помнят анекдот про неуловимого Джо, когда его не могут поймать не потому что не могут поймать физически, а потому что нафик он кому-то сдался.

Да и проблемы с тем, что в разных браузерах для воплощения одних и тех же действий надо писать совершенно разный код. И я не думаю, что от данного процесса разработчики испытывают какие-либо теплые и положительные эмоции. О IE вообще отдельный разговор, ибо эта дура мало того, что рисует не по стандартам, так еще и яваскрипт у нее не правильный.

Номер два – кодировки

Очень плавно вытекает из проблем с браузерами. По-мнению некоторых товарищей, самой правильной и единственной кодировкой в мире считается UTF-8. И пофигу что некоторая часть людей с узким разрезом глаз фактически забыта, пусть сами у себя и пишут иероглифами, а у нас майкрософт с UTF. А ведь интернету ой-ой-ой как далеко еще до стадии полного UTF’а. Это буржуям все равно, сделали сайт и назвали его UTF-совместимым, ибо у них любая буква это определенно буква из области UTF и больших моральных противоречий они по этому поводу не испытывают.

А раз начинаются национальные кодировки – начинаются проблемы совместимости и всякого рода извращения с iconv’ом при приеме и отправке данных, не всегда очевидные.

Номер три – кнопка Назад

А вот нету ее теперь. Т.е. фактически конечно каждый веб-мастер, сотворяющий что-то на аякс начинает придумывать разного рода извращения, выливающиеся в сотни колобайт javascript-кода, которые эмулируют историю браузера и как бы проблемы нет. Но посмотрим здраво – неужели теперь для каджого сайта надо будет повторять один и тот же код, что бы он нормально работал с историей. Это же насколько вырастут объемы сайтов? Хотя именно ключевой идеей аякса является не перезагрузка всей страницы, а перезагрузка имено интересующей части страницы. Вся эта идея нагло и жестко топчется трафиком яваскриптовых файлов.

Номер четыре – нет постоянных ссылок

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

А раз нет ссылки – то страницу просто нельзя сохранить. Ну захотел я почитать статью в офлайне – так что теперь – не жить мне что ли и идти ругаться с создателем сайта.

Номер пять – реклама не соответствует контенту

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

Номер шесть – еще одна дырка

Новая технология это всегда новый код. А новый код порождает новые баги и что самое главное дыры. Недавно нашли дыру в библиотеке xajax. Сам факт того, что просто в библиотеке-помощнике, которая должна просто упрощать работу с аяксом нашли дыру говорит о многом. И наводит на тяжелые мысли, типа “А что же дальше” или “Приехали”.





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

Хотя не спорю, с появлением аякса можно некоторые вещи решать очень красиво и интересно. Без перезагрузки страницы и очень быстро. Но вот только не надо превращать сайты в монстры и использовать аякс ради аякса. Аминь.


Комментирование этой статьи закрыто

Комментарии [11]

  1. Июл 23, 12:57 , Жилинский Владимир

    Грамотно. С кнопкой НАЗАД действительно проблема. На счёт поисковиков – так они тоже самое говорили и про флэш, и про JS. Но потом одумались и научились индексировать и то и другое.

    А на слове “кодировка” программисты ещё лет пять будут испытывать рвотные позывы...

  2. Июл 23, 22:47 , Dead Krolik

    Про кодировку – это пять!

  3. Июл 31, 14:17 , mk

    Ну что ж, полностью согласен. Ни добавить, ни убавить.

  4. Авг 1, 23:07 , rusik

    А вот кто знает,вдруг за аяксом будуйщее?:)

  5. Авг 2, 01:43 , Dead Krolik

    А может будущее за грязным воздухом, отдохами и смертью земли от ядовитых газов. От истощения недр и вырубки лесов %-)

  6. Авг 3, 13:56 , mandarin

    я уже недельки две воюю с явасскриптом и меня он пугает, вроде в примерах всё круто работает, а как сам начну то что-то постоянно отваливается, где-то что-то непроинициализировалось((((

  7. Авг 4, 17:34 , Dead Krolik

    Это и называется дебаг. Но никак не проблема аякса :)

  8. Авг 12, 04:54 , Nikita

    >Номер четыре – нет постоянных ссылок

    Интересно, как же тогда в Wikimapia меняется url?
    http://wikimapia.org/#lat=56.946472&lon;=24.118423&z;=11&l;=0&m;=a&v;=2&show;=/3592803/

  9. Авг 12, 21:38 , Dead Krolik

    Ну во-первых там не урл меняется, а анкор в урле. И я уже писал – есть способы эмулирования истории и урлов. Но это громадье яваскрипта. Что не есть хорошо.

  10. Сен 3, 00:07 , si-rus

    Если сильно захотеть – можно в космос полететь... Тот кто хочет ищет возможность, а кто нет – тот ищет причину...
    AJAX можно юзать везде и повсюду – и если с головой – то и проблемы не такие и страшные… Вы еще и не догадываетесь сколько проблем в разновидности AJAXa, а именно в AHAH (Асинхронный HTML и HTTP). И что теперь – не использовать его ? Кому лень голову ломать – берите готовые наработки – слава Богу таких уже хватает ...

  11. Сен 3, 00:30 , Dead Krolik

    Знаю я эту поговорку. Но тем не менее вариантов решения я так и не увидел, только слова. Да и терминов я тоже могу напридумывать, лишь бы клиентам голову надурить.

    И вашу наработку если надо возьмем. Только вы не то продаете. Надо продавать услугу перевода сайтов на ajax, а не библиотеку, ибо девелоперы люди ушлые и сами напишут что им надо.

Комментирование этой статьи закрыто

Кто я


Возраст: 23
Профессия: заяц


Категории


Полезные ссылки


Стишок

Зайчик-зайчик, скок-поскок!
Н-нна тебе дробину в бок!
Не с капустой же мы будем
Жрать на Новый год пирог...

eu-shestakov.livejournal.com