Решая не ту проблему

в 6:42, , рубрики: блоги, Веб-разработка, Клиентская оптимизация, Программирование, скорость загрузки

Время от времени я вступаю в обсуждения о том, что я писал, чтобы узнать, каковы общие настроения и не сделал ли я какую-нибудь ужасную ошибку, о которой мне просто никто не сказал. Самые неожиданные комментарии, которые я встретил, касались того, насколько быстро этот сайт загружается, ведь для большинства страниц нужно всего два запроса — один на HTML-файл и один на CSS, — в сумме меньше десяти килобайт, и что это впечатляет.

Отчасти эта скорость обусловлена удачей. Я использую виртуальный хостинг и не могу контролировать работу других сайтов на том же сервере.

Но у меня есть чёткое представление о том, как люди взаимодействуют с блогом: они его читают. Все кроме меня делают с сайтом prog21 одно и то же — они открывают страницы и читают их. Нет никакой магии в том, чтобы раздавать простые статические страницы. Что удивительно — так это то, что большинство разработчиков движков блогов решают не те проблемы.

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

(Какое-то время назад решето Эратосфена — алгоритм поиска всех простых чисел, меньших заданного, — был популярным способом проверять скорость языков программирования. Этот алгоритм хорошо подходит в качестве примера чисто вычислительной задачи, но допустим, вам потребовался список всех простых чисел, меньших 8000, для приложения, которое критично к производительности. Неужели вы будете вычислять их во время работы программы? Вы ведь их уже знаете. Вы вычислите их один раз во время разработки — и готово.)

Куки для статистики и скрипты Google Analytics? Это решает проблему владельца сайта: «Как я могу точно узнать, сколько у меня посетителей?» А читателям-то всё равно.

Виджеты Google+, Twitter и Facebook? Они вообще не решают ничьи проблемы. Вы и так можете с лёгкостью написать в твиттер. На сайтах-агрегаторах, в Google Reader и даже в выдаче поиска Google уже есть кнопка, аналогичная «like», так зачем же дублировать функциональность? Что более важно, совсем небольшое число пользователей вообще используют эти кнопки, но скрипты и картинки замедляют загрузку страниц у всех.

Автор: iley


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js