Требования к клиентским приложениями

Что вы подразумеваете под тонким клиентским приложением?

Что вы подразумеваете под тонким клиентским приложением?

Тонкое клиентское приложение — это то, где вся бизнес-логика на стороне сервера, но очень маленький код на стороне клиента, как мы видим в веб-приложениях, где очень мало кода, доступного в javascript, но вся логика обработки находится на сервере,

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

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

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

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

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

A веб-приложение — это в большинстве случаев приложение с тонким клиентом, хотя оно не всегда считается таковым (поскольку термин «тонкий клиент» традиционно используется в контексте терминальных служб ( Смотри ниже)). Веб-браузер делает немного больше, чем эти функции ввода/отображения пользователя (хотя для выполнения некоторых из них требуется немного тяжелый подъем javascript). С появлением «Web 2.0″ и его веб-браузеров с быстрым и надежным javascript, html5-функциями, такими как холст и т.д., Различие между веб-приложениями и тонким клиентом может снова размываться. В целом, из-за того, что их тяжелый сервер поддерживает эти приложения, и из-за их способности » просто работать» (без установки на стороне клиента) веб-приложения будут считаться «тонким клиентом», я думаю, даже когда клиент получает большие скрипты, поэтому он может поддерживать несколько функций локально.

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

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

Требования к клиентским приложениями

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

Статья ориентирована на тестировщиков, которых просят провести ревью ТЗ и найти в нём несоответствия, и на аналитиков, которым разработчики после прочтения ТЗ часто задают вопросы формата: «А что должно быть, если …?».

Итак, с чего начать?

Общие вопросы по приложению

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

  1. Для каких платформ будет разрабатываться приложение и какие версии ОС будут поддерживаться? Необходимо всегда помнить о минимальной поддерживаемой версии ОС. Иначе можно обнаружить, что функциональность не работает у пользователей, когда задача уже закрыта.
  2. На каких устройствах необходимо проверить приложение? Например, приложение должно работать как на смартфонах, так и на планшетах. Или должна быть поддержка Apple Watch.
  3. Какую ориентацию экранов поддерживает приложение? Портретная и/или ландскейп? Неприятный момент: если смена ориентации экрана хорошо работает на смартфонах, это не значит, что всё будет так же на планшетах.
  4. На каких девайсах приоритетнее всего смотреть? На ваших девайсах приложение может идеально работать, а вот у заказчика на любимом (вставьте китайский android-смартфон) все разъехалось.
  5. Должен быть идеальный пиксель-перфект или допускаются некоторые погрешности? Привет, тестирование на соответствие макетам! Ещё неплохо уточнить, должна ли растягиваться вёрстка или под каждый размер экрана должны быть свои макеты?
  6. Существуют ли другие клиентские приложения? Например, есть админка, которая внезапно начнет удалять или добавлять элементы. Или веб-версия, которая существует уже в продакшене. Главное – узнать об этом как можно раньше.
  7. Есть ли какие-то внешние устройства, которые могут повлиять на логику мобильного приложения? Например, beacon’ы, отправляющие сигналы приложению, или принтеры, печатающие информацию из приложения.
  8. Какая целевая аудитория у приложения? Все пользователи в Play Market/AppStore или 50 человек в компании заказчика?

Разбор приложения по экранам

Далее рассмотрим функциональность, которая часто используется в приложениях.

Навигация в приложении

Виды поддерживаемой локализации:

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

Часто мобильные приложения включают в себя списки. Для них стоит обратить внимание на следующие моменты:

  1. Первая загрузка списка. Сколько элементов загружаются за один раз? Что происходит при загрузке? Какое максимальное время может загружаться список?
  2. Наличие пэйджинга. Есть ли подгрузка элементов при скролле или весь список загружается за раз? Если есть подгрузка, то обязательно надо проверить, что элементы на границах не пропадают и не дублируются.
  3. Обновление списка (см. варианты выше).
  4. Наличие разделов.
  5. Наличие фильтров/сортировок. Фильтр может быть локальным или серверным. Для списков, которые загружаются целиком или зашиты внутри приложения, фильтры чаще всего локальные, и тестирование их не вызывает особых трудностей. Для списков с подгрузкой фильтры могут повлечь большое количество проверок. Аналогично для сортировок.
  6. Состав каждого элемента в списке. Тут может быть как элементарный текст, так и целые экраны со своей внутренней логикой.
  7. Взаимодействие с элементами. Добавление нового элемента, удаление, скрытие, перетаскивание.
  8. Синхронизация списка между всеми устройствами. В качестве примера можно привести синхронизацию файлов после его изменения на всех устройствах.
  9. Сохранение позиции скролла. При переходах между разделами или при возвращении на экран со списком может быть очень важной фичей. Например, если это лента постов.
