Платформы разработки с минимальным кодированием Low-code уже доказали свою пригодность, помогая создавать приложения сотрудникам, которые не обладают знаниями в области программирования. Опрошенные порталом Information Age эксперты оценили их преимущества и дальнейшие перспективы.
В последнее время Low-code вышел на передний план как способ ускорить создание приложений при одновременном снижении затрат. Однако насколько реалистичны долгосрочные перспективы Low-code?
Ускорение разработки
Технический менеджер Redis Labs Аджит Райна объяснил, как Low-code вместе с правильно подобранными дополнительными инструментами может ускорить разработку ПО. «Low-code дает гарантии, что ускорить процедуру написания кода или создания программных приложений и сервисов сможет любой, кто пожелает, — сказал он. — Это относится к тем платформам разработки ИИ, которые предлагают готовые алгоритмы и простые рабочие процессы, такие как моделирование методом drag-and-drop. Эти платформы включают в себя визуальные интерфейсы, которые могут легко подключаться к данным и ускорять вывод сервисов и приложений на рынок. Производительность разработчика повышается за счет интеллектуальных предложений для логики приложений. Это позволяет организациям передать больше возможностей для решения проблем в руки непрофессионалов».
По его словам, сегодня с помощью библиотек и инструментов для ИИ и машинного обучения можно создавать мощные приложения с небольшим объемом кода и, что более важно, итеративным способом. Например, чтобы быть эффективным, специалисту по данным достаточно всего несколько строк кода, библиотек TensorFlow, PyTorch, а также интерактивных оболочек типа Jupyter и Apache Zeppelin.
Когда обещания выполняются
Эксперты подтверждают, что упрощенные визуальные эффекты в Low-code существенно упрощают кодирование для тех, кто не обладает техническими навыками. Старший директор по маркетингу продуктов Copado Эндрю Дэвис говорит, что Low-code — это нечто большее, чем просто пустые обещания. «Для таких платформ, как Salesforce — это реальность, которая длится на протяжении десятилетий. Количество платформ Low-code стремительно растет и уже перевалила за 200, включая Microsoft Dynamics, Pega и другие системы, — говорит он. — Грэди Буч, один из отцов современной информатики, сказал, что вся ее история связана с наслаиванием новых уровней абстракции. В дополнение к существующим технологиям Low-code — это просто уровень абстракции, который делает процесс определения логики гораздо более доступным для большинства людей».
Он добавил, что с помощью языка визуального программирования Scratch и других программированию учат даже детей. «Подобно тому, как люди общаются с помощью как слов, как и картинок, эквивалентных примерно 1000 слов, так разработчики могут вести разработку с помощью обычного кодирования либо Low-code, или языков визуального программирования, — поведал он. — Визуальный язык для многих людей намного доступнее, а также безопаснее. Многие бизнес-пользователям, которые являются отличными экспертами в предметной области, могут с помощью систем Low-code лишь немного углубиться в определение логики или пользовательских интерфейсов, не жертвуя часами и днями на разработку функции с помощью более сложных методов».
Красота кода
Технический евангелист New Relic Ночница Фи утверждает, что хотя инструменты Low-code становятся все более распространенными, написание кода не потеряло своей актуальности: «Код, который мы пишем для большинства приложений, является самым простым и удобочитаемым решением для конфигурирования. Инструменты, которые используют для создания кода визуальный редактор узлов, впечатляют, но код — это по-прежнему базовый уровень для расширенного управления. Однажды я создала мобильную видеоигру с помощью визуальных редакторов, но как только рабочие процессы становятся немного сложнее, генерируемый этими инструментами код приходится редактировать».
По ее словам, дело здесь не в особенностях кода: прямой машинный код или любой другой код интерпретируется и запускается в отдельном движке, специфику работы которого знают далеко не все программисты. Например, Ruby — прародитель всех более поздних языков веб-приложений — предназначался не для того, чтобы его было легко запускать на компьютерах, а для того, чтобы код было легко писать и читать.
«В этом плане весьма показательны инструменты конфигурирования CloudFormation. Многие разработчики CloudFormation используют визуальные инструменты для создания шаблонов, никогда напрямую не обрабатывая их YAML-синтаксис, — добавила она. — Однако язык разметки YAML предназначен для прямого редактирования, и по мере того, как пользователи сталкиваются с более сложными задачами, они или редактируют код вручную или создают инструменты, которые управляют YAML напрямую. Следует также отметить, что код остается удобным способом ретрансляции бизнес-потребностей в машинные инструкции и продолжит оставаться „продвинутой версией“ большинства инструментов конфигурирования».
Несогласованное применение инструментов несет риски
Как известно, Low-code увеличивает скорость разработки и расширяет доступность. Однако рассмотрение его как отдельной экосистемы сопряжено с определенными рисками. «Все еще существует риск, что команды часто будут изолировать друг от друга программную разработку Low-code и высокоуровневую разработку, — сказал вице-президент Domo Бен Шейн. — Если люди работают на Python или Kubernetes, конфигурация интерфейса Low-code с ними согласуется не всегда, что вызывает напряжение в команде и мешает сотрудничать. Чтобы реализовать преимущества Low-code, нам нужно найти способ его использования для развития уже существующих ресурсов High-code. В качестве отправной точки нужно интегрировать платформы по API, чтобы High-code могла взаимодействовать с программной платформой Low-code и передавать информацию. Мы рассматриваем совместную работу обеих платформ как приоритет, полагая, что их разрозненная работа ведет в тупик».
Райна добавил: «Несмотря на то, что Low-code выглядит многообещающе, у него имеются свои проблемы. К примеру, мало что известно о том, как управлять, поддерживать и масштабировать приложения. Еще одна проблема — отсутствие прозрачности. Это связано с отсутствием контроля за данными, которые генерируются командой (или ее частью), применяющей платформу Low-code. Иногда это может привести к значительным потерям ресурсов для многих организаций».
Навыки программирования по-прежнему актуальны
Пытаясь понять перспективы Low-code на предприятии, следует учесть еще один момент — это постоянная потребность в навыках кодирования. «Это правда, что разработка приложений Low-code/No-code набирает популярность. Это подтверждает недавнее исследование Pluralsight, в котором говорится, что половина (51%) новых технических сотрудников знает только один язык программирования или вообще не знает ни одного, — говорит старший вице-президент Pluralsight в регионе EMEA Шон Фаррингтон. — Однако это не означает, что традиционные навыки кодирования устарели — они по-прежнему нужны и их требуется изучать. Такие языки, как Java, Python и Cи, остаются обычным явлением в организациях во всех отраслях, и это, вероятно, будет продолжаться в течение многих лет. Они лежат в основе всех современных прикладных разработок, новых процессов безопасности и обработки данных и продолжат поддерживать конкурентоспособность и инновационность бизнеса».
Более того, стоит изучать даже те языки, которые многие люди считают устаревшими. «Возьмем, к примеру, COBOL. Этому языку 50 лет, и он редко преподается новым разработчикам ПО — зачем изучать такой устаревший язык, когда из года в год создаются новые? На самом деле он востребован, причем речь идет о миллиардах строк кода. COBOL лежит в основе систем многих государственных и банковских организаций. Следовательно, в обозримом будущем хорошее знание этих устаревших языков будет иметь жизненно важное значение для поддержания работоспособности систем или перехода на новые способы работы», — заключил он.