Что софт грядущий нам готовит

Актуальные тенденции разработки ПО

Последние несколько лет сильно изменили наш цифровой опыт. Массовый переход в онлайн подсветил необходимость использования передовых методов разработки. Веяния времени требует увеличения скорости создания и повышения качества софта для обеспечения необходимого time-to-market, снижения издержек и максимального удобства пользования.

Сегодня разбираемся, что нынче модно в разработке ПО.

Все в облака!

Не секрет, что пандемия коронавируса существенно подкосила большинство отраслей экономики. Однако, именно благодаря этой ситуации, сфера ИТ получила огромную возможность для развития и роста. Удаленная совместная работа подстегнула переход облаков из перспективных технологий в острую необходимость. Не секрет, что облака предоставляют возможность быстрого масштабирования, причем, как в большую, так и в меньшую сторону. Поэтому айтишники, которые хотят оставаться в тренде, должны уделить особое внимание разработке программного обеспечения и созданию сервисов, активно использующих облачные технологии. Это сейчас один из основных запросов рынка. Например, во время пандемии крупные туристические компании тратили огромные деньги на содержание дата центров при нулевой прибыли. А при использовании облаков им достаточно было бы просто перейти на другой тарифный план и существенно сэкономить. Однако, до сих пор существуют определенные законодательные ограничения на  использование таких решений в ряде отраслей. Но, скорее всего, в ближайшее время нормативные барьеры будут сняты, и мы станем свидетелями взрывного роста этого рынка :)

Сплошные микросервисы

В основном выделяют два подхода к построению архитектуры приложений: монолит и микросервисы. У каждого из них есть свои плюсы и минусы. В частности, микросервисная архитектура позволяет привлекать одновременно несколько команд разработки для создания одного приложения. Кроме того, микросервисы идеально подходят как раз для работы в “облаках” ;). А вот монолитная архитектура оказалась неспособной в полной мере использовать потенциал, заложенный в облаке. К тому же микросервисы – это легкость и простота. Каждый модуль выполняет уникальную функцию и имеет небольшой размер. Ключевая идея микросервиса – независимость от окружающей среды и высокий уровень повторного использования. Модуль можно легко изменить, добавив или убрав необходимые опции. Кроме этого, такая архитектура обеспечивает высокую отказоустойчивость. Выход из строя одного сервиса не приводит к остановке системы в целом. После исправления ошибки необходимые изменения нужно разворачивать только для конкретного сервиса, а не настраивать заново все приложение Все это привело к тому, что сегодня  микросервисный подход стал одним из мэйнстримов архитектуры приложений. 

Программирование без программистов

Сегодня переиспользование готовых кусков кода в виде шаблонов и коробочных решений является одним из наиболее востребованных запросов на рынке разработки приложений, сайтов и сервисов. Так называемый подход LCNC (Low Code и No Code) направлен на создание информационных систем и цифровых сервисов без привлечения программистов или с минимальным их участием. Эта тенденция имеет простое объяснение. Цикл разработки ПО становится все более сложным, а бизнес требует скорейшего результата. Поэтому команды разработчиков все чаще создают программулины, которые, позволяют решить бизнес-задачу без привлечения “кодера”, комбинируя нужные компоненты как в конструкторе.Таким образом, “кодим код для работы без кода” ;)

Упор на нативность

С каждым годом число пользователей мобильных телефонов растет, увеличивая и количество загрузок приложений. Аналитики прогнозируют свыше 170 миллиардов таких действий в течение  2022 года. Поэтому, создание мобильных приложений — это огромный рынок в современной разработке ПО. Сегодня можно выделить три вида приложений: платформозависимые, кроссплатформенные и  гибридные.Наибольшей популярностью пользуются платформозависимые приложения, несмотря на то, что их разработка является самой затратной как по времени так и по ресурсам. Но именно она  позволяет в полной мере  реализовать все заложенные в операционной системе свойства и возможности. Разработка кроссплатформенных приложений позволяет использовать практически один и тот же код для iOS/Android. Её ценят за оперативность и более низкую стоимость. Тем не менее, в ближайшие годы  популярность гибридных приложений будет расти, поскольку для бизнеса создать одно приложение для web и разных ОС является привлекательным, как по цене, так и по количеству прикладываемых усилий. Но при этом жертвовать функциональностью никто не хочет. Поэтому, разработчикам придется приложить немало усилий, чтобы создать поистине нативное приложение, то есть подстраивающееся под ту платформу или устройство, на которых оно будет развертываться. 

Интеллект в помощь

Постепенно искусственный интеллект проникает во все сферы нашей жизни. Не осталась в стороне и разработка программных продуктов. Можно сказать, что он, в какой-то степени, становится помощником “создателя”:) Теперь программист может сосредоточиться на сложной интеллектуальной работе, переложив на плечи ИИ выполнение утомительных, типовых, и неинтересных задач. А работает этот “помощник” благодаря  автоматизированным решениям на основе  GPT-3 и других NLP-библиотек. В частности, уже существуют Tabnine, GitHub Copilot и Codota, которые способны автоматически генерировать исходный код. Правда, пока они помогают лишь на ранней стадии разработки ПО. Однако, в будущем наверняка дорастут до реального ускорения процесса создания и публикации софта.

Лицом к клиенту

Повсеместная цифровизация требует от разработчиков уделять больше внимания интерфейсам приложений для комфортного доступа с разных устройств.  Поэтому современные команды разработки включают в себя не только аналитиков, разработчиков и тестировщиков, но и UX/UI-дизайнеров. Доступ к сервисам должен быть удобным и легким, интуитивно понятным, эстетически выдержанным,  учитывать фирменный стиль и требовать от пользователя минимальных усилий на получение информации или услуги. Для этого сначала многократно отрабатываются клиентские пути, затем отрисовываются и согласовываются дизайны и только потом программисты создают клиентоориентированные веб- или мобильные приложения. Для упрощения, унификации, и комплексного подхода к реализации больших проектов создаются целые UI-киты (user interface kit). Это набор готовых элементов дизайна пользовательского интерфейса. В набор входят: поля ввода, кнопки, формы, меню, иконки, таблицы, карточки, прогресс-бары — все те элементы, что помогают пользователям взаимодействовать с сайтом или приложением.. Его также называют фреймворком для дизайнера или UX-kits (от user experience). Он позволяет быстро и качественно создавать более сложные интерфейсы.

APIтит приходит “во время еды”

Что такое современный ИТ ландшафт? Это целая куча разнообразных систем, которые не всегда напрямую совместимы друг с другом. Поэтому создание единого  информационного пространства, как правило вызов для организации любого масштаба и вида деятельности. Кроме этого legacy системы становятся серьезной проблемой. Сегодня наблюдается рост числа предприятий, использующих интеграционные возможности API для замены и расширения функциональности своих устаревших систем. Текущие тенденции развития API - бесшовная интеграция, адаптивное управление API и стандартизация использования отраслевых API-интерфейсов. Кроме этого, усиливается тренд на обеспечение безопасности интеграционных взаимодействий.


Group 36 Group 36 Group 16 ic_8 ic_9