Как стать автором
Обновить

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

Время на прочтение3 мин
Количество просмотров3.8K

Не хочется говорить о высоких материях, Nocode, ML - системах, нейросетях или чем-то подобном, хочется порассуждать вот о чем: у каждого человека, увлекающегося программированием, есть N+ пет-проектов, и их количество растет. Часть из них - это проба пера, новых технологий, алгоритмов, но часть - это попытки быстро решить задачу бизнеса и найти некий business-value, реализовав MVP и попробовать сделать проект на миллион!

Получается, что для подобных задач я и каждый из нас делает плюс-минус одни и те же действия для получения 50% результата, и сами проекты между собой отличаются на вот эти 50% их сути!

О чем это я?

Чтобы попробовать реализовать MVP, допустим, сайта по онлайн-бронированию пёселей ?, мне нужно сделать следующие шаги:

  1. Выбрать язык и фреймворк для бекенда;

  2. Поднять где-то любимую БД - облако, локальный Docker-контейнет или хз где еще;

  3. Подключить ORM для работы с БД;

  4. Написать модели данных, их связи, индексы и т.п.;

  5. Написать банальный CRUD для данных;

  6. Выбрать фреймворк для фронтенда - Vue.js, второй или третий?, React - ну хз..., Angular? или мб взять что-то типа Svelte?, или...

  7. Написать базовую структуру приложения (aka Nuxt, Next и т.д.), раскидать модели, утилиты, хранилища, ассеты и т.п., настроить пайпы для сборки;

  8. Связать каким-то образом бек + фронт, научить их общаться на одном языке;

  9. Поднять каналы - онлайн общения: Websocket, Server-Sent events, Polling и т.д.;

  10. Начать писать бизнес-логику на беке, параллельно приклеивая фронт;

  11. Подключить 100500 сторонних сервисов для эффективной работы - кеширование, распределение, CI/CD, мониторинги, аналитики, онлайн-сервисы, такс-трекинг, автоматизация разработки и т.п.

Почему бы не сделать софт, который бы пропускал шаги 1 - 8 и высвобождал кучу времени для реализации самого важного, ради чего MVP и задумывалось.

Что я имею ввиду?

Представьте некую "Fullstack CLI", которая задавая вопросы сама собирает приложение, пишет конфиги, модели, docker-файлы, собирает CRUD API, фронтенд, линтинги, настраивает деплой, выход в продакшн и т.п. и в конце выдает готовое приложение для запуска и деплоя...

...Но!

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

...И

Лишь в исключительных случаях, когда мне потребуется писать бизнес логику или что-то специфичное мне бы потребовалось открывать любимую IDE и писать код, используя понятный и доступный API, который выдала мне CLI. Я бы тут же в Swagger посмотрел весь CRUD API, в каком-нить Docs-generation почитал о приложении, которое для меня собрала CLI

Зачем?

Таким образом мы решаем проблему "Серийных программистов", которые создают задачи, на решение которых требуется 5 минут. Но если 100500 программистов потратят дополнительно по 5 минут, то при средней цене разработчика в ~$20 в час мы получаем экономию $167 500 за 5 минут. А это бюджет неплохого стартапа, который в очередной раз перевернет мир.

И кто-то скажет: "Зачем, если уже есть...". Возможно, что-то подобное и есть, я о нем не знаю просто. Существуют CLI для индивидуальной технологии. Допустим, для бекенда есть Nest CLI, для фронта есть Vue (React, Nuxt, etc.) CLI, но нет CLI, которые выдают в результате готовое рабочее приложение, которое покрывало бы потребности 99% MVP для no-name проекта, без необходимости тратить часы и дни на его базовую наладку и конфигурацию.

Что дальше?

Я начинаю писать подобную CLI и буду с радостью делиться успехами с вами. Проект будет находиться в Open-source и каждый сможет привнести свой вклад в проект)

Считаю, что такой проект нужен всем нам! :-)

Буду рад предложениям и критике!

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
На сколько это актуально для тебя?
37.31% Да, было бы круто иметь такую штуку!25
32.84% Нет, я все делаю сам с нуля.22
29.85% Кто здесь?20
Проголосовали 67 пользователей. Воздержались 13 пользователей.
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 7: ↑3 и ↓4-1
Комментарии10

Публикации