today-is-a-good-day
Наверх

Куда направится разработка программного обеспечения в 2022 году

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

20.06.2022
12:28
Комментировать0

Из-за пандемии, коренным образом изменившей облик мирового общества, в последние два года люди стали больше полагаться на цифровую инфраструктуру. Система работала превосходно, и это неудивительно, ведь люди, поддерживающие ее, изо всех сил пытались изобрести новые способы работы.

Мы узнали, что Интернет может предоставить все – от средств индивидуальной защиты до виртуальных свадеб. Когда ничто другое не приносило утешения, многие из нас все глубже погружались в свои цифровые коконы. По мере того как использование Интернета стремительно росло, мы обнаружили новые недостатки и области для улучшения. Сейчас появляется новая волна технологий, направленных на модернизацию и развитие онлайн-опыта. Давайте взглянем на тенденции, действующие в нынешних усилиях по восстановлению Интернета в том виде, в каком мы его знаем.

Кодирование для удовольствия и прибыли

Вы можете спросить практически любого разработчика программного обеспечения, достаточно ли хороша программа, которую они только что закончили разрабатывать, и они скажут, что она могла бы быть лучше. Так происходит почти в любой сфере. Создатель всегда не доволен своим творением. Как однажды сказал Джон Леннон о вечном творчестве The Beatles: «Нет ни одного из альбомов, которое я не хотел бы перезаписать».

Из этого мы можем понять один из главных мотиваторов постоянного совершенствования: инженеры-программисты руководствуются чем-то сродни художественному духу, неудержимым стремлением создать что-то превосходное. Это и называется современным уровнем техники. Мы часто говорим, что все дело в удобочитаемости и ремонтопригодности кода. По правде говоря, многие из нас также движимы врожденным желанием создать что-то ценное.

Конечно, совершенство – не единственный мотиватор. Прибыль – это еще один фактор. Несмотря на огромные шансы против новаторов, финансовые выгоды могут быть поразительными. Хотя мышление программиста, как известно, трудно совместить с деловой хваткой, объединение этих двух факторов потенциально может создать прекрасный синтез.

Тенденции разработки программного обеспечения сливаются воедино

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

Внедрение облачных технологий и инфраструктура более высокого порядка

Бесспорно, что расходы на облачные технологии продолжают расти. Фактически, расходы на облачные технологии недавно превысили половину всех расходов на IT. Причина проста: виртуализированная инфраструктура и инструментарий предлагают более гибкое решение для многих потребностей. Что интересно, так это то, как развивается использование облачных вычислений.

Идея динамических виртуальных машин, размещенных в облаке (также известных как инфраструктура как услуга или IaaS), была мощной, но она оказалась первым наброском на развивающемся холсте. PaaS и бессерверные функции – это логические следующие шаги. Мы также наблюдаем диверсификацию и специализацию решений — как вертикальную, так и горизонтальную эволюцию.

Виртуализированная инфраструктура позволяет инновационным участникам разрабатывать решения более высокого порядка. Игроки на этой арене делятся на два широких лагеря: хостеры API и поставщики API.

Бессерверные развертывания и поставщики API

Такие сервисы, как Vercel и Netlify, являются двумя хорошими примерами современных хостеров API. Они представляют собой своего рода бессерверную инфраструктуру, которая работает поверх уровней IaaS и PaaS. Более того, они представляют собой специализацию этой инфраструктуры, ориентированную на определенный набор вариантов использования.

Любой, кто сидел перед панелью управления Vercel и развертывал сложное интерфейсное приложение одним нажатием кнопки, знает, что имеется ввиду: Vercel – это бессерверный плюс. То есть это бессерверная система, которая была усовершенствована и использована для удовлетворения конкретных потребностей.

Между тем, хорошим примером современного поставщика API является MongoDB Atlas. Это API, который в первую очередь обеспечивает сохраняемость данных. По сути, MongoDB Atlas – это удаленно доступный API как сервис. Такие услуги, как Sentry.io и Auth0 аналогичны.

