Сравнение desktop и веб-приложений
Имея опыт(сразу оговорюсь, что не такой большой) разработки как настольных, так и web приложений, могу провести сравнение этих видов приложений с разных сторон.
И так, сегодня 2010 год. Мир ИТ динамичен, как ничто другое. Всё меняется. Вот и в мире программных продуктов происходят заметные изменения. Всё бОльшую роль играют веб приложения. Этот вид приложений появился не сразу. Сначала были просто статичные сайты, после в сайты начали внедрять скрипты. Сложность сайтов начала возрастать. И вот, не успели моргнуть глазом, как «сайты» стали таким же сложным программным продуктом, как и обычные десктоп-приложения. Сайтами их уже язык не поворачивается назвать — это уже приложения. Уже есть инструменты для создания таких приложений, паттерны проектирования, освоенные практики. А тут ещё «облака». Всё чаще люди переходят с Word на Google Docs. Уже приятнее и удобнее пользоваться веб-интерфейсом для просмотра почты(GMail). Всё чаще и чаще появляются разный веб-софт, сервисы.
Произведём сравнительный анализ приложений.
Под обычными приложениями будем считать приложения, установленные на локальной машине.
Под веб-софтом будет иметь ввиду приложения, доступ к которому осуществляется через веб-интерфейс посредством браузера.
Desktop приложение | Web приложение | |
---|---|---|
Доступ к сети Internet | не трубуется | необходим. исключение: некоторые
приложения могут временно работать автономно |
Устновка/обновление | Должно быть развёрнуто или установлено. | Единовременная настройка. Одна установка для всех пользователей. Благодаря централизованности моментально обновление. |
Интерфейс взаимодействия | Стандартные интерфейсы, стандартное взаимодействие | Разнообразный интерфейс взаимодействия.
Плюсы — разнообразие реализации, минусы, сложности — кроссбраузерная совместимость. Решается применением библиотек на JavaScritp, внедрением стандартов. |
Совместимость с устройствами | Зависимость от платформы. Исключение — кроссплатформенные приложения. | В большинстве случаем — платформо-независимое. |
Анимация, графика | Быстрая, быстрый отклик | Относительное медленный отклик, связанный с передачей данных по сети. |
Медиа | Незначительные проблемы с аудио и видео. | Проблемы. На данный момент всё реализуется через Flash. Но в разработке стандарт HTML5, который подразумевает поддержку аудио и видео на уровне браузера. |
Шрифты | Присутствуют только те шрифты, которые установлены у пользователя | Любые шрифты — есть возможность подгрузки необходимого шрифта через Internet |
Поиск по контенту | Нет, если только не реализовано на уровне приложения. | Да есть. Причём можно орагнизовать свой поиск, но и воспользоваться сторонними сервисами, к примеру запрашивать данныу у Google. |
Расшаривание | Если только дополнительно настроить | Изначально веб-приложения(большинство) настроены на совместный доступ |
Разработка | Под каждую платформу есть свои инструменты, зачастую под каждую платформу приходиться писать свою версию. | Всё выполняется на сервере, пользователя не волнует как там исполняется всё на сервере. Кроссплаформенно, нужен только браузер. Инструменты, софт на сервере зачастую кроссплатформенны. |
Desktop приложение | Web приложение | |
Масштабы | Повсеместно | Пока что web-приложения не столь популярны. Но темпы роста популярности(в куче с «облаками») велики. Уже сейчас многие переходят на хранение документов на Google Docs и прочие сервисы. |
Тестирование | Производится тестером, группой тестеров. Для opensource происходит тестирования всеми, кому это интересно. | По сути всё так же. Только открытость(расположение в сети) данного рода приложений позволяет привлечь бОльшее количество тестеров. Сотни, тысячи, миллионы. В результате бОльшее покрытие тестами и более быстрое обнаружение уязвимостей и некорректной работы софта. |