Что такое десктоп на web
Обзор современных систем веб-рабочих столов
Привет, великий Хабр! В наше время Интернет бурно развивается. Теперь, это не просто хранилище информации. Мы общаемся в сети, активно используем облачные сервисы для хранения собственных файлов, создаем в веб-приложениях документы, рисунки и презентации, пользуемся онлайн-переводчиком, играем в онлайн-игры и так далее.
В виртуальном пространстве Интернета, на мой взгляд, всегда удобно иметь в своем распоряжении привычный рабочий стол, который сосредоточил бы в себе все необходимые для пользователя приложения и позволил работать с данными непосредственно в браузере. На сегодня Интернет – это одна из бурно развивающихся отраслей IT-сферы и в последнее время особую популярность приобрели облачные технологии, в частности все больший интерес получают так называемые «онлайн операционные системы».
Система веб-рабочих стола организует для пользователя набор приложений и сервисов прямо в Интернете, доступный в любом месте и на любом устройстве. Основой каждого такого рабочего стола является интерфейс — аналог проводника и рабочего стола обычной операционной системы (Windows, Mac OS, Linux).
Сравнение
Для сравнения были выбраны следующие продукты: известный некоторым хабравчанам OS.js, CloudTop, Orbios, ZeroPC и OnlineStor. Все они сегодня развиваются и претендуют на роль полноценной операционной системы. Будет ли это так? Проверим.
OS.js является open-source разработкой и включает в себя множество приложений и очень хорошо задокументированное API. Сам интерфейс очень удобный и поддаётся изменению. В целом, все выглядит очень строго и органично. Однако, минусы есть. Самый важный из них: отсутствие офисного пакета. Редактировать вы сможете только текстовые файлы, рисовать в подобии Paint, архивировать файлы и… всё. То есть, в роли демонстрации какого-то инновационного дизайна – прекрасная платформа, однако, именно функций файлообменника и наполненности приложений очень не хватает. С его разработчиком я связывался по электронной почте и подсказал, что можно сделать лучше. Может быть, скоро будет офисный пакет.
СloudTop
Вероятно, самый многофункциональный рабочий стол, который сегодня существует. Присутствует офисный пакет, клиент электронной почты, магазин приложений и еще масса различных приложений. Поддерживается большое количество файлообменников и социальных сетей. Но, с русским все плоховато, и иногда не понятно, что хотел сказать автор. Также, видна ужасная оптимизация взаимодействия сервера и клиента, все передается в чистом HTML, из-за чего загружается все очень долго.
Orbios
Он еще только развивается и нельзя сказать о его конкретных перспективах. Сейчас, он больше похож на файлообменник с мультимедиа-функционалом. Для работы с файлами и архивами он мало подойдет. Зато, это единственный сервис, у которого полностью самостоятельный редактор электронных таблиц и 20 ГБ каждому.
ZeroPC
Единственный веб-рабочий стол, который пережил 2009-2013 года, когда все подобные проекты закрывались. Раньше присутствовал офисный пакет ThinkFree Office, сейчас же его, почему-то, нет. Гораздо функциональнее, чем самые современные файлообменники, имеет широкий выбор приложений, но действительно полезных и уникальных очень мало. Из графических редакторов есть только Pixlr, а документы Microsoft Office редактировать нечем. Нет никаких бизнес-инструментов. Зато есть Twitter-лента, клиент IMAP-почты (который очень мало функционален), веб-браузер с прокси (который, почему-то, сломался) и широкий выбор сервисов для интеграции. Вы можете в одном месте сосредоточить Google Drive, box, Dropbox, 4shared, Facebook, Twitter, тонну почтовых ящиков и многое другое.
OnlineStor
Написанная с нуля имплементация онлайн-рабочего стола. Интерфейс похож на Windows 7, есть полноценный офисный пакет, планировщик событий, контактная книга, просмотр документов, RSS-агрегатор и еще много приложений. Разрабатывался полтора года на PHP и jQuery. Проводник выполняет все основные функции файлообменника, есть, также, виджеты для быстрого получения различной информации. Еще, в разработке Android-приложение для замены существующей мобильной веб-версии продукта. Она позволяет просматривать и редактировать файлы без доступа к компьютеру. Что этот проект отличает от других, так это наличие даже специальной версии под телевизоры, которая выполняет роль медиацентра, для просмотра фотографий, проигрывания музыки, а позже – и для просмотра фильмов.
Проект появился недавно и его автор просит помощи в отлове багов, а также собирает мнения о нем для более правильного развития.
Что к чему
Каждый из этих разработок уникален и самобытен. Авторы преследовали различные цели, поскольку устоявшегося представления о веб-рабочих столах еще не существует, каждый видит по-разному.
Какими же, в основном, эти проекты обладают возможностями, и как их использовать?
Заключение
Переместить все ваши данные на облако наконец-то стало возможным. Такие системы, я считаю, являются будущем Интернета и заменой файлообменников. Их расцвет приходит уже на наши дни. С развитием веб-приложений будут развиваться и онлайн-рабочие столы, и скоро можно будет делать настоящие веб-операционные системы.
Десктопное или веб-приложение: плюсы и минусы
Сегодня поговорим об отличиях десктопных и веб-приложений. Не обещаем, что сможем быть полностью непредвзятыми, но постараемся честно рассмотреть плюсы и минусы.
Итак, веб-приложение работает через браузер, используя его как среду выполнения, десктопное— устанавливается, запускается и работает локально. Сравним их по основным характеристикам.
Веб-приложение не требует установки, все обновления происходят на сервере, доставляются пользователям сразу — достаточно просто перезагрузить страницу или выйти, а потом снова зайти в аккаунт. Но иногда для его работы нужно установить дополнительные библиотеки или использовать защищенные сетевые протоколы.
Десктопное нужно устанавливать на компьютере или мобильном устройстве, обновлять каждый раз, как выходит новая версия. Несмотря на то, что чаще всего процесс автоматизирован — все равно это занимает время пользователей и ресурсы устройств. Дополнительно придется отслеживать версии на каждом компьютере, смартфоне и планшете.
Веб-приложение публикуется на локальном или облачном сервере, там же происходит процесс обновления. При этом сервер нужен в любом случае, даже если решение совсем простое. Ведь кроме фронтенда, с которым пользователи будут работать через браузер, нужно где-то размещать бэкенд.
Десктопное придется устанавливать вручную на каждом устройстве. В компании, где много рабочих мест, это может занять достаточно много времени. Плюс в том, что не обязательно выбирать сервер или искать ресурсы для публикации, если речь не идет о клиент-серверном решении.
Работа веб-приложения зависит не только от того, насколько грамотно оно разработано и характеристик пользовательского устройства, но также от скорости интернет-соединения, работоспособности удаленного сервера.
Десктопное работает автономно, поэтому главное — качество кода и стабильность оборудования, на котором этот код выполняется. Но если связь с сервером необходима — то возникают те же проблемы, что у «конкурента».
Веб-приложение доступно из любой точки мира, с любого устройства, а пользовательские файлы всегда будут под рукой. Но только если есть интернет-соединение или реализована возможность работы офлайн и загрузки-выгрузки данных.
Десктопное доступно всегда — но только с устройства, на котором оно установлено. Чтобы работать с разных устройств, его придется установить на каждом, а также придумать, где хранить файлы, чтобы всегда иметь к ним доступ.
Веб-приложение одинаково хорошо будет работать на любом устройстве, будь то стационарный компьютер, ноутбук, планшет или смартфон — ведь оно практически не зависит от «железа» или операционной системы. Главное — подходящий браузер. Как правило, для работы большинства веб-клиентов подходят Google Chrome, Mozilla Firefox, Safari от Apple или Windows-браузер (Microsoft Edge / Internet Explorer).
Десктопное зависит от операционной системы, процессора, видеокарты, ряда других параметров. Приходится учитывать нюансы каждой среды (в том числе при «отлове» ошибок), писать код с учетом возможных вариантов, нанимать отдельных разработчиков или даже целые команды для версий под разные ОС.
Веб-приложение полностью зависит от браузера и технологий его работы. Поэтому есть ряд ограничений, например — в доступе к аппаратному обеспечению вашего устройства. Это и некоторые другие ограничения обойти невозможно (во всяком случае, сейчас). Но целый ряд задач можно решить по принципу «что нельзя переписать, можно надстраивать или расширять». Редакторы документов, изображений, аудио, видео, 3D графики; системы управления проектами; хранилища файлов; no-code конструкторы — успешно работают в браузерах. Инструменты быстрой интеграции сервисов, а также интерфейсные библиотеки еще больше расширяют существующие возможности.
Десктопное позволяет реализовать буквально любые функции — в этом оно однозначно превосходит web. Во всяком случае, полноценного онлайн аналога Photoshop или Sony Vegas еще никто не разработал. Системные утилиты — определенно сфера десктопной разработки. Как и программы, которые должны долго работать в фоновом режиме — например, чаты или торрент-клиенты — через браузер с ними просто неудобно будет работать. Также такое ПО чаще используется для специфических проектов, с нестандартными интерфейсами или функциями. Поэтому web разработка пока не представляет опасности для desktop программистов— эти технологии будут развиваться параллельно, просто под разные задачи.
По поводу скорости работы все не так однозначно, как может показаться. Несмотря на то, что браузерный клиент постоянно обменивается данными с сервером, быстродействие будет во многом будет зависеть от того, насколько грамотно он спроектирован, «чистоты» кода, возможностей оборудования, стабильности канала связи. Разница в быстродействии, которая очевидна при тестировании, зачастую незаметна для пользователей.
Веб-приложение, разработанное с использованием современных протоколов и средств защиты, способно полноценно обеспечивать сохранность данных. Однако на некоторые моменты разработчики не могут повлиять: браузер, облачный сервер, канал связи — могут повысить уровень безопасности за счет дополнительных средств проверки, но также снизить его за счет своих уязвимостей. Несомненный плюс для пользователей: такое ПО проще контролировать. Ограничения среды снижают вероятность, что оно скрыто получит доступ к файлам или запустит какой-либо процесс.
Десктопное настраивается более гибко, а значит — теоретически при его разработке можно предусмотреть все потенциальные уязвимости. На практике — вряд ли. Впрочем, сделать его полностью безопасным все же можно. Но только если устройство, на котором оно установлено, не будет никуда подключаться, даже к защищенной локальной сети. В противном случае — риск все равно будет.
Однозначно сказать, что безопаснее — сложно (если вообще возможно). На это влияют много факторов, прежде всего — человеческий. А ведь именно в защите от человеческого фактора, в различных его проявлениях, заключается смысл всех мер безопасности.
Но очевидно, что доверие к десктопному ПО выше. Некоторые организации принципиально не соглашаются работать в браузерах, многие пользователи все еще относятся к ним настороженно. Однако ситуация меняется — с развитием технологий растет лояльность людей к ним.
Возможности браузерной разработки огромны, ее потенциал раскрыт далеко не полностью. Технологии развиваются, рынок ИТ растет, предлагая все новые приложения — при прочих равных пользователи будут выбирать web просто потому, что это удобнее. Если говорить о решениях для корпоративных клиентов, то тут браузерные приложения незаменимы. Они гибкие, универсальные, не требуют предварительной подготовки среды, позволяют сэкономить финансы компании, аппаратные ресурсы, время сотрудников.
Но рассмотрим другое мнение. Некоторые разработчики считают, что перспективы далеко не безоблачные. Слишком несовершенны технологии работы браузеров, слишком много некачественного ПО уже «накодили». Поэтому пользователи браузерных решений будут возвращаться обратно к десктопным. Такая тенденция будет продолжаться, пока разработчики браузеров массово используют Java Script. Только когда появится реальная альтернатива — можно будет делать прогнозы на будущее.
Веб-приложения уже сейчас подходят для решения многих задач — как бизнеса, так и обычных пользователей. Если вы решили разработать свое — используйте no-code платформу AppMaster.io.
Готовые блоки кода и визуальные инструменты для работы с ними помогут вам создать готовое веб-приложение и его серверную часть гораздо проще и быстрее, чем методы классического программирования!
Desktop приложения
Использование программного обеспечения в бизнесе является необходимостью. Цифровизация позволяет внедрять новые инструменты, расширяет возможности бизнеса, улучшает взаимодействие между компанией и клиентом. Но возникает вопрос, какой тип приложений использовать: браузерное или десктопное приложение? В чем разница? Какие преимущества у разработки десктоп приложения, какие возможности оно предоставляет? Давайте разберемся.
Что такое десктопное приложение?
Desktop приложения – это программы, которые нуждаются в ОС настольного компьютера для своей работы. Они устанавливаются в систему через специальный инсталлятор, используют для работы ресурсы компьютера.
Главная особенность таких программ – возможность работать автономно, без подключения к интернету. Современные приложения все равно предлагают работать с подключением, но это нужно для того, чтобы использовать различные устройства, включить в проект других пользователей или обновлять программу без ручной переустановки.
Многие компании беспокоятся о безопасности, поэтому не хотят, чтобы приложения подключались к интернету. В таком случае разработка десктопных приложений может вестись “под ключ”, а подключение возможно в закрытой локальной сети.
Преимущества Desktop приложения
Считается, что такой тип программ быстрее, а функциональность гораздо шире. Это действительно так, но стоит отметить, что зависят эти параметры в основном от характеристик компьютера. Попробуйте поставить свой софт на слабое «железо» и быстро убедитесь в этом сами. Но разработка Desktop приложений действительно имеет свои преимущества.
Функциональность
Заказывая персональную разработку, вы получаете уникальные функции для бизнеса, которые помогут вашей компании. Главная особенность – широкие возможности для функционала. Можно реализовать практически любую идею. При этом интерфейс будет удобным, привычным и интуитивно понятным для пользователей.
Безопасность и надежность
Браузерные приложения уязвимы. Дело в том, что разработчики не могут повлиять на безопасность браузера, а веб-приложение напрямую зависит от его работы. Десктоп приложение – это гарантия безопасности и сохранности данных. Поэтому многие компании выбирают такое цифровое решение для своего предприятия.
Мобильность
Десктоп приложения можно разрабатывать под различные операционные системы и даже использовать с мобильного устройства, сделав нативную версию. Но для синхронизации данных необходимо подключаться к интернету. Тем не менее, мобильность подразумевает использование приложения в любых условиях и дает возможность управлять бизнес-процессами компании когда угодно.
Быстродействие
Принцип работы Desktop приложения прост: программа использует ресурсы компьютера, его память и возможности. С одной стороны, это может стать недостатком, если оборудование недостаточно хорошее. Но с другой, заказывая индивидуальную разработку, учитываются особенности системы. С должной оптимизацией такое приложение будет «летать» и выполнять задачи эффективно.
Возможности десктопных приложений
Разработка Desktop приложений для бизнеса открывает новые горизонты. Внедрение диджитал продуктов в компанию позволяет повысить эффективность, автоматизировать многие процессы компании и оптимизировать работу. Все это происходит благодаря возможностям, которые дает цифровой продукт. У десктопных приложений есть целый ряд возможностей:
Это далеко не все возможности программ, которые устанавливаются на компьютер. Индивидуальная разработка позволяет получить эффективное приложение для бизнеса, которое отвечает конкретным запросам. Как это работает?
Разработка десктопных приложений в Wezom
WEZOM предлагает услугу разработки десктопных приложений для бизнеса. Сам процесс разработки идет по такому пути:
Так вы получаете качественное десктопное приложение, предназначенное персонально для вашей компании. По своей структуре оно может быть как простым, так и насыщенным и функциональным. Главное – чтобы софт решал свои задачи. Позвоните нам, и мы обсудим детали, проведем консультацию и поможем определиться с функциями, которые выведут ваш бизнес на новый уровень.
Оставьте ваши контактные данные. Наш менеджер свяжется и проконсультирует вас.
3 in 1: Desktop, Mobile, Web. Кроссплатформенная разработка
Разработка в рамках одного проекта несет в себе ряд преимуществ. Во-первых, это позволяет использовать одну реализацию бизнес-логики программы. Во-вторых, это возможность иметь единый набор юнит-тестов. В-третьих, это использование привычного языка(С++) и среды разработки.
Статья описывает некоторые методы программирования и несколько библиотек помогающие создавать кроссплатформенные приложения.
За основу взят опыт создания небольшого приложения типа «калькулятор»
Кроссплатформенная разработка
Удобно писать один код вместо трех, это значительно сокращает время создания программы. Но к сожалению каждая платформа имеет свой зависимый код(функционал). Часто без функционала предоставляемого конкретной платформой просто не обойтись. Возможным решением этой проблемы являются стратегии проектирования (подробнее можно узнать в книге Александреску «Современное проектирование на С++»). Весь зависимый код выносится в классы настройки, так называемые «policy», которыми в дальнейшем конфигурируются более крупные классы.
Использование кроссплатформенных библиотек(boost, stl и другие) также упрощает разработку.
Использование модели MVC значительно упрощает проектирование приложения, т.к. большинство платформенных зависимостей локализуются в компоненте «Представление(View)».
Htmlayout
Для организации графического интерфейса была использована библиотека Htmlayout, которая позволяет описывать графический интерфейс программы при помощи html и css. Реализация GUI при помощи веб-ориентированных средств несет в себе массу положительных моментов, начиная с большого количества веб-дизайнеров и заканчивая огромным количеством уже готовых вариантов дизайна. А имея в качестве одной из целевых платформ «веб» это уменьшает затраты на реализацию дизайна в виде html+css.
Htmlayout имеет реализацию для Windows Mobile, что позволяет использовать её также для мобильной платформы.
Программа калькулятор
Программа типа «калькулятор» выбрана потому что в полной мере позволяет попробовать реализовать модель MVC и предполагает использование некоторых компонентов библиотеки «boost», которые были мне интересны.
Desktop
Реализация приложения для десктопа(родной для меня платформы), предполагала прежде всего написание моделей данных, используемых в программе и реализацию общей архитектуры программы. Новым моментом для меня было использование библиотеки Htmlayout. Однако никаких проблем с реализацией графического интерфейса с её помощью не возникло.
Почему веб победил десктоп, но не победил мобильные?
Чтобы ответить на подобный вопрос, может понадобится десяток лет исследований.
Если мы сможем частично распутать этот узел, то, возможно, нам удастся перезапустить веб, создав новую платформу. Или начать создавать новые системы, похожие на веб.
Я работал над пятью браузерами и одной операционной системой, наблюдая за тем, как этот вопрос оказывается связанным с UX, продуктом, стратегиями и разработкой. Не могу сказать, что у меня есть все ответы, но кажется, мне удалось распутать несколько важных нитей.
TLDR: «делать приложения при помощи веба» — это неразрушительная стратегия. Это похоже на выживание в кислородной катастрофе по принципу «анаэробы начали фотосинтезировать». Конечно, это здорово, но синезелёная водоросль была первой, так что фотосинтез больше не является асимметричным.
Чего? Ниже представлено более подробное объяснение.
Первая катастрофа
Три миллиарда лет назад в атмосфере Земли не было кислорода. Солнце светило сверху на небо из CO2 и N2 — веществ, извергаемых вулканами. Однако Земля изобиловала жизнью. Одноклеточные анаэробные организмы процветали в почве и в неглубоких морях, впитывая тепло из гидротермальных источников.
Затем однажды, 2,45 миллиарда лет назад, синезелёная водоросль научилась «есть» солнечный свет.
Водоросль фотосинтезировала углеводы из CO2 и воды, выбрасывая в качестве продукта жизнедеятельности кислород. Солнечного света, CO2 и воды было много, а конкуренция отсутствовала. Водоросль начала размножаться.
Это оказало влияние на всю планету. Водоросль процветала в океанах, выбросив столько кислорода, что он окутал планету и создал насыщенную кислородом атмосферу, которой мы дышим сегодня.
Все остальные формы жизни задохнулись и вымерли, остались немногие устойчивые к кислороду и загерметизированные в средах без кислорода. Это было одним из первых и самых крупных массовых вымираний в истории Земли.
Оно называется кислородной катастрофой. Это явление проложило дорогу многоклеточным организмам (то есть нам).
Все крушения похожи, но каждое из них сокрушительно по-своему
Почему большинство изменений едва заметно, но немногие, например, кислородная катастрофа, оказывают столь глубокий разрушительный эффект? Ответ заключается в асимметрии.
Когда мы думаем о конкуренции, то обычно представляем симметричную конкуренцию. Деревья конкурируют по своей высоте за солнечный свет, компании по ценам для клиентов. Но и у повышения роста, и у снижения цены есть ограничения. Конкуренция приходит в равновесие, когда наталкивается на физические ограничения.
Синезелёные водоросли выиграли, не конкурируя симметрично с анаэробами. Они выиграли благодаря тому, что не конкурировали. Фотосинтез был асимметричной стратегией выживания. Больше никто его не освоил. Рынок солнечного света был пуст. Результатом стала быстрая катастрофа.
Мы наблюдаем похожие катастрофы и на протяжении истории технологий. Теоретик бизнеса Клейтон Кристенсен разработал для их объяснения теорию подрывных инноваций. Её источники, как и у кислородной катастрофы, лежат в асимметрии.
Подрывные инновации не конкурируют против старожилов рынка, они конкурируют с отсутствием потребления. Они начинают там, где нет конкуренции, в нижней нише рынка или на совершенно новом рынке. Предлагаемое ими не лучше, оно качественно другое. Это сдвигает базис конкуренции.
Подрывные инновации имеют странный метаболизм. У них есть структура затрат и соответствие продукта рынку, которые чужды (и даже токсичны) для старожилов рынка, как синезелёная водоросль, потребляющая солнечный свет и генерирующая кислород. Компании-старожилы не могут к этому адаптироваться. Этого нет в их ДНК.
Подрывные инновации совершают переворот в структуре конкуренции. Атмосферы меняются. Успешные компании задыхаются. Появляются новые компании. Технологии оказываются утерянными. Экосистемы уничтожаются. Сети создания стоимости распадаются и переформируются.
Подрывные инновации продиктованы обстоятельствами, потому что они ведомы асимметрией, а асимметрии — это особые взаимосвязи между подрывником и контекстом. Использование асимметрии уникально для структуры эволюции.
Выживание в условиях подрывных инноваций тоже продиктовано обстоятельствами. Признаки, эволюционировавшие из-за не связанных с ними причин, внезапно оказываются важными для выживания. Маленький анаэроб, случайно эволюционно получивший толерантность к кислороду до появления синезелёной водоросли. Поисковый движок, купивший конкурента Symbian под названием Android до выпуска iPhone.
Компьютерные эпохи
«Вполне вероятно, что одной машины будет достаточно для решения всех задач, которые требуются от неё в пределах целой страны.» — Глава национальной физической лаборатории Британии, 1946 год
Взглянув на историю компьютеров, мы можем выделить несколько эпох, порождённых подрывными инновациями. Взяв список технологических эпох Бена Томпсона и продлив его до самого начала, мы получим:
Так почему же веб подорвал десктопные системы, но не мобильные? Это вопрос о двух подрывных технологиях:
Почему веб подорвал десктопы?
Можно рассматривать веб как операционную систему внутри операционной системы. Веб начинался не с этого — поначалу он использовался только для обмена документами — но веб мог эволюционировать.
Сочетание JavaScript, динамических серверов и XMLHTTPRequest позволило разработчикам создавать веб-сайты, которые отдалённо начали напоминать приложения. Это не были хорошие приложения, они имели ограниченные возможности.
Однако веб обладал критически важной асимметрией: он был спроектирован для сети. Сеть всё изменила.
Игра из однопользовательской стала многопользовательской. Приложения для PC по большей мере были однопользовательскими. Веб-приложения работали как общее ПО на сервере. Они по своей природе были многопользовательскими. Связь людей создаёт мощные психологические и сетевые эффекты. Мы социальные животные. Каждый процесс с более чем одним игроком становится процессом взаимодействия этих игроков.
Ссылки сделали распространение ПО виральным. Чтобы купить новое приложение для PC, обычно нужно было поехать в магазин и приобрести коробку с CD. Чаще всего Интернет-подключения были слишком медленными для скачивания крупных многомегабайтных программ. Веб-страницы же, напротив, были маленькими, потому что вычисления выполнялись на стороне сервера. Распространение ПО в вебе стало виральным, для него достаточно было поделиться ссылкой.
Режим «песочницы» обеспечил безопасность ПО. Установка ПО на PC — это риск. Когда ты устанавливаешь приложение, оно может сделать с компьютером что угодно, без ограничений. Это дизайнерское решение оказалось невероятно продуктивным и обеспечило продолжающуюся эволюцию совершенно новых категорий продуктов. Также оно обеспечило эволюцию вирусов. Веб — это глобальная сеть, поэтому нельзя допускать что каждая ссылка безопасна. Код в вебе был помещён в «песочницу» и мог взаимодействовать с компьютером пользователя только через тщательно контролируемые API.
Бизнес-модели расширились, и стали включать в себя не только лицензирование, но ещё и рекламу с электронной коммерцией. Новые виды монетизации генерируют ёмкость среды для новых видов бизнесов. Можно раздавать ПО бесплатно, собирать данные пользователей, монетизироваться через рекламу, продавать продукты онлайн или предлагать сервисы по подписке.
Веб неидеален, но он представляет собой сеть. Сетевые эффекты пожирают всё вокруг них. Часть этих функций была возможна и до веба, но не использовалась по умолчанию. В вебе сеть стала допущением, вплетённым в каждый аспект системы, поэтому он стал процветать в среде объединённых в сеть компьютеров.
Почему веб не подорвал мобильные?
Компьютер, который всегда с тобой, оказался очень важным. Мобильные поглотили мир. Это была кислородная катастрофа. Вопрос заключался в том, сможет ли веб выжить в кислородной атмосфере?
На данный момент сетевое преимущество веба испарилось. Нативные приложения iPhone были Интернет-приложениями в «песочнице» и общались по HTTP, совсем как веб-приложения. iPhone был спроектирован для мира, включавшего в себя сеть. Веб не был спроектирован для мира, включавшего в себя iPhone.
Вебу пришлось адаптироваться, но у него уже существовал сложившийся набор бизнес-моделей, структур затрат, технических допущений и процессов стандартизации. Всё это реформировать было бы трудоёмко.
Возникла и ещё одна социотехническая трудность: веб — это экосистема, построенная на стандартах. Стандарты появляются в ретроспективе, когда пространство задач насколько хорошо изучено, что каждый может согласиться с тем, как оно должно работать.
iPhone был чем-то совершенно новым. Он имел новое оборудование с новой моделью взаимодействия, и требовал новой ОС, новых приложений, новых примитивов UI. Всё это необходимо было интегрировать вместе, иначе продукт ждал провал. Представьте, каково было бы согласовывать всё это в процессе стандартизации. Это заняло бы годы! На самом деле, некоторые изначально необходимые аспекты, например, возможности устройства, спустя десяток лет после выпуска iPhone по-прежнему находятся на этапе обсуждения стандартов.
Клейтон Кристенсен упоминает эту дилемму в теории взаимозависимости и модульности. Новые категории продуктов плохо встраиваются в существующие системы, которые эволюционируют на основе допущений сложившегося продукта. Заставить ответственных за сложившийся рынок людей реструктурировать себя под ещё несуществующую категорию продуктов — безнадёжная затея. Поэтому вам самим придётся целиком создавать полный вертикальный срез. Именно это и сделала Apple.
Но разве веб не мог бы догнать её? Против этого работало несколько асимметрий…
Базис производительности сместился с маленьких двоичных файлов к плавному взаимодействию. Плавное взаимодействие критически важно для сенсорного непосредственного манипулирования. Движки браузеров проектировались для рендеринга документов и не очень хорошо подходили для плавного взаимодействия и анимаций. На то, чтобы они стали хотя бы приемлемыми, ушли годы. Кроме того, маленький размер двоичных файлов веба уже перестал быть важным. Теперь сети стали быстрыми, поэтому большие двоичные файлы были вполне приемлемы, если они обеспечивали плавное взаимодействие.
Навигация сместилась с клавиатуры на SpringBoard. Веб основан на поиске и URL. Поиск и URL спроектированы под аппаратные клавиатуры, благодаря чему легко вводить, копировать, вставлять и пересылать текст. Но на мобильных ввод текста неудобен. Толстыми пальцами печатать неудобно. Гораздо веселее нажимать значки на SpringBoard.
Функции обнаружения программ и контента сместились с поиска в магазины приложений. Вместе с iPhone возникла его собственная система распространения. Магазин приложений упростил установку ПО, теперь для этого практически нужно лишь нажать на ссылку. Изучение тщательно контролируемого каталога приложений гораздо интереснее, чем ввод поискового запроса.
Акцент сместился с ссылок на значки. После установки приложения постоянно остающиеся в SpringBoard яркие значки создают сильный стимул запускать их снова, отдавая предпочтение нескольким брендированным окружениям, а не поиску множества мелких страниц.
Бизнес-модели дополнились IAP, подписками и покупками приложений. Магазины приложений обеспечили возможность покупок внутри приложений, подписок и покупок приложений одним нажатием, сохранив модель рекламы и электронной коммерции. Это создало дополнительную ёмкость среды для казуального гейминга, профессиональных инструментов, сервисов по подписке и инди-приложений.
Безопасность сместилась с «песочницы» на контроль приложений. «Песочница» веба обязана была аккуратно открывать API-доступ к таким вещам, как GPS, микрофон и камера. Их легко использовать злонамеренно, а поскольку веб обеспечивает свободные от ограничений инновации, при злонамеренном использовании которых никому нельзя пожаловаться. Нативные приложения обеспечивают доступ по всем возможностям устройства. Разработчики могут быстро экспериментировать и изобретать совершенно новые категории продуктов, например Uber. В то же время, проверка приложений позволила магазинам приложений принимать решения, одобряя или отвергая новые изменения, чтобы ограничить злонамеренное использование.
В фундаментальном смысле, «веб, создающий приложения» — это не подрывная стратегия. Она аналогична «анаэробам, занимающимся фотосинтезом». Синезелёная водоросль была первой, поэтому фотосинтез — уже не асимметричный признак, а симметричная конкуренция.
Куда дальше будет двигаться веб?
«Основная причина того, что мне важен веб, заключается в том, что это крупнейшая в мире платформа ПО, которая никому не принадлежит.» — Дейв Херман, TC39