Другие статьи:  Как оплатить налог на авто если нет квитанции

Поиск по списку

Регистрация/авторизация через соцсети

Отправка файлов на сервер и скачивание на устройство

Внешние устройства

Аудиоплеер/видеоплеер

Оплата банковской картой

Время, календарь, таймер

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

Клиентские приложения среднего уровня Middle-Tier Client Applications

В этом разделе описываются различные вопросы, относящиеся к среднего уровня клиентских приложений, использующих Windows Communication Foundation (WCF). This topic discusses various issues specific to middle-tier client applications that use Windows Communication Foundation (WCF).

Увеличение производительности клиента среднего уровня Increasing Middle-Tier Client Performance

По сравнению с предыдущими технологиями связи, например веб-служб с помощью ASP.NET ASP.NET , создание экземпляра клиента WCF может быть более сложной из-за богатого набора возможностей (WCF). Compared to previous communications technologies, such as Web services using ASP.NET ASP.NET , the creation of a WCF client instance can be more complex due to the rich feature set of WCF. Например, при открытии объекта ChannelFactory он может установить безопасный сеанс со службой, что увеличит время запуска экземпляра клиента. For example, when a ChannelFactory object is opened it can establish a secure session with the service, a procedure that increases the startup time for the client instance. Обычно такие дополнительные функциональные возможности не сильно влияет на клиентские приложения, так как клиент WCF выполняет несколько вызовов, а затем закрывается. Typically, these additional feature capabilities do not affect client applications greatly since the WCF client makes several calls, and then closes.

Клиента среднего уровня приложения, тем не менее, можно быстро создавать множество объектов клиента WCF и, в результате возникают более высокие требования инициализации. Middle-tier client applications, however, can create many WCF client objects quickly and, as a result, experience increased initialization requirements. Существует два основных подхода к увеличению производительности приложений среднего уровня при вызове служб. There are two main approaches to increasing the performance of middle-tier applications when calling services:

Кэширование объекта клиента WCF и использовать его для последующих вызовов, где это возможно. Cache the WCF client object and reuse it for subsequent calls where possible.

Создание ChannelFactory объекта и его использование для создания нового клиента WCF объектов каналов для каждого вызова. Create a ChannelFactory object and then use that object to create new WCF client channel objects for each call.

При использовании этих подходов следует рассмотреть следующие вопросы. Issues to consider when using these approaches include:

Если служба отслеживает состояние конкретного клиента с помощью сеанса, не может использовать клиент WCF среднего уровня с запросами уровня нескольких клиентов, так как состояние службы связано с клиента среднего уровня. If the service is maintaining a client-specific state by using a session, then you cannot reuse the middle-tier WCF client with multiple-client tier requests because the service’s state is tied to that of the middle-tier client.

Если служба должна выполнить проверку подлинности на основе отдельных клиентов, необходимо создать новый клиент для каждого входящего запроса на среднем уровне вместо повторного использования клиента WCF среднего уровня (или в объекте канала клиента WCF), так как учетные данные клиента среднего уровня Невозможно изменить после клиент WCF (или ChannelFactory ) был создан. If the service must perform authentication on a per-client basis, you must create a new client for each incoming request on the middle tier instead of reusing the middle-tier WCF client (or WCF client channel object) because the client credentials of the middle tier cannot be modified after the WCF client (or ChannelFactory ) has been created.

