Мир разработки приложений значительно меняется в последние годы, поскольку новые требования и тенденции перекраивают ИТ-ландшафт. В отчете Docker «2024 State of Application Development Report» отмечаются сдвиги в отрасли в сторону искусственного интеллекта и микросервисов, сообщает портал ITPro Today.

Docker, ведущий поставщик инструментов для разработки нативных облачных приложений, уже второй год проводит всестороннее исследование, которое предлагает углубленный взгляд на текущий ландшафт разработки ПО, основанный на опросе более чем 1300 респондентов.

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

Среди основных моментов:

  • Облачная разработка на подъеме. Хотя 64% респондентов по-прежнему ведут разработку преимущественно локально, 36% переходят на нелокальные среды, такие как эфемерные или превью-среды, персональные удаленные среды разработки, а также такие инструменты, как GitHub Codespaces, Gitpod и Coder.
  • Интеграция ИИ/МО становится массовой. 64% респондентов сейчас используют ИИ-инструменты типа ChatGPT, GitHub Copilot и Gemini для таких задач, как написание кода, создание документации и проведение исследований.
  • Ускоряется внедрение микросервисов. От монолитных архитектур к микросервисам переходят почти в три раза больше респондентов, чем наоборот, что свидетельствует о явной тенденции к созданию более модульных и масштабируемых приложений.
  • Безопасность остается проблемой. Несмотря на то, что в отрасли уделяется особое внимание методам обеспечения безопасности на ранних этапах разработки («shift left», «сдвиг влево»), 34% респондентов оценивают задачи безопасности как сложные, а 25% ищут более совершенные инструменты для обеспечения безопасности и устранения уязвимостей.

«Постоянно внедрять инновации в столь быстро меняющейся отрасли — это грандиозная задача, — говорит Джулия Уилсон, UX-исследователь Docker и соавтор отчета. — Настоящая проблема заключается в том, чтобы помочь разработчикам наиболее эффективно использовать преимущества революционных технологий и инструментов, имеющихся в их распоряжении, включая облачные среды разработки, ИИ и средства обеспечения безопасности, облегчают внедрение практики shift left».

Безопасность остается главной проблемой для разработчиков приложений

Для Уилсон самым большим сюрпризом стал ряд выводов, касающихся безопасности.

В частности, «сдвиг влево» в области безопасности действительно происходит. Эта концепция заключается в том, что обеспечение безопасности происходит на ранних этапах процесса разработки, а не в его конце. В то же время, как отмечает Уилсон, только 14% респондентов считают «сдвиг безопасности влево» важной тенденцией.

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

«Все вместе это говорит о том, что „сдвиг влево“ происходит, но сталкивается с препятствиями, — говорит Уилсон. — Возможно, он осуществляется не совсем правильным образом, что приводит к разочарованию».

По ее словам, несомненно очень важно решать проблемы безопасности на ранних этапах. В то же время, при этом необходимо обращать особое внимание на имеющиеся инструменты, чтобы сделать изменения легкими, иначе это может привести к увеличению нагрузки на разработчиков, то есть к увеличению времени, которое им придется проводить вдали от самого кода.

Влияние ИИ на разработку приложений

Пожалуй, самым громким трендом 2024 г. является ИИ, и этот тренд также оказывает явное влияние на разработку приложений.

«ИИ меняет и то, что разрабатывается, и то, как разрабатывается, так что это поворотная для отрасли технология, и она уже меняет ситуацию», — говорит Уилсон.

По ее словам, многие основные процессы разработки могут измениться, поскольку все больше специалистов начинают работать с машинным обучением. По данным отчета, 46% респондентов в той или иной мере используют ИИ. «ИИ-инструменты для разработки помогают разработчикам автоматизировать задачи, которые в противном случае могли бы отнимать у них много времени, — говорит Уилсон. — Это позволяет им уделять больше времени сложным и творческим задачам, ускоряя циклы разработки».