Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в ???????? Германии. А еще я автор Telegram-канала Хороший разработчик знает, где рассказываю обо всем, что должен знать хороший разработчик.
Сегодня я хочу поговорить Technology Radar от ThoughtWorks, как он помогает при выборе технологий и какие новости нам принес недавний выпуск.
Что за Technology Radar?
Большая консалтинговая компания ThoughtWorks регулярно, примерно раз в полгода, выпускает документ, где субъективно рассказывает о положении на рынке технологий. Эта информация, помимо текста, отображается в виде радара.
На радаре четыре секции (описания условны):
???? Techniques. Техники, которые могут использоваться при разработке. Например, Four Key Metrics, я писал об этом на Хабре.
⚙️ Tools. Инструменты, которые используются при разработке. Например, JavaScript сборщик Vite.
???? Platforms. Инфраструктурные компоненты или сервисы. Например, портал для разработчиков Backstage.
???? Language & Frameworks. Все про уровень языков программирования и вытекающих из них особенностей. Например, React Hooks.
В каждой секции вещи, о которых говориться, расположены в четырех категориях:
Hold. Придержать использование или наоборот, пора отказываться от этой технологии.
Assess. Стоит понаблюдать за технологией.
Trial. Стоит пощупать руками и сделать выводы.
Adopt. Можно смело внедрять.
Таким образом, изучая Техрадар, можно быстро узнать, что нового, о чем стоит знать, появилось, а что старое уже отживает свое. Например, если React Hooks
находится в Adopt, то в новом проекте на React
точно не нужно использовать классы и lifecycle
методы.
Что интересного?
Буквально на днях вышел свежий Техрадар #25. Ниже короткий обзор того, что мне показалось интересным.
???? Techniques
Adopt Zero Trust Architecture
Эта парадигма подразумевает, что при проектировании систем мы перестаем доверять пользователям, только потому, что они находятся внутри защищенного периметра. Т.е. внутри сети. У таких пользователей не должно быть больше прав. Внедрение идеи требует реализации * as code
— инфраструктура как код, безопасность как код, все как код.
Trial Remove mob programming
Мы уже долго работаем удаленно, но работать удаленно нужно все равно вместе, так достигается лучший результат. Наверное каждый представляет себе парное программирование и как его реализовать удаленно. В remote mob programming идея идет дальше — теперь на звонке не два человека, а небольшая группа. Один человек шарит экран и набирает код, другие обсуждают и решают что набирать. Каждая сессия направлена на решение одной проблемы.
Trial CBOR
CBOR
это бинарная альтернатива JSON
, я узнал об этом формате из этого Техрадара, хотя он существует уже давно. Зачем передавать больше информации (JSON
= текст), если можно передавать меньше (CBOR
= бинарные данные)? Подходит для коммуникации сервисов между собой.
⚙️ Tools
Assess Vite
JavaScript
сборщик от создателя Vue
уверенно закрепляется на рынке, вытесняя Webpack
и тех, кто до этого вытеснял Webpack
. Большое преимущество — скорость, в частности скорость Hot Module Replacement
.
Trial Lens
Kubernetes стал стандартом для облачного хостинга. Lens позволяет добавить UI в работу с k8s кластерами. С помощью этой IDE
для Kubernetes
, как они сами себя называют, вы сможете управлять кластерами визуально. Это демократизирует использование k8s.
???? Platforms
Trial Backstage
Backstage это платформа для построения порталов для разработчиков. Само понятие "портал для разработчиков" тоже новое, что это значит? В больших компаниях сотни сервисов, API
спецификаций, море документации. В этой информации сложно ориентироваться. Можно попытаться решить эту проблему с помощью порталов для разработчиков — это вебсайт, который должен стать домашней страницей для разработчиков. Один из ключевых модулей это каталог сервисов — с помощью yaml
аннотаций, похожих на k8s
аннотации, можно описать сервисы и их API
. Это упрощает взаимодействие между командами — всем понятно где что искать. Backstage находится в активной разработке, но его уже можно внедрять.
Trial Vercel
Речь о бышей платформе now.sh
. Альтернативная облачная платформа с лозунгом "Develop. Preview. Ship" набирает ход. Большой фокус на development experience, что достаточно важно для инди разработчиков и небольших компаний. Хорошо подходит для Jamstack решений. Но AWS и другие облачные платформы тоже стараются облегчить использование своих технологий, например AWS App Runner.
???? Language & Frameworks
Trial Quarkus
Если вы пишете на Java/Kotlin
, то, наверное, знаете о Quarkus — восходящей альтернативе Spring. Quarkus
решения готовы к работе в облаке (Kubernetes-native
) и их можно запускать на GraalVM
(скорость запуска ????). Уверен, что Spring еще долго будет номер один, в основном, потому что есть куча специалистов которые умеют с ним работать. Но здорово, что альтернативные решения набирают вес.
Trial Gatsby.js
Gatsby.js
позволяет вам разрабатывать сайты используя React
(почти), а потом генерировать из вашего кода статический сайт. В результате эти сайты лучше масштабируются, ведь им не нужен сложный сервер. Еще Gatsby плотно использует GraphQL
, что позволяет ему использовать разные источники информации при генерировании сайта.
Завершаем
Чтобы эффективно решать задачи, мы должны интересоваться новыми технологиями и практиками. С помощью новых технологий можно решать старые задачи более эффективно. Еще лучше, продолжать держать руку на пульсе современных технологий. Потому что современные технологии рано или поздно станут устаревшими и от них нужно вовремя отказаться. Техрадар от ThoughtWorks помогает ответить на этот вопрос.
Что интересного вы нашли в выпуске этого Техрадара? На что вы ориентируетесь при выборе технологий? Пишите в комментариях.
А еще...
В конце еще раз приглашу вас в свой Telegram-канал. На канале Хороший разработчик знает я минимум три раза в неделю простым языком рассказываю про свой опыт, хард скиллы и софт скиллы. Я 15+ лет в IT, мне есть чем поделиться. Все это нужно разработчику, чтобы делать свою работу хорошо, быть востребованным на рынке и получать высокую компенсацию.
Спасибо ????