Поскольку каналы и клиенты, созданные этими каналами, потокобезопасны, они могут не поддерживать запись нескольких сообщений по сети одновременно. While channels and clients created by the channels are thread-safe, they might not support writing more than one message to the wire concurrently. При отправке больших сообщений, в частности, при потоковой передаче, операция отправки может заблокироваться, ожидая завершения еще одной отправки. If you are sending large messages, particularly if streaming, the send operation might block waiting for another send to complete. Это может стать причиной возникновения двух проблем: отсутствия параллелизма и возможности взаимоблокировки, если поток команд управления возвращается в службу, повторно используя канал (т. е. общий клиент вызывает службу, путь кода которой приводит к обратному вызову общего клиента). This causes two sorts of problems: a lack of concurrency and the possibility of deadlock if the flow of control returns to the service reusing the channel (that is, the shared client calls a service whose code path results in a callback to the shared client). Это верно независимо от типа клиента WCF, который можно повторно использовать. This is true regardless of the type of WCF client you reuse.

Каналы со сбоем необходимо обрабатывать независимо от того, используется ли канал совместно. You must handle faulted channels regardless of whether you share the channel. Однако, если каналы используются повторно, канал со сбоем может привести к отмене нескольких ожидающих запросов или отправок. When channels are reused, however, a faulting channel can take down more than one pending request or send.

Пример, демонстрирующий советы и рекомендации для повторного использования клиента для нескольких запросов см. в разделе привязки данных в клиенте ASP.NET. For an example that demonstrates best practices for reusing a client for multiple requests, see Data Binding in an ASP.NET Client.

Кроме того, можно повысить производительность при запуске для клиентов, которые используют типы данных, сериализуемые при помощи сериализатора XmlSerializer, создают и компилируют код сериализации для этих типов данных в среде выполнения, что может привести к снижению производительности при запуске. In addition, you can increase the startup performance for those clients that use data types that are serializable using the XmlSerializer generate and compile serialization code for those data types at runtime, which can result in slow start-up performance. ServiceModel Metadata Utility Tool (Svcutil.exe) может повысить производительность при запуске этих приложений путем создания кода необходимости сериализации из компилированных сборок для приложения. The ServiceModel Metadata Utility Tool (Svcutil.exe) can improve start-up performance for these applications by generating the necessary serialization code from the compiled assemblies for the application. Дополнительные сведения см. в разделе как: улучшения запуска время клиентских приложений WCF с помощью класса XmlSerializer. For more information, see How to: Improve the Startup Time of WCF Client Applications using the XmlSerializer.

Другие статьи:  Транспортный налог для пенсионеров в тюменской области

См. также See Also

Мы бы хотели узнать ваше мнение. Укажите, о чем вы хотите рассказать нам.

Клиентское приложение для вызова такси

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

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

Приложение Такси на Андроид: в чем преимущества?

Программа для такси на Андроид – это удобное приложение для водителей и клиентов. Наличие мультифункционального GPS-таксометра позволит подстроиться под любые тарифы, а тревожная кнопка SOS защитит от непредвиденных ситуаций в дороге.

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

  1. Удобный интерфейс. Адаптация под мобильные устройства.
  2. Быстрая инсталляция без кэша и других необходимых утилит.
  3. Хорошая техподдержка, работающая круглосуточно.
  4. Удобная работа для клиента, диспетчера и оператора.
  5. Регулярные доработки, совершенствование и устранение багов.

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

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

Требования к клиентским приложениями

Обзорные видеоролики по настройке и работе в bpm’online с пошаговыми инструкциями

Записи вебинаров по функциональным возможностям и разработке на платформе bpm’online

Обзорные видеоролики по настройке и работе в bpm’online с пошаговыми инструкциями

Записи вебинаров по функциональным возможностям и разработке на платформе bpm’online

Вебинар «Основы внедрения bpm’online»
Смотреть >>>

Вебинар: Обзор релиза bpm’online 7.12
Смотреть >>>

Вебинар ‘Управление маркетинговыми кампаниями’
Смотреть >>>

Системные требования к клиентскому компьютеру

Программные продукты на платформе bpm’online — это web-приложения, которые не требуют установки клиентской части. Работа с системой осуществляется с помощью интернет-браузера.

Минимальное разрешение монитора — 1280х768.

Рекомендуемые требования к каналу связи соединения клиент-сервер — 512 Кбит/сек на одного активного пользователя.

Дополнительное программное обеспечение

На пользовательском компьютере должен быть установлен один из следующих браузеров:

