Когда вы совершаете покупки по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Вот как это работает.

Интернет — это живая, дышащая, постоянно меняющаяся, взаимосвязанная и развивающаяся масса документов, данных и приложений. По своей природе он децентрализован и немедленен. Сеть, во всей своей хаотичной красоте, не имеет версий и всегда была ею. Какая версия Gmail? Или Фейсбук? Вы знаете? Вы заботитесь? Это имеет значение? Нет.

Более того, любой механизм, используемый для доступа к ресурсу без версий, такому как Интернет, сам по себе должен быть таким же безверсионным. В противном случае вы получите несоответствие импедансов между самим ресурсом и средством его потребления. Эта простая истина побудила меня написать в Твиттере #oneversion #manifesto:

«#oneversion #manifesto Мои веб-сайты поддерживают только последние версии браузеров. Долг производителей браузеров — заставить пользователей обновиться».

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

Например, когда Тим О'Рейли придумал термин Web 2.0, он стал призывом разработчиков сосредоточиться на веб-стандартах, открытых данных и API. Этот снимок – однако возможно, это было искусственно – помогло определить идеологический и практический отход от столь же стереотипного снимка, которым был Дикий Запад Интернета 1.0: постапокалиптическая пустошь, усеянная жертвами браузерных войн, пронизанная злоупотреблениями табличной версткой и неудачными трагедиями из спагетти-супа Код Perl/HTML/JavaScript. Но Web 2.0 никогда не описывал истинное состояние Интернета в любой момент времени. Это была просто удобная выдумка, которая дала нам отправную точку для обсуждения того, где была сеть, где, по нашему мнению, она была и где, по нашему мнению, она должна быть. Но что на самом деле означает Web 2.0? Определений было столько же, сколько маркетологов, пытающихся продать вам решения Web 2.0.

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

Номера версий, как вехи на автомагистралях, которые сообщают вам, сколько времени вам осталось до пункта назначения, полезно, когда они происходят через достаточно большие промежутки времени, чтобы представить нам мягкий ритм прогресс. Однако сегодня разработка программного обеспечения включает в себя непрерывные улучшения, измеряемые в дюймах, а не в милях (или, в идеале, в сантиметрах, а не в километрах, как в остальном цивилизованном мире). Номера версий — это пережиток темных веков вычислительной техники, когда циклы обновления программного обеспечения длились месяцы (если не годы), а не дни (если не часы) и распространение и обновления означали доставку хрупких физических объектов с данными на них, а не плавное обновление через Интернет, которое пользователь даже не замечает. произошел.

Огромное количество пользователей

Ежедневная бомбардировка пользователей изменениями номеров версий — это верный способ их ошеломить (о чем свидетельствует перегрузка номеров версий, с которой в последнее время сталкиваются пользователи Firefox). Вместо этого, поскольку программное обеспечение постоянно развивается, мы можем безопасно скрыть версию от пользователя — это просто детали реализации, которые принесут пользу нам как разработчикам (для сопоставления отчетов об ошибках с коммитами исходного кода, для пример). Сокрытие номера версии дает пользователям на одну вещь меньше поводов для беспокойства. И, нравится нам это или нет, именно так в будущем будут понимать программное обеспечение – как постоянно актуальную (или устаревшую) вещь.

Веб-технологии – и сама сеть – находятся в постоянном (и ускоряющемся) развитии. Людям трудно с этим справиться. Это по своей сути хаотично, по своей сути небезопасно и по своей сути нестабильно, тогда как мы жаждем порядка, простоты и предсказуемости, чтобы разобраться в вещах. Наша примитивная лапша больше привыкла к медленному развитию событий на протяжении десятилетий, чем к неустанному натиску перемен. Гораздо проще заработать на деталях фотографии движущегося потока – какими бы устаревшими они ни были. может быть моментальный снимок – чем адаптировать наш дискурс на основе текущего состояния самого постоянно меняющегося потока.

Поэтому понятно, что желание создать версию неверсируемого настолько распространено. Добавляем ли мы числовой постфикс к HTML или рассуждаем о том, чем именно является/был/будет Web 3.0, мы просто пытаемся внести порядок в хаос. Наше желание версионировать вещи понятно, но, тем не менее, это остается бессмысленной и непрактичной попыткой, учитывая, что Гибкая, изменчивая и податливая природа Интернета (и программного обеспечения в целом сегодня) противоречит статической природе таких указатели пути.

Эволюция

Учитывая, что веб-технологии постоянно и неустанно развиваются, крайне важно, чтобы шлюзы к Интернет – приложения, которые мы используем для доступа к Интернету – одинаково не имеют версий и развиваются последовательно. образом. Любой браузер, который не может (или не хочет) идти в ногу со временем, становится не шлюзом, а *привратником*, искусственно ограничивающим доступ к новейшим и лучшим (и единственным) сетям. Такие браузеры являются вредными™.

Последнее, что мы, как разработчики, должны делать, — это вознаграждать такое вредное поведение от имени производителей браузеров. Если мы поддерживаем такое поведение своим временем, усилиями и бюджетом, мы посылаем опасный сигнал о том, что такое обычное отношение к бизнесу, которое привело к фиаско IE 6, приемлемо. Вместо этого нам следует громко и ясно заявить производителям браузеров, что такое вредное поведение неприемлемо и не будет терпеться.

Единственным крупным браузером на сегодняшний день, который учитывает состояние сети без версий и соответствует ее природе, является Google Chrome. Посмотрите на страницу загрузки Chrome. Видите ли вы упоминание номера версии? Знаете ли вы, какую версию Chrome вы используете? Когда вы в последний раз обновляли Chrome (он обновляется без проблем, не беспокоя вас). Chrome установил планку, и другие производители браузеров должны последовать этому примеру или остаться позади.

