отличия мобильных и десктопных приложений
Мобильные приложения: как не «проколоться» на разработке и тестировании
Сегодня стабильно работающее мобильное приложение – источник развития бизнеса, надежное средство коммуникаций с клиентами. По мере усложнения программных продуктов в процессе разработки приложений возрастает значимость этапа тестирования. О том, как эффективно проводить и оценивать результаты тестирования, в своей статье для CNews рассказывают эксперты компании «Аплана», которая занимается тестированием информационных систем и приложений российских и зарубежных разработчиков с 2001 г.
Мобильные и десктопные приложения
Тестирование мобильных приложений – неотъемлемая часть процесса разработки. По сравнению с исследованием традиционных приложений для ПК (десктопов), у тестирования приложений под смартфоны и планшеты есть ряд особенностей.
«Рынок мобильных технологий характеризуется высокой скоростью изменений: устройства постоянно обновляются, выходят новые версии операционных систем. Тестировщикам необходимо ориентироваться в многообразии устройств: тип, актуальность на рынке, разрешение экрана, процессор. Кроме того, необходимо хорошо понимать особенности платформ, прежде всего — Android и iOS, — говорит Петр Гумённый, руководитель направления ручного тестирования компании «Аплана». — В этом коренные отличия общего процесса тестирования мобильных по сравнению с тестированием десктопных приложений».
У каждого вида тестирования есть индивидуальные отличия. Так, если вы проводите ручное функциональное тестирование (РФТ), то по сравнению с тестированием десктопных версий вам необходимо использовать дополнительные кейсы, например, для эмуляции обрыва связи или медленного соединения. В рамках интеграционного тестирования основная задача – локализовать найденную ошибку.
Для этого, так или иначе, приходится обращаться к backend-части: изучать логику взаимодействия систем, искать причину появления ошибки «на фронте». В случае автоматизированного тестирования инженеры-тестировщики должны разбираться в многообразии специализированных инструментов, чтобы выбрать оптимальное решение.
Команда тестирования
Профессиональные компании по тестированию, как правило, оперативно подбирают команды под проект любой сложности, а модели взаимодействия с подрядчиком позволят организовать работы как «под ключ», так и по схеме «time&material» (оплата по факту исходя из трудозатрат).
При прочих равных условиях выигрывает модель аутсорсинга тестирования. Специализированные компании накапливают экспертизу в сфере контроля качества на протяжении многих лет, поэтому, как правило, лучше справляются с задачами по тестированию программного обеспечения.
Неотрывно от разработки
Не забывайте, что тестирование тесно связано с методологией разработки приложения. Если разработка следует гибкой методологии (Agile, Scrum и так далее), то к тестировщикам предъявляются дополнительные требования: они должны более тесно взаимодействовать с разработчиками, ориентироваться на короткие циклы разработки, регулярно участвовать в планерках и командных встречах.
«Иногда подходы могут смешиваться, особенно в больших командах, где одна часть специалистов может работать по гибкой методологии, а другая часть по классическому «водопаду». Например, нам известны случаи, когда разработка функционала велась по методике Waterfall (процесс разработки ПО выглядит как поток, последовательно проходящий фазы анализа требований, проектирования, реализации, тестирования, интеграции и поддержки — ред.) а доработки приложения уже по Agile. Но опыт показывает, что лучше ориентироваться на гибкую разработку — она позволяет эффективнее управлять многочисленными процессами такого динамичного направления, как создание мобильных приложений», — говорит Евгений Коблев, директор проектов компании «Аплана».
Чем раньше ваша компания наладит процесс тестирования, тем меньше будет ошибок в готовом продукте и тем больше денег вы сэкономите. Если ошибка в приложении выявлена на этапе сбора требований, ее намного легче исправить, чем тогда, когда вы уже планируете его публикацию.
Анализируй аудиторию и властвуй
В процессе тестирования мобильных приложений всегда встает вопрос о подборе оптимального парка устройств для обеспечения тестового покрытия. На первый взгляд может показаться, что для решения подобной задачи нужно анализировать весь парк устройств и моделей, присутствующих на рынке. При таком подходе вы стараетесь охватить максимально широкий круг пользователей и сталкиваетесь с необходимостью использования более 50 устройств. Это долго, затратно и далеко не всегда оправдано.
Мы рекомендуем подбирать только те аппараты, которыми пользуется ваша целевая аудитория. Если вы проводите тестирование уже выпущенного приложения, вся информация о существующих пользователях уже есть в аккаунтах разработчиков Google Play и Apple Store. Если приложение еще не вышло в свет, просто изучите аудиторию аналогичных приложений. Учитывайте также сроки разработки: если приложение будет выпущено, например, через полгода или год, то в течение этого времени необходимо будет пополнять текущий парк устройств новыми моделями.
Автотесты для приложений
Автоматизация тестирования нивелирует влияние человеческого фактора, который в той или иной мере всегда присутствует в процессе обеспечения качества в ручном режиме. Но здесь есть свои особенности.
«В части автоматизации всегда есть риск, что выбранный инструмент не поможет создать автотесты для ряда мобильных устройств. Можно столкнуться с тем, что новая версия инструмента не синхронизирована с обновлением мобильной ОС. Например, команде наших специалистов заказчик поручил разработку автотестов под iOS 9, но к моменту завершения проекта уже вышла десятая версия операционки. В результате потребовалось в спешном порядке переписывать автотесты», — рассказывает Николай Стрельцов, заместитель руководителя направления тестирования компании «Аплана». Автоматизация тестирования лучше подходит для проверки простых сценариев. Чем сложнее функциональность, тем больше риски, что возникнут сложности с написанием и поддержкой скриптов автоматизации.
Начинайте подготовку к тестированию с утвержденных списков сценариев, устройств и платформ. Подготовьте заранее «макбук»: разработка автотестов под iOS ведется на компьютере под управлением Mac OS. Перед написанием скриптов сделайте ручные тестовые прогоны сценариев, которые собираетесь автоматизировать — это позволит ускорить процесс написания скриптов.
Как показывает практика, учесть все нюансы каждого конкретного проекта практически невозможно, но к основным «подводным камням» можно подготовиться, если представлять все особенности создания и функционирования мобильных приложений. Таким образом, у тестирования мобильных приложений есть своя специфика. Для успешного выполнения тестирования необходимо сформировать команду профессионалов, которая сможет эффективно взаимодействовать с программистами и бизнес-заказчиками, выберет надежные инструменты и проведет работы с учетом всех факторов работы приложения.
Десктопное или веб-приложение: плюсы и минусы
Сегодня поговорим об отличиях десктопных и веб-приложений. Не обещаем, что сможем быть полностью непредвзятыми, но постараемся честно рассмотреть плюсы и минусы.
Итак, веб-приложение работает через браузер, используя его как среду выполнения, десктопное— устанавливается, запускается и работает локально. Сравним их по основным характеристикам.
Веб-приложение не требует установки, все обновления происходят на сервере, доставляются пользователям сразу — достаточно просто перезагрузить страницу или выйти, а потом снова зайти в аккаунт. Но иногда для его работы нужно установить дополнительные библиотеки или использовать защищенные сетевые протоколы.
Десктопное нужно устанавливать на компьютере или мобильном устройстве, обновлять каждый раз, как выходит новая версия. Несмотря на то, что чаще всего процесс автоматизирован — все равно это занимает время пользователей и ресурсы устройств. Дополнительно придется отслеживать версии на каждом компьютере, смартфоне и планшете.
Веб-приложение публикуется на локальном или облачном сервере, там же происходит процесс обновления. При этом сервер нужен в любом случае, даже если решение совсем простое. Ведь кроме фронтенда, с которым пользователи будут работать через браузер, нужно где-то размещать бэкенд.
Десктопное придется устанавливать вручную на каждом устройстве. В компании, где много рабочих мест, это может занять достаточно много времени. Плюс в том, что не обязательно выбирать сервер или искать ресурсы для публикации, если речь не идет о клиент-серверном решении.
Работа веб-приложения зависит не только от того, насколько грамотно оно разработано и характеристик пользовательского устройства, но также от скорости интернет-соединения, работоспособности удаленного сервера.
Десктопное работает автономно, поэтому главное — качество кода и стабильность оборудования, на котором этот код выполняется. Но если связь с сервером необходима — то возникают те же проблемы, что у «конкурента».
Веб-приложение доступно из любой точки мира, с любого устройства, а пользовательские файлы всегда будут под рукой. Но только если есть интернет-соединение или реализована возможность работы офлайн и загрузки-выгрузки данных.
Десктопное доступно всегда — но только с устройства, на котором оно установлено. Чтобы работать с разных устройств, его придется установить на каждом, а также придумать, где хранить файлы, чтобы всегда иметь к ним доступ.
Веб-приложение одинаково хорошо будет работать на любом устройстве, будь то стационарный компьютер, ноутбук, планшет или смартфон — ведь оно практически не зависит от «железа» или операционной системы. Главное — подходящий браузер. Как правило, для работы большинства веб-клиентов подходят 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.
Готовые блоки кода и визуальные инструменты для работы с ними помогут вам создать готовое веб-приложение и его серверную часть гораздо проще и быстрее, чем методы классического программирования!
Различия между приложениями для компьютера и мобильных устройств
Содержание статьи
Различия между приложениями для компьютера и мобильных устройств
Применить к
For more information about plan types and included capabilities, see the Smartsheet Plans page.
Этот Справочная статья есть в следующих учебных курсах:
Учебный курс
Уровень 1. Начало работы
Познакомьтесь с основами построения таблиц.
С помощью мобильных приложений Smartsheet для iOS и Android можно просматривать данные и работать с ними в пути.
Возможности, имеющиеся только в мобильных приложениях
Между мобильными приложениями и приложением для компьютера есть множество сходств, однако некоторые возможности доступны только в мобильных версиях. В их числе:
Помня об этих различиях, вы можете создавать для участников своей команды процессы, позволяющие работать в пути и за пределами офиса. Например, сотрудники строительной бригады могут добавлять фотографии со стройплощадки с указанием местоположения, а ИТ-специалисты — использовать сканер штрихкодов при инвентаризации аппаратного обеспечения и других материалов.
Подробные сведения об этих и других возможностях см. в соответствующей статье для iOS или Android.
Когда следует использовать приложение Smartsheet на компьютере
Хотя мобильное приложение очень функционально, у него есть определённые ограничения. Приложение для компьютера можно использовать для:
создания новых отчётов и редактирования существующих в построителе отчётов (после настройки отчёта его данные можно редактировать в мобильном приложении).
Разница между настольным, веб и мобильным приложениями
В целом работа с «Форсайт. Аналитическая платформа» в настольном и веб-приложениях совпадает. Работа в мобильном приложении, которое реализовано на основе продукта «Форсайт. Мобильная платформа», несколько отличается. В таблице приведены отличительные особенности работы с каждой функциональностью продукта «Форсайт. Аналитическая платформа» в различных приложениях.
Подключение к данным и их подготовка
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Импорт данных без подготовки | |||
Подключение к внешним базам данных | |||
Структурирование наборов данных | |||
Импорт, экспорт и преобразование данных |
— функциональность доступна в полном объёме;
— функциональность недоступна;
— функциональность доступна с особенностями использования.
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Структурирование наборов данных |
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Оперативный просмотр и анализ данных (OLAP) | |||
Построение аналитических панелей | |||
Построение отчёта для печати | |||
Визуализаторы данных |
— функциональность доступна в полном объёме;
— функциональность недоступна;
— функциональность доступна с особенностями использования.
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Оперативный просмотр и анализ данных (OLAP) |
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Автоматизация существующих методик и алгоритмов | |||
Анализ временных рядов | |||
Интеллектуальный анализ данных | |||
Моделирование и прогнозирование |
— функциональность доступна в полном объёме;
— функциональность недоступна;
— функциональность доступна с особенностями использования.
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Автоматизация существующих методик и алгоритмов |
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Моделирование бизнес-процессов и их выполнение | |||
Построение форм ввода, контроля и согласования данных | |||
— функциональность доступна в полном объёме;
— функциональность недоступна;
— функциональность доступна с особенностями использования.
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Моделирование бизнес-процессов и их выполнение |
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Визуальное конструирование бизнес-приложений |
— функциональность доступна в полном объёме;
— функциональность недоступна;
— функциональность доступна с особенностями использования.
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение | ||||||||||||||||||||||||||||||||||||||||||||||||||||
Визуальное конструирование бизнес-приложений |
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Администрирование и контроль доступа |
— функциональность доступна в полном объёме;
— функциональность недоступна;
— функциональность доступна с особенностями использования.
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение | |||||||||||||||||||||||||||||||||||||||
Администрирование и контроль доступа |
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Перенос объектов между репозиториями и их обновление |
— функциональность доступна в полном объёме;
— функциональность недоступна;
— функциональность доступна с особенностями использования.
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение | ||||||||||||||||||||||||||
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Построение отчётов с использованием надстройки Foresight Add-in for Excel | |||
— функциональность доступна в полном объёме;
— функциональность недоступна.
Разработка и расширение функциональности приложений
Функциональность | Настольное приложение | Веб-приложение | Мобильное приложение |
Инструменты разработки настольного приложения | |||
Инструменты разработки веб-приложения | |||
Интеграция с порталами |
— функциональность доступна в полном объёме;
— функциональность недоступна.
- отличие сайта и веб приложения
- отличное приложение count things from photos