Благодаря концепции программирования с минимальным количеством кода, low-code, проектировать программное обеспечение проще и удобнее, но у платформ минимального кодирования есть ряд особенностей, которые должны заставить вас задуматься.
Концепция минимального кодирования — одна из модных тенденций в развитии ИТ, и не случайно. Благодаря платформам минимального кодирования упрощается быстрое проектирование программ и большее число сотрудников может самостоятельно создавать программный инструментарий, необходимый им для эффективной работы. Однако, как у большинства ИТ-технологий, у технологии программирования с минимальным количеством кода есть свои недостатки, и ее нельзя считать универсальным решением. Поэтому, прежде чем применять принципы минимального кодирования, полезно оценить, будет ли такая платформа действительно лучшим средством для вас.
Название технологии минимального кодирования относится к платформам программирования, с помощью которых можно создавать приложения, не прилагая больших усилий к проектированию кода. Обычно пользователи платформ минимального кодирования могут реализовывать функциональность приложений через графические интерфейсы и заранее подготовленные функции.
Платформа минимального кодирования преследует две основные цели. Первая — ускорить разработку приложений, даже для профессиональных программистов, обладающих необходимыми навыками для традиционного проектирования. Вторая — дать возможность строить приложения тем, кто не имеет достаточных навыков, чтобы сделать это другим способом. Например, платформа минимального кодирования будет полезна сотруднику отдела маркетинга, имеющему лишь базовые навыки программирования, чтобы подготовить приложение для сбора и визуализации данных, связанных с маркетинговыми кампаниями. Близкий подход программирования без кода, no-code, позволяет снизить требования к квалификации еще больше.
Технология минимального кодирования превратилась в ключевую область для поставщиков, от Red Hat до Google и Zoho. На сегодня рынок платформ минимального кодирования в денежном выражении составляет более 4 млрд долл. и предполагается, что к 2022 году он вырастет (https://www.prnewswire.com/news-releases/минимального кодирования-development-platform-market-worth-2723-billion-usd-by-2022-668601263.html) до 27 млрд долл.
Ограничения минимального кодирования
Учитывая широкие возможности платформ минимального кодирования, почему компаниям иногда лучше все же отказаться от этого пути?
Можно назвать пять веских причин.
1. Опасность зависимости
Многие платформы минимального кодирования проектировались для построения приложений, запускаемых в конкретной «облачной» среде. Например, приложение, созданное с использованием «облачной» платформы Google App Maker, нельзя переместить на PowerApps, платформу Microsoft. Технически это возможно, но придется, в сущности, все приложение переписать заново. Это означает, что вы попадаете в зависимость от определенной платформы минимального кодирования.
Для некоторых пользователей такая зависимость не обременительна. Если вы используете одно «облако» и не намерены менять его, то, скорее всего, вас не интересует возможность миграции приложений минимального кодирования. Но если в будущем возможны перемены или вы цените гибкость, то зависимость от одной платформы заметно ограничивает применение минимального кодирования.
2. Сравнительно высокие технические требования
Благодаря платформам минимального кодирования и кодирования без кода рядовой сотрудник может проектировать приложения, даже слабо разбираясь в программировании. Но это не означает, что он сможет создавать приложения, не имея никаких технических навыков.
Даже решения без написания кода требуют, чтобы пользователи понимали, как работать с самим инструментом разработки без написания кода. Для его освоения требуется время. На платформах минимального кодирования уменьшается объем программного кода, который приходится составлять пользователям, но готовить его все же необходимо.
Таким образом, перед внедрением решения минимального кодирования или без кодирования убедитесь, что сотрудники обладают или способны овладеть базовыми техническими навыками, необходимыми для работы с инструментами.
3. Ограниченная функциональность
При использовании инструментов минимального кодирования диапазон функциональности, которую можно реализовать в приложении, ограничен возможностями инструмента. В этом смысле платформа минимального кодирования напоминает конструктор из кубиков: можно просто и быстро построить сооружение, соответствующее задумке производителя, но вам не удастся получить что-то иное. В большинстве случаев не существует простого способа добавить пользовательский программный код или функцию в приложение, созданное на платформе минимального кодирования.
4. Потеря эффективности
При использовании инструментов минимального кодирования может сократиться время построения приложения, и в этом отношении они эффективны. Следует упомянуть, что существуют и другие способы ускорить процессы программирования, без помощи инструментов минимального кодирования. Однако приложения, спроектированные на платформе минимального кодирования, редко оптимизируются в смысле эффективности. Если вы хотите повысить быстродействие приложения или уменьшить потребление ресурсов, то его придется проектировать с нуля. Инструменты минимального кодирования не помогут выиграть конкурс по созданию эффективных приложений.
5. Проблемы безопасности
При проектировании приложения с использованием инструмента минимального кодирования нет практически никакой возможности контроля над безопасностью приложения или конфиденциальностью данных. Приходится безоговорочно доверять поставщику платформы минимального кодирования, который должен обеспечить безопасность приложения и любых собираемых и хранимых им данных. Вы не можете даже просмотреть исходный код в поисках потенциальных уязвимостей.
Это приемлемо для большинства типичных бизнес-приложений. Но если вы хотите получить очень надежно защищенную программу, то лучшим решением будет специальное приложение, спроектированное в соответствии с рекомендациями и тщательно проверенное специалистами по безопасности.
В целом технология минимального кодирования — полезный инструмент, но ему свойственны такие недостатки, как низкая эффективность программ, невозможность настройки на конкретные применения, уязвимость и привязка к определенной платформе, а также необходимость технических знаний. Если одно или несколько из перечисленных требований критичны, то от минимального кодирования лучше отказаться.