Довідковий матеріал

Мінімізація коду, що виконується на клієнті

1.1. Необхідно мінімізувати обсяг коду, який виконується на боці клієнтського застосунку. Зокрема не слід виконувати на клієнті складні алгоритми, що потребують значних ресурсів комп’ютера. У таких випадках виконання алгоритму на клієнті може займати значно більше часу, ніж передавання керування з клієнта на сервер, виконання алгоритму на сервері та повернення результату назад на клієнт.

1.1. Необхідно мінімізувати обсяг коду, який виконується на боці клієнтського застосунку. Зокрема не слід виконувати на клієнті складні алгоритми, що потребують значних ресурсів комп’ютера. У таких випадках виконання алгоритму на клієнті може займати значно більше часу, ніж передавання керування з клієнта на сервер, виконання алгоритму на сервері та повернення результату назад на клієнт.

Слід розміщувати такі алгоритми в серверному коді, виконуючи до них мінімально необхідну кількість звернень із клієнта.

Див. також: Мінімізація кількості серверних викликів

Ця вимога зумовлена тим, що

  • як правило, клієнтський комп’ютер менш продуктивний, ніж серверний комп’ютер;
  • необхідністю прийнятної якості роботи у вебклієнті. Клієнтський код виконується інтерпретатором вбудованої мови, який у вебклієнті працює помітно повільніше, ніж у тонкому або товстому клієнті.

1.2. Рекомендується залишати на клієнті такі алгоритми, швидкість роботи яких свідомо вища, ніж витрати, необхідні на виклик однієї серверної функції. Наприклад, перерахунок доступності елементів керування у формі при зміні користувачем даних виконується на клієнті, оскільки контекстний серверний виклик для складної форми може зробити роботу користувача в цій формі неприйнятною.

Див. також: Особливості табличного документа у вебклієнті

2.1. Виняток із цього правила становлять окремі випадки, коли функціональна підсистема призначена для роботи з програмним забезпеченням, установленим на клієнтському комп’ютері. Наприклад, робота з торговельним обладнанням, інтеграція з клієнт-банком, формування друкованих форм в офісні програми тощо.

2.2. У тих випадках, коли функціональна підсистема призначена для роботи з клієнтським програмним забезпеченням лише в певних режимах роботи клієнта, слід використовувати директиви препроцесора. Наприклад, для коду, недоступного у вебклієнті:

 
 
 #Якщо ВебКлієнт Тоді
	 Попередження(НСтр("ru = 'Завантаження адресного класифікатора недоступне у вебклієнті.'"));
 #Інакше
	 ВідкритиФорму("РегистрСведений.АдресныйКлассификатор.Форма.ФормаЗагрузкиАдресногоКлассификатора");
 #КінецьЯкщо
Записатися телефоном