Ключевым моментом является то, что, как и Vercel для хостинга, эти решения предлагают высокую степень абстракции — много энергии при небольшой работе — для удовлетворения определенного набора потребностей. Они построены поверх современного виртуального уровня. Развертывание хранилищ данных в виртуальной инфраструктуре – это традиционная модель, только перенесенная в облако. Использование чего-то вроде MongoDB Atlas больше похоже на наличие специализированного партнера по хранилищу данных, который стремится упростить интеграцию того, что у вас есть, с тем, что вам нужно.

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

А что насчет разработчиков API?

Итак, мы видим, что эра облачных платформ проложила путь к чему-то новому, но трудно точно предсказать, чему именно. Это процесс выявления того, где потребности пользователей — часто неизвестные даже им самим — по-новому отвечают возможностям, заложенным в этих новых инструментах.

Интересно, что мир фактического создания API-интерфейсов остается сравнительно неизменным. Были постепенные улучшения, но ничего похожего на сбои, которые мы наблюдали в размещении и предоставлении услуг. Движение, объединяющее деятельность по созданию API с достижениями хостеров и провайдеров, будет представлять собой переворот, изобилующий возможностями.

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

Интерфейсные инструменты и фреймворки

Во внешнем интерфейсе, где магия сторонних API и внутренняя логика находят свое человеко-машинное выражение, язык JavaScript продолжает неуклонно развиваться. Тем временем фреймворки, построенные поверх JavaScript, подвергаются безудержному естественному отбору в результате острой конкуренции. Такие проекты, как Solid, Svelte и Qwik, расширяют возможности в самых разных направлениях, в то время как более устоявшиеся реактивные фреймворки, такие как React и Vue, продолжают расти.

Пользовательское промежуточное программное обеспечение

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

Серверные языки, такие как Rust, и фреймворки, такие как JHipster, являются интересными разработками, но в целом эта область находится в постоянном движении.

Существующие решения, такие как Java, Node.js , и Python (и связанные с ними фреймворки) хорошо подходят для окружающей среды и постоянно развиваются в ответ на требования реального мира. Скорее всего, они останутся важнейшей сферой деятельности. Так же, как IaaS продолжает оставаться жизненно важным уровнем в бессерверной среде, промежуточный программный код будет иметь важное значение в обозримом будущем.

Низкий уровень кода и машинное обучение могут угрожать конкуренцией с разработчиками-людьми, но в конечном итоге будут раскрыты как просто дополнительные инструменты в наборе инструментов разработчика. Отличным примером инновационной низкокодовой мысли является Builder. Чтобы понять, как машинное обучение может помочь в написании кода, мы можем обратиться к GitHub Copilot.

Несвязанные архитектуры, они же микросервисы

Далее, переход к удаленно разделенным архитектурам, также известным как микросервисы, будет продолжать расти и становиться все более понятным. Парадигма монолитной архитектуры была явно неспособна в полной мере использовать потенциал, заложенный в облаке. Альтернатива, архитектура микросервисов, подразумевает принятие на себя бремени devops, которое далеко не тривиально. Микросервисы – это одновременно и средство масштабирования процесса, и средство увеличения сложности.

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

Автоматизация технологических процессов

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

Многочисленные решения CI/CD, инструменты управления сборкой и зависимостями, а также платформы тестирования являются примерами того, как средства автоматизации процессов нацелены на деятельность разработчиков. Контроль версий и связанные с ним сервисы, такие как GitHub, также попадают в эту категорию. Автоматизация процессов – еще одна ключевая область, которая сыграет важную роль в будущем программного обеспечения.

Новый вид опыта разработчика

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

Теги:

Ваши эмоции после прочтения статьи?

Прокомментируйте первым!

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь

ЕЩЕ ОТ АВТОРА
101 ПУБЛИКАЦИЙ