Перейти к содержимому

Что такое кастомизация в программировании

  • автор:

Разработка приложений со 100%-й кастомизацией. Customization Driven Development (CDD)

В данной статье я хочу поделиться своим опытом разработки интерфейсов с уровнем кастомизации вплоть до 100% (реальные 100%). При этом сохраняется обратная совместимость и возможность апдейтов. Магия? — Нет, это CDD!

Все началось еще в 2018 году в одной крупной международной компании. Меня пригласили в главный офис для объяснения топ руководству как мы будем решать проблему кастомизации нашего продукта, а конкретно UI части. Клиентам необходимо было немного изменить его под себя и кое-что добавить. Нужно было сохранить обратную совместимость, чтобы клиенты могли получать обновления продукта. Тогда я знал только про возможности добавления “дыр” в коде (slots), в которые можно добавить любой функционал. Ну еще и про API, уже для изменения функциональности. Понятно что ни о какой возможности кастомизации на все 100% речи не шло, ведь тогда нужно изменять исходный код, а это само собой потеря обратной совместимости.

Конечно CDD нужен далеко не всем. Эта техника будет крайне полезна при разработке продукта, клиентам которого необходима глубокая кастомизация. Я имею ввиду, не просто поменять логотип и название, а поменять абсолютно все что душе угодно. И при этом не потерять возможность будущих апдейтов продукта.

Как же добиться практически 100%-й кастомизации и без единого разрыва без потери обратной совместимости?

В CDD используется «декларативная кастомизация», т.е. все представление с логикой должны быть вывернуты наружу для возможности полной кастомизации. Если необходимо кастомизировать определенные части довольно сложной компоненты, тогда мы просто отображаем ее более простые внутренние компоненты. Эти компоненты могут быть упакованы в так называемый “черный ящик” с богатым API и “дырами” (slots), либо также отображены еще более простыми компонентами. Представление с логикой любых компонент (кроме примитивных) всегда можно вывернуть наружу, для получения 100% доступа.

И здесь вы можете возразить: “Но как же, ведь когда мы используем внутреннее содержимое, тогда мы теряем возможность апдейтов!”. Нет, это не совсем так, и вот почему:

  1. Компонента любой сложности (кроме примитивной) — это всего лишь набор более простых компонент, который всегда есть в свободном доступе и при ее апдейте, мы наглядно видим что и где в этом наборе изменилось и можем очень просто и быстро проапдейтить ее вручную (если это нужно);
  2. Сложная компонента состоит из менее сложных компонент, которые мы можем оставить в их стандартном, упакованном виде, если нам не нужна их глубокая кастомизация и естественно будем получать их апдейты автоматически;

Хорошо. А как же этого добиться? Какие шаги?

Сначала нужно разработать самые примитивные компоненты. Они могут, а некоторые из них даже должны иметь по 2 варианта:

  1. Стандартный компонент, “черный ящик” с богатым API и “дырами” (slots), удобен в использовании, но имеет ограниченные возможности кастомизации ;
  2. Компонент-обертка, расширяет возможности контента, который вы сами помещаете внутрь. Менее удобен в использовании, но имеет гораздо большие возможности кастомизации, вплоть до 100%. Обязательно для стандартных HTML элементов: , , , , , , …

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

В теории все хорошо. А как дела обстоят на практике?

Я создал технологию https://uiwebkit.com, которая уже делает это на практике. Еще, я сейчас готовлю к публикации проект поменьше и он уже полностью Open Source. Вот там уже наглядно видны все плюсы CDD. Проект будет крайне полезен тем, кто часто работает со сложными, кастомными HTML формами с динамическими полями и валидациями. Хотелось бы рассказать о нем подробнее, но это тема уже другой статьи.

Хотелось бы еще вспомнить нашумевший проект кастомизируемых мобильных телефонов Project Ara. На его примере можно увидеть что в принципе кастомизация нужна не всем и не всегда. Да и переплачивать за возможность кастомизации мало кто хочет. Но те немногие, кому действительно нужна кастомизация, готовы экспериментировать и пробовать разные подходы, чтобы получить именно тот результат, который соответствует именно их ожиданиям.