Требования к клиентским приложениями

Обзорные видеоролики по настройке и работе в bpm’online с пошаговыми инструкциями

Записи вебинаров по функциональным возможностям и разработке на платформе bpm’online

Обзорные видеоролики по настройке и работе в bpm’online с пошаговыми инструкциями

Записи вебинаров по функциональным возможностям и разработке на платформе bpm’online

Вебинар «Основы внедрения bpm’online»
Смотреть >>>

Вебинар: Обзор релиза bpm’online 7.12
Смотреть >>>

Вебинар ‘Управление маркетинговыми кампаниями’
Смотреть >>>

Системные требования к клиентскому компьютеру

Программные продукты на платформе bpm’online — это web-приложения, которые не требуют установки клиентской части. Поскольку работа с приложением осуществляется в интернет-браузере, рекомендуемые параметры клиентского компьютера должны соответствовать требованиям браузера. Ориентировочные характеристики приведены в таблице:

Минимальное разрешение монитора

Pentium 4, Athlon 64 и выше с поддержкой SSE2.

Рекомендуемый объем — 2 ГБ. При работе рекомендуется 512 МБ свободной оперативной памяти.

Рекомендуется 500 МБ свободного пространства.

Рекомендуемые требования к каналу связи соединения клиент-сервер — 512 Кбит/сек на одного активного пользователя.

Дополнительное программное обеспечение

На пользовательском компьютере должен быть установлен один из следующих браузеров:

Операционная система Microsoft Windows:

Google Chrome последней официальной версии на дату релиза bpm’online

Mozilla Firefox последней официальной версии на дату релиза bpm’online

Microsoft Internet Explorer версии 11 и выше;

Операционная система OS Х последней официальной версии

Apple Safari последней официальной версии на дату релиза bpm’online

Ознакомиться с датами выпуска версий bpm’online вы можете в календаре релизов .

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

Десктопное приложение или веб-клиент, вот в чем вопрос!

«То о бэнтли я мечтал, то о мазерати,
То рыбалка, то футбол, то с друзьями пати…»
Группа Жуки

​Захотелось мне что-то провокационной статьи, так сказать взбодрить чем-то наше профессиональное сообщество. Хватит заумных статей и философских рассуждений. Итак, делимся на две команды: «любители Соса-Cola – горнолыжники – виндсерферы» против «любители Pepsi – сноубордисты – кайтеры». Счет на табло 0-0, начинаем!

Правила игры и критерии оценок

Сначала давайте определимся, что же будем считать десктопным приложением, а что же веб-клиентом:

  • Десктопное приложение – клиентское программное обеспечение, реализующее Windows Forms интерфейс. Приложение инсталлируется на рабочую станцию пользователя и запускается локально, или запускается удаленно. Допускается вариант запуска такого приложения с использованием ввода URL адреса в браузере, но от этого веб-клиентом не становится, также как и благодаря запуску с помощью различного рода эмуляторов;
  • Веб-клиент – клиентское программное обеспечение, представляющее собой браузер и использующее http/https протоколы. Приложение не требует инсталляцию или загрузку программных модулей на рабочую станцию пользователя. Допускается установка дополнительных общесистемных библиотек и использование защищенных сетевых протоколов, и от этого десктопным приложением не становится.

При использовании любого из перечисленных клиентских приложений может применяться трехзвенная архитектура – Аллилуйя! Термины «толстый» и «тонкий» клиент сюда не вплетаем. Веб-клиент можно создать совсем не «тонким», ровно также как и с десктопного приложения по максимуму снять обработку бизнес-логики.

Другие статьи:  Образец заявления на выдачу выписки с амбулаторной карты

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

  • Функциональность, простота использования и быстродействие;
  • Возможность кастомизации и стилизации;
  • Мобильность и легкость обновления;
  • Масштабируемость и кроссплатформенность;
  • Безопасность и надежность;

Для простоты будем считать, что каждое удачное попадание – 1 очко, т.к. бессмысленно сравнивать, что важнее мобильность или безопасность.

Надеюсь, разобрались и можно начинать «играть». Звучат гимны команд, понеслась…

Первый период

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

