Как сделать Интернет быстрее? Это просто, вы просто навязываете политику гильотины тому, что загружается. Если веб-страница загружает «слишком большой» ресурс — просто заблокируйте его!
Это дает вам некоторое представление о том, насколько разобщены разработчики браузеров. Настоящее беспокойство вызывает то, что более широкая субкультура разработчиков браузеров может оказаться в том же пузыре и на самом деле пройти и реализовать это.
Хорошо, мы все виноваты в добавлении к веб-страницам, чтобы они становились все больше и больше. Никто не отрицает, что раздувание страницы является реальной проблемой, но это проблема разработчика веб-страницы / приложения, а не производителя браузера.
Идея «Never Slow Mode» состоит в том, чтобы просто наложить ограничение на, скажем, JavaScript и отказаться от его загрузки, когда этот предел будет достигнут. Это заставит браузер работать быстрее, но также совершенно очевидно, что это приведет к поломке страницы.
Также кажется, что предполагается, что программам JavaScript может быть выделено ограниченное время выполнения и они будут прерваны, если они займут больше времени. Другие вредные привычки также являются целями предложения — отказ от записи, без синхронных запросов Ajax.
Единственная немного умная часть предложения состоит в том, что бюджеты сбрасываются, если пользователь взаимодействует со страницей, поэтому вашему JavaScript может быть разрешено продолжать работу. Предлагаемые текущие ограничения:
Максимальный размер изображения: 1 МБ
Общий бюджет изображения: 2 МБ
Максимальный размер таблицы стилей: 100 КБ
Общий бюджет таблицы стилей: 200 КБ
Максимальный размер скрипта: 50 КБ
Общий бюджет скрипта: 500 КБ
Максимальный размер шрифта: 100 КБ
Общий бюджет шрифтов: 100 КБ
Общий лимит подключений: 10
Предел длительной задачи: 200 мс
Ограничения не применяются к рабочим, а ограничения на размер снимаются для ресурсов, загружаемых из кэш-хранилища служебных воркеров.
И если эти ограничения не захватывают дух, у вас нет творчества.
Детали нового режима не на 100% ясны, и, поскольку это только внутреннее предложение, мы должны надеяться, что этого никогда не произойдет, но он дает вам пищу для размышлений о том, как люди, работающие с браузерами, сосредоточены на своем программном обеспечении, а не на вашем. Вы можете переполнить страницу. Возможно, это даже не ваша работа, учитывая количество входов на страницу. Тем не менее, в конечном итоге именно вы или компания, в которой вы работаете, определяете, насколько хорошо продуман и стройен конечный продукт. Какими бы ни были его конечные качества, это ваша страница, ваш сайт, и он был создан настолько хорошо, насколько вы могли, с учетом ограничений, и он выполняет то, что вы намереваетесь.
Теперь приходит браузер и начинает рвать вашу работу в клочья. Иногда это не так плохо, как прерывание загрузки ресурсов. Иногда это может быть просто вариант просмотра вашей страницы в сжатом или упрощенном режиме. Представьте себе, если бы Пикассо пришлось терпеть, что его работы были переработаны в упрощенном режиме? Художник имеет право выставлять свои работы так, как задумал художник, и я бы сказал, что то же самое относится и к нам. Браузеры должны сконцентрироваться на отображении страницы как можно ближе к намерениям ее создателя. Браузеры не должны выходить за рамки стандартов и навязывать работу веб-разработчикам хитроумными трюками.
Так что насчет пользователей, которые не хотят загружать «слишком много» JavaScript? Неужто у них есть право блокировать чрезмерную загрузку ресурсов? Ну, это один из способов взглянуть на это. Во-вторых, им вообще не нужно загружать вашу страницу. Существует очень веский аргумент в пользу того, что если вам не нравится работа, вы должны просто пойти в другое место и не искажать ее, как вам нравится.
Для нас, программистов, годы, прошедшие с момента появления персональных компьютеров и открытого Интернета, не видели ничего, кроме ограничений на то, что мы можем делать. Магазины приложений контролируют, какие приложения мы можем сделать доступными, загрузчики отказываются загружать пользовательские операционные системы, а браузеры блокируют все, что, по их мнению, может быть использовано ненадлежащим образом. Теперь кажется, что дизайнеры браузеров ценят скорость и эффективность своего продукта выше целостности нашего. Можно подумать, что они должны быть на нашей стороне.
Возможно, пришло время для кампании «Работает лучше всего, как я задумал».
Или, возможно, — «Никогда не медленно; всегда ломается».