За последние десять лет область данных претерпела беспрецедентные изменения, и в ближайшие годы ее ждет новая череда перемен, на этот раз связанная с мобильной связью, Интернетом вещей (IoT) и искусственным интеллектом. Эти трансформации, где ПК или даже сотовый телефон больше не являются сердцем цифровой вселенной, требуют от программистов поддерживать свои навыки в актуальном состоянии. Тем не менее, им нужно не только изучать новейшие языки и практики программирования, но и быть в курсе многих новых инструментов, которые помогают привести их продукты в соответствие с пожеланиями новых поколений пользователей, пишет портал Techopedia.
Ниже приводится пять основных трендов, которые программистам необходимо связать со своими продуктами независимо от того, какой язык программирования они используют.
1. GraphQL
Архитектурный стиль взаимодействия компонентов распределенного приложения REST API быстро теряет доминирующее положение в сфере разработки софта. Основным недостатком REST API является его непрактичность — он требует загрузки данных из нескольких URL-адресов по отдельности. Тем временем GraphQL (открытый язык запросов и манипуляций для API, а также среда выполнения запросов к существующим данным) извлекает все релевантные (и только релевантные) данные, без переизбытка — с нескольких сайтов с помощью одного запроса.
GraphQL уменьшает задержку и делает приложение или сервис гораздо более отзывчивым для пользователя — это особенно важно в связи с тем, что в ближайшие годы запросы к данным будут расти пропорционально росту количества автономных сервисов.
К числу его достоинств можно отнести минимальный объем кодирования, чего не скажешь о REST. Это позволяет переводить сложные запросы в несколько простых строк кода. А поддержка предложений Backand as a Service (BaaS) облегчает взаимодействие GraphQL с широком спектром языков программирования.
2. Обработка естественного языка
Обработка естественного языка (natural language processing, NLP) — базовая технология для создания чатботов и персональных цифровых помощников, которые работают в службах поддержки и облегчают технически неподкованным пользователям навигацию по сложным процессам. Есть основания полагать, что в будущем ПО и услуги со встроенной технологией NLP отделятся от традиционных невербальных предложений в ряде ключевых областей как в потребительской, так и в профессиональной сферах.
Преимущества голосового пользовательского интерфейса избавляют пользователя от физического контакта (щелчки мыши, нажатие клавиш, скольжение по тачпаду ноутбука или экрану планшета) с графическим интерфейсом, который применяется для управления большинством приложений и сервисов. Со временем он эволюционирует до такой степени, что с помощью голоса можно будет осуществлять навигацию по меню или получать доступ к данным, добавляя этим процедурам легкости, которой нелегко добиться пользователям, малознакомым с техникой.
Применяя наборы инструментов типа NLTK (пакет библиотек и программ для символьной и статистической обработки естественного языка на базе Python), программисты могут быстро подключать NLP к цифровым продуктам. Им уже сейчас нужно совершенствовать свои навыки — прежде, чем начнется повальный переход на голосовые интерфейсы.
Как ожидают рыночные наблюдатели, через пять лет NLP завоюет пальму первенства в войне интерфейсов — он будет встраиваться в потребительское и корпоративное ПО, автономные транспортные средства, софт для торговых киосков, а также во множество офисных и домашних устройств.
3. 5G
В основном технологию 5G связывают с разработкой мобильных приложений, но она также повлияет на создание традиционного ПО, веб-разработку, встроенные системы и другие сферы ИТ. Ее влияние обусловлено тем, что экосистема IoT объединяет все подключенные устройства и ПО, с которым они работают, поэтому тот софт, который не в полной мере использует высокоскоростные беспроводные активы, может быстро устареть.
Новшество не только позволит повысить производительность существующих сервисов, но и активизирует появление совершенно новой цифровой экосистемы с уникальным набором новых сервисов, которые не будут совместимыми с существующими технологиями. Программистам нужно как следует подготовиться к приходу 5G. Речь идет не только о создании специфических API, но и об изобретении новых креативных стилей программирования, которые позволят создавать выделяющиеся на общем фоне продукты.
4. Аутентификация
Как это не парадоксально, пароли становятся все менее эффективными для защиты конфиденциальных данных. Они не только уязвимы перед сложными хакерскими инструментами, некоторые из которых теперь дополнены ИИ и даже квантовыми вычислениями, но и обременительны для пользователя, поскольку усложняют его взаимодействие со средой данных и даже самим приложением. Рынок уже обогатился множеством новых типов аутентификации, включая биометрию, распознавание лиц и анализ голоса.
Пользователи также привыкли получать доступ к своим смартфонам при помощи отпечатка пальца или быстрого сканирования лица, поэтому вскоре их начнет раздражать необходимость ввода цифрового кода для доступа к важным финансовым или корпоративным приложениям, им приходится. Чтобы реализовать возможности новых средств аутентификации, ПО потребуются новые возможности для проверки, включая интеграцию с продуктами сторонних производителей.
5. Low/no-code
Кода всегда должен быть максимально эффективным, но факт остается фактом: многие программы пишутся с нуля, а это означает, что программисты часто создают функции, которые уже существуют в других программных продуктах. Практики программирования типа low/no-code предназначены для того, чтобы избавиться от создания базового слоя кода. Для этого имеется предварительно сконфигурированный код, который может быть встроен в более крупные программы.
Это позволяет пользователям, которые не обладают навыками программной разработки, быстро и легко создавать сложные продукты за счет перемещения отдельных блоков готового кода. Это позволяет снизить затраты и ускорить создание софта, чтобы он соответствовал стандартам современной цифровой экосистемы. Функционал low/no-code с привлечением готовых инструментов — от фильтров и поиска до импорта, экспорта и логики рабочего процесса — уже полным ходом применяется в бэк-офисных системах, веб-порталах, мобильных приложениях.