Но почему именно для браузеров вредно оторванность от безверсионного характера Интернета? Конечно, до сих пор все шло хорошо. Интернет работает лучше, чем когда-либо прежде. Да, но времена меняются. Интернет не существует в вакууме – ему конкурируют как собственные платформы, так и другие кроссплатформенные технологии. Исторически сложилось так, что Интернет имел ключевые преимущества пользовательского опыта по сравнению с собственными платформами в трех ключевых областях: развертывание/распространение, плавные обновления и универсальный доступ.

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

Использование веб-сайта так же просто (просто введите URL-адрес) по сравнению с процессом поиска и использования нативного контента. программное обеспечение: трудности с поиском программного обеспечения, его загрузкой, поиском места, где вы его скачали, его установкой, возможно, необходимостью установите зависимости, найдите, где вы его установили, а затем запустите его, только чтобы узнать, что нужно загрузить новое обновление и установить. Какой кошмар. И какое огромное преимущество пользовательского опыта в Интернете. Не говоря уже о том, что вы можете получить доступ к веб-приложению практически с любого устройства и при этом иметь доступ к своим данным. Вам не придется беспокоиться о копировании данных, переноске их с собой на периферийные устройства, которые легко потерять, или их синхронизации.

Однако в наши дни нативные приложения догоняют рынок.

Программы

Магазины приложений находятся на пути к тому, чтобы сделать поиск и установку программного обеспечения простым и беспрепятственным. обновления (например, механизм, реализованный в Chrome) позволяют легко всегда иметь последнюю версию приложение. В то же время облачные решения, такие как iCloud, предоставляют вам беспрепятственный доступ к вашим данным с разных устройств, не заставляя вас беспокоиться о синхронизации. Мы всегда говорим о том, что Интернет догоняет нативную среду, тогда как настоящим символом нашего времени является нативная технология, догоняющая Интернет. Чтобы Интернет оставался конкурентоспособным, он должен предлагать лучший пользовательский опыт как конечным пользователям, так и разработчикам.

Интернет также традиционно дает разработчикам преимущество пользовательского опыта, когда дело касается простоты разработки. Но нам придется смягчить это утверждение, уточнив его как «для определенных типов веб-проектов». Что за веб-проекты? Документоориентированный тип. Мы можем рассматривать веб-проекты как лежащие в широком континууме: от веб-сайтов, ориентированных на документы, до веб-приложений, ориентированных на поведение. Интернет с первых дней своего существования упростил создание веб-сайтов, ориентированных на документы. Черт возьми, «Привет, мир!» пример для Интернета: просто «Привет, мир!» Просто. (Конечно, это недопустимый HTML, но вы помещаете этого ребенка в текстовый файл с суффиксом .html и отправляете его на веб-сервер, и он отрисовывается в виде браузер пользователя, когда они получают к нему доступ.) Прощающая природа Интернета была ключевым элементом его успеха и одной из основных причин, почему он так распространен. сегодня. Любой Джо с блокнотом мог бы быть и, вероятно, в какой-то момент стал веб-разработчиком. И это хорошо™

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

Теперь умножьте сложность этой задачи на необходимость поддержки особенностей предыдущих версий нескольких браузеров, и внезапно станет ясно, что Интернет, в сочетании со сложностью нескольких платформ и нескольких версий среды выполнения (браузера) ставит разработчиков в невыгодное положение по сравнению с некоторыми нативными платформы. Если мы сможем устранить часть этой сложности, мы сможем дать Интернету конкурентное преимущество. Важную роль в этом играет обеспечение того, чтобы производители браузеров осуществляли обновления без проблем, стремясь устранить фрагментацию версий. И именно поэтому производители браузеров, которые – либо по некомпетентности, либо по злому умыслу – не реализуют плавные обновления в своих браузерах, наносят вред Интернету.

Именно поэтому мои веб-сайты будут поддерживать только последние версии основных веб-браузеров и почему ваши тоже должны поддерживать их.

Это делает нет Я имею в виду, как это интерпретируют некоторые, «не используйте прогрессивное улучшение». Во что бы то ни стало, если у вас есть веб-сайт, ориентированный на документы (например, газетный сайт, а не сайт веб-приложение, ориентированное на поведение, такое как клон Photoshop) и ваш бюджет позволяет, внедрите прогрессивное улучшение. Если позволяет ваш бюджет и сроки, выйдите за рамки этого и реализуйте адаптивный дизайн, который работает на различных устройствах. Затем превзойдите даже это и оптимизируйте свой сайт, чтобы лучше поддерживать такие функции, как сенсорный ввод.

Черт возьми, если вы действительно хотите, чтобы ваш сайт сиял, выйдите за рамки этого и (в качестве последнего шага) оптимизируйте его для конкретных устройств, чтобы добавить последние 5 процентов улучшения вашего пользовательского опыта. Но не волнуйтесь, если ваш сайт не работает во всем своем великолепии в IE 8. Или Фаерфокс 7. Или Хром 14. Это не твоя работа. Задача производителей браузеров — создавать свое программное обеспечение так, чтобы обновления проходили без проблем. И все мы должны научить простых смертных оставлять после себя запутанные номера версий.

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

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

Разработчик и организатор конференции Джон Оллсопп не совсем согласен с Эйрелом. Прочтите его ответ, Разрабатывайте для как можно большего числа пользователейи дайте нам знать, что ты подумайте ниже, в комментариях.