У нас уже подходит к концу лето 2026 года. AI‑агенты, вайб-кодинг, Docker и тонны фреймворков, библиотек и примеров для всех современных платформ. Микросервисы — цель, икона и грааль как в разговорах, так и в требованиях к кандидатам. В одиночку можно быстро поднять работающий проект, подключить к нему ИИ и выложить для использования.
Наконец-то закончилась волна «входа в IT» с бесконечными полусырыми курсами и инфоцыганскими каналами для вайтишников. Как-то поуспокоилось.
Но есть ряд вопросов: Не тратит ли разработчик больше времени, сражаясь с настройками контейнеров для разработки или с тем же Webpack, чем на написание самого кода? Сколько нужно изучить, чтобы написать простое веб-приложение? Каково минимальное количество библиотек и фреймворков для этого? Всегда ли нужны микросервисы?
Именно такие вопросы давно и регулярно всплывали в разговорах с коллегами и для ответа на них был сделан небольшой проект — чисто эксперимента ради. О нём я и хочу рассказать. Что-то будет разбираться очень подробно, а что-то пройдём мимо — это не обучение, это результат эксперимента.
Что будем разрабатывать
В качестве эксперимента возьмём небольшое приложение — TODO List (не! нечто более живое) систему хронометража для лесной велогонки с раздельным стартом. Требования на старте выглядят вполне несложно:
регистрация участников с раздачей стартовых номеров;
фиксация момента старта каждого участника;
фиксация финиша или отказа от участия;
отображение списка участников с их временем и итоговым местом.
По сути, перед нами классический хронометраж спортивного мероприятия, где каждый участник стартует индивидуально, а побеждает тот, кто показал лучшее время на дистанции.
Такая задача отлично подходит для эксперимента: она требует базовых операций CRUD, немного логики (расчёт времени, определение мест), но при этом остаётся достаточно простой, чтобы реализовать её с минимальным количеством инструментов.
Выбираем платформу
Так как я очень давно имею дело с .NET, приложение будем строить, используя:
C# и ASP.NET Core — кроссплатформенный фреймворк от Microsoft, который входит в состав .NET;
ADO.NET — для доступа к базе данных (да, обычно просто берут Entity Framework а еще есть например Dapper, но попробуем обойтись без них);
PostgreSQL — хорошо зарекомендовавшая себя СУБД, для работы с которой будем использовать провайдер Npgsql;
JavaScript (совместимость со старыми браузерами делать не будем) — на клиенте, возможно, с минимальным использованием какого-нибудь микро-фреймворка для удобства работы с UI, всё же чистый JS сильно увеличивает трудоемкость.
Наш подход будет прагматичным: мы не отказываемся от всех вспомогательных средств, но стараемся использовать лишь то, что действительно необходимо для решения конкретной задачи. Никакого использования только ради того, что бы было или так принято.
План эксперимента
Чтобы не утонуть в деталях и сохранить изоляцию между уровнями, разобьём работу на логические этапы. Каждый этап будет соответствовать отдельной статье цикла:
Бизнес-процесс и архитектура приложения.
Продумаем пользовательские сценарии, определим основные сущности и набросаем схему взаимодействия клиента и сервера. Это будет отправной точкой, которая позволит избежать лишних переделок в будущем.Начнём с UI.
Соберём интерфейс, который будет работать прямо в браузере, пока без серверной части. Используем для временного хранения localStorage, чтобы увидеть, как будет выглядеть и вести себя приложение. Это позволит быстро прототипировать внешний вид и логику отображения.Серверная часть — чтение и сохранение данных.
Реализуем простейший ASP.NET Core backend с CRU[без D]. Для работы с PostgreSQL подключим Npgsql и будем писать запросы через ADO.NET. Посмотрим, что можно сделать с маппингом данных из БД в объекты C# и обратно.Развитие серверной части.
Посмотрим что и куда нам нужно добавить что бы получилось почти завершенное приложение.Усложнение UI.
Вернемся к UI и добавим то, чего нам не хватает.Упаковка и деплой.
Подготовим приложение к запуску на реальном сервере: соберем пакет, рассмотрим варианты контейнеризации (Docker) — но только если это действительно упростит деплой, а не создаст лишнюю прослойку.
Такое разбиение позволит нам на каждом шаге обсуждать только одну часть системы, не отвлекаясь на остальные.
Что дальше
В следующей статье мы подробно разберём бизнес-процесс нашего велозаезда, выделим ключевые сущности и набросаем архитектуру будущего приложения. Присоединяйтесь — надеюсь будет интересно. А что точно дальше будет: темы для холиваров, шатание принятых практик, велосипеды и костыли.
Да, еще важный момент - обычно когда начинают публиковать серию, то редко когда ее заканчивают, что бы так не получилось я сначала подготовил статьи для всех этапов и буду публиковать их с учетом обратной связи от вас.
Комментарии (8)