Буду рад вашим комментариям и мнению на этот счет, либо можете смело писать в личку. Спасибо!

  • кастомизация
  • веб-сайт
  • интерфейсы
  • интерфейс
  • программирование
  • технологические процессы

Кастомизация

Ольга Голубова

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

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

Для чего осуществляется кастомизация?

YouTube

Свяжите сервисы между собой без программистов за 5 минут!

Подключение Dukaan

Подключение Dukaan

Подключение Monobank

Подключение Monobank

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

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

Настроить интеграцию без программистов ApiX-Drive

Статьи о маркетинге, автоматизации и интеграциях в нашем Блоге

Что такое кастомизация в программировании

Каталог курсов

Направления обучения

Бесплатный курс

начало карьеры

IT-профессии

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

Кастомизация

Кастомизация (от англ. customer — клиент, потребитель) в общеупотребительном смысле — это изготовление массовой продукции под конкретный заказ потребителя путем её комплектации дополнительными элементами или принадлежностями. Можно сказать иначе: кастомизация — это адаптирование имеющегося продукта под конкретного потребителя.

Или запишитесь на наши бесплатные занятия по теме дизайна и UX.

Кастомизация — что это такое и как создать индивидуальный продукт

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

Удовлетворение предпочтений каждого клиента помогает компаниям обходить конкурентов. С этим им помогают возможности “кастомизации”, которая позволяет создавать уникальные продукты под любой запрос. В статье разберём, что это за возможности, в чём отличие кастомизации от персонализации, а также раскроем алгоритм создания кастомного продукта.

Что такое кастомизация

Протестируйте сервис бесплатно!
Пройдите регистрацию, получите бонусные звонки и консультацию менеджера!

Обзор 4 российских браузеров: какими можно пользоваться

Как рассчитать рентабельность продукции, активов, производства и продаж — Формула

Что такое роботизация бизнеса и кому нужны RPA

Онлайн-бизнес: что это такое, его преимущества, типы и основные компоненты + идеи для запуска

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

Что такое маркетинг простыми словами

Как сделать инфографику самостоятельно: инструкция и бесплатные сервисы

Что такое опрос и зачем он нужен + 10 популярных сервисов для их проведения

Что такое промоакция, цели, задачи, методы и особенности

Вам также может понравиться

Автоворонка продаж: что это такое и как запустить свою + примеры

Автоматизированные воронки продаж являются эффективным маркетинговым инструментом для увеличения конверсии

Обзор 4 российских браузеров: какими можно пользоваться

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

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

Сегментация целевой аудитории представляет собой процесс классификации потенциальных клиентов на определенные

Лучшее время для маркетинговых email- и SMS-рассылок

Оптимальное время для отправки сообщений, информационных писем и e-mail или сообщения зависит от целевой

Что такое демпинг, зачем конкуренты демпингуют цены и как с этим бороться

Жажда увеличения прибыли подталкивает предпринимателей к применению различных методов. При этом основными

Российские облачные сервисы для хранения данных

При переносе информации из одного облачного хранилища в другое необходимо предварительно подготовиться

Как повысить цены на товары и услуги без шквала негатива: инструкция

В условиях современной экономики, компаниям часто приходится сталкиваться с необходимостью повышения

10 способов завершения сделки в продажах с примерами

Завершение сделки представляет собой один из наиболее значимых моментов в сфере коммерческой деятельности.

Что такое маржа и маржинальность: как и для чего их считают

В мире бизнеса понятия маржи и маржинальности часто смешиваются или воспринимаются как взаимозаменяемые.

Какие российские операционные системы бывают

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

Работа с клиентской базой — как ее использовать для роста выручки

Работа с клиентами — важная часть деятельности любой коммерческой организации. И не последнюю роль во

Что такое роботизация бизнеса и кому нужны RPA

Изобретение механизмов сильно изменило деятельность человека, даже в тех сферах, где люди считались незаменимыми

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *