4.2 Оптимизация кода
Очень часто, заглядывая в исходный код страницы можно наблюдать самые невероятные заборы из кусков совсем ненужного кода.
Появляться там он может по двум причинам.
Первая - это когда сайт делается с помощью визуальных средств разработки. Эта причина маловероятна, если сайт делали профессиональные сайтостроители, которые, как правило, достаточно хорошо знают HTML, чтобы сверстать страничку вручную, или поправить её код после визуального редактора.
Вторая причина заключается в том, что даже профессиональные верстальщики пока далеко не все уделяют должное внимание юзабилити, или попросту говоря - удобству использования своего творения в будущем. Это делается, конечно, не со злым умыслом, но факт остаётся фактом.
В качестве непонятных наворотов могут встречаться неоптимальные решения в вёрстке, большие фрагменты кода JavaScript, прописанные в коде стили элементов, брошенные обрывки кода и др.
Любой специалист по юзабилити скажет, что такое отношение к вёрстке может быть чревато долгой загрузкой страницы, что вызывает раздражение у посетителей сайта и создаёт у них неприятное впечатление от посещения сайта.
Для того, чтобы все страницы сайта были быстрее проиндексированы поисковой системой код страницы желательно иметь легче. Кроме того, у некоторых поисковых систем существует ограничение на размер кода индексируемого документа. У всех поисковых систем этот объём может быть разным - 100 - 200 Кб.
Как более дружественную для поисковых систем вёрстку, можно назвать блочную. У блочной вёрстки существуют свои незначительные недостатки, но они с лихвой окупаются более меньшим объёмом кода по сравнению с табличной. Такие странички быстрее загружаются в браузер, так как имеют объём кода на 30 - 50% меньше, чем у табличной.
5.
НАПРАВЛЕНИЕ РАЗВИТИЯ ВЕБ-ТЕХНОЛОГИЙ
Некоторые технологии связаны с интеграцией (как всегда) и методами разработки интерфейсов, которые оказывают сильнейше влияние на пользователей. Разумеется, люди не желают платить за сервис или доверять ему, если у сервиса нет надежной платформы, но они будут в сто раз радостнее расставаться с деньгами, если у сервиса имеется привлекательный интерфейс, который хотя бы выглядит удобным в работе.
5.1 Сглаживание и смягчение (Dampening)
Этот набор технологий носит множество других имен, но в общем смысле под "смягчением" мы понимаем прием, в котором смена состояния происходит постепенно, а не моментально. Этот метод используется в пользовательском интерфейсе веб-приложения, но для его реализации может понадобиться внести изменения и на стороне сервера. Самым известным примером этой технологии является метод "медленно исчезающего желтого фона" (Но в качестве другого примера мы можем привести эффект "складывания" и "раскладывания" блока страницы, когда раньше он просто быстро прятался и показывался.
Здесь на вкусы пользователя оказывает свое влияние ныне популярный iPod (чья подсветка экрана не просто включается и выключается, а делает это медленно), а также мода на медленно закрывающиеся двери в новых автомобилях.
5.2 E4X
Название этого пока еще малоизвестного стандарта ECMA расшифровывается как "ECMAscript for XML" (ECMAscript для XML). За кратким описанием скрывается очень мощная концепция: простая и удобная работа с XML в JavaScript. Сейчас J и X в AJAX не так уж хорошо уживаются вместе, уж во всяком случае - не так хорошо, как хотелось бы. E4X обещает, что связка JavaScript и XML станет более гибкой, по крайней мере на современных и мощных пользовательских клиентах. Этот стандарт уже реализован или скоро будет реализован в Flash и в Firefox.
Например, вы сможете динамически построить форму вот так:
var html = <html/>;
html.head.title = "Hello, World.";
html.body.form.@name = "hello";
html.body.form.@action = "test.php";
html.body.form.@method = "post";
html.body.form.@onclick = "return foo();";
html.body.form.input[0] = "";
html.body.form.input[0].@name = "Submit";
5.3 JSON
Почему при пересылке данных между вашими приложениями вы должны использовать технологию JSON (JavaScript Object Notation). Потому что она поддерживается множеством языков. Синтаксис прост в чтении и написании. Обмен данными и структурами данных происходит именно в том виде, в каком их понимает ваш любимый язык программирования. Несмотря на все неминуемые сравнения с другими подобными технологиями, не поддавайтесь искушению стать оголтелым фанатом или противником JSON. JSON это всего лишь удобный способ работы с данными, который к тому же хорошо ладит с XML: при необходимости вы легко можете конвертировать структуры данных из XML в JSON и обратно. Если на то пошло, существует даже технология JSON-RPC.
5.4 Старый добрый XHTML и CSS
Можете считать меня старомодным, но я полагаю, что главное в жизни - это стиль. Огромное количество сайтов до сих пор еще не перешло на стандарты, и еще меньше веб-приложений сделало это. Точно так же как корпоративные сайты стали медленно переходить на валидную верстку, то же самое будут делать и веб-приложения для внутреннего и общего потребления. В мире, где Вебом будет править Greasemonkey, продуманная и валидная структура страниц будет играть наиважнейшую роль.
6.5 Буфферизация (Buffering)
Эффект "буферизации" точно так же, как и "сглаживание", пришел в веб-приложения из обычных прикладных программ. Пользователи, пережившие эпоху сообщений "Buffering..." в RealPlayer и утомленные разглядыванием сообщения "Loading..." Flash на сайтах, снова вспомнят старые времена. Но на этот раз, пока пользователь будет скучать и грызть ногти, погрузкой данных будет заниматься JavaScript в AJAX-приложениях. Прогресс будет заключаться лишь в том, что в отличие от вчерашних страниц пользователю что-то будет показываться, пока скрипты и данные будут загружаться.
Дайте людям возможность побыстрее начать свою работу, пока оставшаяся половина ваших данных будет подгружаться в фоне. И тогда никто не сможет вас обвинить в том, что вы забыли о половине бедных несчастных американцев, которые до сих пор подключаются к Интернету по медленной телефонной линии.