Как правило, обоснования такие:

  • мобильность (можно войти в систему с любого компьютера подключенного к глобальной сети Интернет);
  • легкость развертывания и обновления (не требуется переустановка программных модулей на рабочих станциях пользователей);
  • простота создания тестовой и продуктивной среды (на сервере приложений развернуто два веб-приложения к одной БД, таким образом, тестирование новых версий программного обеспечения отдельными группами пользователей становится удобным и сравнительно «безопасным», т.к. всегда можно вернуться к действующей версии системы обратившись к ней по другому адресу);

Часть этих преимуществ можно достичь и в варианте с десктопным приложением используя RDP доступы, доменные политики и прочее. Но в целом, удар из штрафной площади и 1-0 в пользу веб-клиента. Свисток, центр поля.

Безопасность и надежность – очень серьезный вопрос. Некоторые организации принципиально не хотят и не предоставляют возможность работы в корпоративных системах за пределами своего домена. Необходимость применения средств криптографической защиты информации (СКЗИ) и электронной подписи (ЭП) уже давно никому доказывать не надо, за нас это делают регуляторы. Для использования данных технологий необходимо обращаться к сторонним библиотекам, не все веб-приложения это «любят» и имеют ограничения. Стабильность работы самих браузеров также является потенциально узким местом, причем повлиять на это разработчик бизнес-приложения может не всегда. Оффлайн работа, объективно, чаще и проще реализуются с использованием десктопных приложений. В принципе отдельных организаций пока еще пугает работа в браузере (да-да в том самом, в котором сотрудники просиживают часами в социальных сетях, выкладывая туда всю свою подноготную). Это прорыв по флангу и счет 1-1. Звучит свисток, первая половина игры закончена, команды уходят в свои СЭД закрывать накопившиеся поручения.

Второй период

Все покупатели хотят видеть «свой» продукт, отличный от множества других. Конечно, сложно на это надеяться, покупая массовый коробочный продукт. А сделать его «под заказ» значительно дороже и рисково. Но только не в IT области.

Повальная мода на скины, по-моему, уже прошла, или я постарел, и иметь не классическую «морду» аудио-проигрывателя мне уже не принципиально. Тем не менее, возможность изменить цветовую раскраску, логотипы, иконки, шрифты базовых интерфейсов – хороший бонус для клиента. Десктопные приложения могут предоставлять возможность применения цветовой темы, настройки отдельных интерфейсных элементов, но веб-приложения, применяя каскадные таблицы стилей, с этим справляются явно лучше. Возможность кастомизации определяется степенью развития самого программного продукта и тип клиентского приложения тут не должно иметь особой роли. Счет 2-1 и «браузерники» вырываются вперед.

Функциональность – важнейшее требование к любому программному продукту. Исторически считается, что десктопные приложения более функциональны и эргономичны. Если пытаться разрабатывать веб-клиент с нуля, то так оно и будет. Но с годами были разработаны целые интерфейсные библиотеки, позволяющие творить «чудеса»:

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

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

Современный пользователь компьютера не меньше времени проводит в браузере, чем тратит его на работу с десктопным приложением. И первый вариант работы сложнее ему не кажется. Зато возможность масштабирования в браузере, отдельным категориям пользователей, приносит ощутимую пользу. Опасность у ворот команды веб-клиента была устранена. Счет по-прежнему 2-1.

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

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

Когда пользователь заходит на рядовой публичный сайт в Интернете он надеется увидеть корректное представление страниц с сохранением всей заложенной функциональности. Причем, посетитель сайта не хочет знать «под какие устройства» сайт создавался (стационарный компьютер или ноутбук, планшет или смартфон), это его вообще не должно беспокоить. Почему же ровно также не рассуждать пользователю корпоративной информационной системы. Зачем пользователю, находящемуся вне офиса и имеющему на руках планшет за 1000$ переживать, что он не сможет исполнить поручение, выданное ему в СЭД. Надо ли сотруднику при выборе планшета изучать вопрос, а сможет ли он конкретно с этого планшета (с его операционной системой), корректно работать в десятках корпоративных систем своей организации. А если завтра он купит другой планшет (с другой программной платформой), система на нем будет ровно такой же, к которой он привык или уже другой, а придется что-то заново скачивать и устанавливать?

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

Послесловие

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