Написание приложений с нуля — трудоемкий процесс, требующий серьезных навыков разработки, часто сильно зависящих от целевой платформы. Платформы и инструменты разработки категории low-code (а иногда и no-code) ускоряют и снижают требования к квалификации участников процесса разработки, хотя у них есть свои собственные траектории обучения специалистов.
В общем случае, платформа разработки low-code предусматривает визуальный конструктор приложений посредством буксировки (drag-and-drop), модули, формы, процессы, потоки работ, модели данных, интеграции и один или несколько языков программирования, которые можете использовать в рамках этой платформы. Результатом разработки на такой платформе является спецификация, которую можно исполнить непосредственно либо компилировать в приложения. Приложение может взаимодействовать (а может и не взаимодействовать) с серверной частью платформы.
Существует несколько альтернативных парадигм проектирования приложений в режиме low-code — генераторы, шаблоны и простые языки конструирования. Например, генераторы, которые просматривают ваши базы данных и генерируют формы с привязкой к данным для каждой таблицы базы данных, позволяют начать работу очень быстро, в дальнейшем редактируя в соответствии с дополнительными требовании первоначально сгенерированные формы. Шаблоны более привлекательны, но менее гибки. Некоторые среды позволяют начать со сканирования форм, нарисованных на бумаге; другие позволяют начать с изображений, выполненных в Photoshop.
Задачи для разработки low-code такие же, что и для приложений, написанных вручную: настольных, веб- и мобильных. Настольные приложения обычно рассчитаны в рамках графических интерфейсов пользователя Windows, macOS и Linux. Веб-приложения должны работать во всех браузерах (Chrome, Edge, Safari, Firefox и Opera), и им необходимо оперативно обрабатывать различные размеры экрана. Мобильные приложения в первую очередь ориентированы на iOS и Android. Гибридные веб-приложения совмещают собственную оболочку с веб-контентом.
Некоторые платформы low-code генерируют нативный код, поэтому внешний вид и скорость создаваемых ими приложений очень похожи на приложения, написанные вручную. Другие исполняются интерпретатором, что иногда может порождать проблемы с производительностью, но этот вариант может быть достаточно хорош для приложений, которые не предполагают массового использования.
Условия лицензирования у разных поставщиков платформ разработки low-code сильно различаются. Некоторые схемы ценообразования могут сделать продукт непригодным для использования — например, плата по числу пользователей при применении к потребительским приложениям с потенциально очень широкой аудиторией.
Что такое разработка no-code?
Разработка no-code — это, по сути, та же разработка low-code, но без языка программирования, который вы могли бы использовать в продукте. Создатели подобных платформ иногда создают ухищренные визуальные инструменты, призванные заменить написание фрагментов кода, но инструменты эти, как правило, неудобны и отнимают много времени.
Платформы no-code, как правило, удобны и простоты в начале цикла разработки. К сожалению, у них часто есть ограничения, которые рано или поздно начинают мешать разработке — вплоть до ее остановки. Поставщики платформ иногда обходят эту проблему, предлагая целый маркетплейс модулей, которые можно интегрировать с разрабатываемыми приложениями, чтобы расширить их функции. Профессиональным же разработчикам они иногда даже предлагают SDK, с помощью которых можно писать новые модули.
Кто занимается разработкой low-code?
Продавцы low-code обычно говорят о нескольких типах пользователей своих продуктов. К ним относятся «гражданские разработчики» или «высококвалифицированные пользователи», а также бизнес-аналитики, администраторы баз данных и профессиональные программисты.
Чтобы добиться успеха, команда, занимающаяся разработкой в режиме low-code, должна понимать бизнес, знать платформу разработки, понимать существующий ИТ-ландшафт (особенно корпоративные приложения и базы данных) и обладать поддержкой со стороны руководства. Иногда удается найти одного человека со всеми необходимыми навыками, однако как правило необходима группа, которая готова работать вместе.
Существуют ли гражданские разработчики?
Термин «гражданские разработчики», похоже, пришел из мира аналитических систем, и у него тяжелое прошлое. Фактически, речь идет о не-разработчиках, не проходивших специального обучения, на которых тем не менее возложена ответственность за конфигурирование приложений. Я встречал несколько «гражданских разработчиков», так что они действительно существуют, но я обнаружил, что хорошие их представители быстро учатся кодировать на базовом уровне и свободно пользуются своим набором инструментов из разряда low-code. Однако большинство «гражданских разработчиков» знают только то, что им нужно, об инструментах, которые им необходимы для выполнения их обязанностей, оставляя собственно программирование другим людям.
В преимущества разработки low-code?
Разработка low-code часто сокращает время, необходимое для создания приложений, и снижает затраты. Она позволяет сотрудникам, обладающим лишь базовой квалификацией в сфере ИТ, вносить свой вклад в разработку, не полагаясь полностью на программистов и администраторов баз данных. На самом деле менее квалифицированные сотрудники могут оказаться теми, кто лучше всего понимает бизнес и цель приложения. «Менее квалифицированный» здесь относится лишь к их уровню знаний в области программирования.
Когда следует использовать разработку low-code?
Если вы уже обладаете платформой low-code с разумной лицензией, которая позволяет вам быстро создавать приложения, со всеми необходимыми возможностями и интеграциями и приемлемой производительностью, вам следует пользоваться ею всякий раз, когда это возможно. Единственными исключениями могут быть потребительские приложения, для которых производительность более важна, чем время вывода на рынок и минимизация затрат на разработку.
В целом, платформы разработки low-code могут найти себе применение в самых разных компаниях — от предприятий с многолетним отставанием в разработке приложений до тех, которые готовы производить своими силами любые необходимые им программные системы. Считайте low-code своим секретным оружием.