Dhwtj
16.08.2026 09:40Микросервисы — цель, икона и грааль как в разговорах, так и в требованиях к кандидатам
Мода прошла лет 5 назад уже. Или кто-то слоупок или компании ищут кто бы разгребал всё то дерьмо, что они наворотили
Сколько нужно изучить, чтобы написать простое веб-приложение?
С нуля? Нисколько! Взять и написать.
Проблемы начинаются с возможности поддерживать с разумной стоимостью то что ранее написано в треш угаре. С сотнями комбинаций фреймворков и велосипедов.

Dhwtj
16.08.2026 09:40Накину на вентилятор:
Прежде всего проверим требования на противоречивость, потому что требования “несложные” только на словах.
Вот противоречия и неопределённости, которые вскрываются сразу:
1. Единый источник времени. Старт и финиш фиксируются по одним и тем же часам (сервер) или по разным приборам (клиент, возможность соврать)?
2. Что является фактом, а что производным. “Итоговое место” вычисляется из времён, значит не храним? Или будет точка подведения итогов с фиксацией результата?
3. “Отказ от участия” до старта, после старта (DNF), неявка (DNS) это разные бизнес-состояния с разными правилами протокола.
4. Ручные правки и судья будут? В реальности судья будет править время (сбой датчика, спор). Это событие с автором и причиной, а не UPDATE. Это стоит подтвердить явно, а не молча заложить.

Chiake
16.08.2026 09:40AI‑агенты, вайб-кодинг, Docker и тонны фреймворков, библиотек и примеров для всех современных платформ.
Сколько нужно изучить, чтобы написать простое веб-приложение?
Так как я очень давно имею дело с .NET, приложение будем строить, используя...
Итак, сколько же может пройти на своих двух пешком обычный человек без остановки? Насколько это сложно и тяжело? Давайте проведем эксперимент.
Так как я обычно езжу на машине, то пешком я пойду на своем автомобиле.
Я буду задействовать обе ноги, нажимая одной - на педаль газа, а другой - на тормоз.Какой же это эксперимент "сколько нужно изучить" и "зачем все так сложно", если Вы, дорогой товарищ, берете знакомый Вам инструментарий?
Возьмите что-то незнакомое, что бы оценить насколько легко все это "изучить" и "сделать" с ии-ассистенством и насколько легко все это поддерживать и добавлять функционал с помощью ии-магии.
ETCDema Автор
16.08.2026 09:40Акцент не на том, сколько нужно изучить, а на том, что скрывается за, казалось бы, простой задачей. Если использовать ИИ-ассистента, сложность никуда не исчезает — просто часть решений принимается уже не разработчиком. Вопрос в том, что разработчику все-таки нужно контролировать результат и поддерживать систему.

rukhi7
16.08.2026 09:40Я буду задействовать обе ноги, нажимая одной - на педаль газа, а другой - на тормоз.
Так ездить очень неудобно, я бы сказал! Я тут как-то пробовал, на автомате! Вы видимо не в курсе.
rukhi7
а при чем тут Бизнес-процесс ? Где тут бизнес?
Жду продолжения! Интересно! +
Areso
я бы написал use-case / пользовательские сценарии.