Выбрать главу

Не каждый браузер поддерживает эту расширенную функциональность. Это не страшно. Основная функциональность – отправка и получение сообщений – по-прежнему доступна всем.

Творение

Что, если бы наша социальная сеть была более специализированной? Давайте сделаем сервис для обмена фотографиями. Это немного поднимает планку. Вместо отправки и получения сообщений основной функцией теперь является отправка и получение изображений.

Сайты обмена фотографиями.

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

С этими изменениями основная функциональность создана. Настало время для усовершенствования.

Помимо всех существующих усовершенствований – CSS, веб-шрифтов, Ajax, WebSockets – мы можем использовать API File, представленный в HTML5. Это позволяет нам манипулировать изображением непосредственно в браузере. Мы можем применять эффекты к изображению перед отправкой его на сервер. Используя фильтры CSS, мы можем предложить целый ряд улучшений изображения – от оттенков сепии до виньеток. Но если браузер не поддерживает API File или фильтры CSS, люди все равно могут загружать свои селфи с лицами уток.

Сотрудничество

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

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

Инструменты совместного письма в Интернете.

Давайте применим трехэтапный процесс к текстовому процессору на базе Интернета:

«Определите основную функциональность.»

Тавтологическим ответом будет "обработка слов". Не очень полезно. Что люди на самом деле делают с этим программным обеспечением? Они пишут. Они делятся. Редактируют.

«Определите основную функциональность.»

Если посмотреть на наши три глагола – писать, делиться и редактировать – то один из них мы получаем бесплатно, просто используя URL: делиться. Два других – писать и редактировать – требуют использования формы. Базовый элемент TEXTAREA может служить вместилищем для слов, предложений и абзацев, из которых будет состоять все – от технических отчетов до великого американского романа. Отправка этого содержимого на веб-сервер означает, что его можно сохранить на потом.

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

«Улучшайте!»

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

Для работы Ajax и WebSockets требуется подключение к Интернету. Гарантии стабильного интернет-соединения нет, особенно если вы пытаетесь работать в поезде или в гостинице. Современные браузеры предоставляют функции, которые после первоначальной загрузки страницы могут превратить саму сеть в улучшение.

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