Про статью «Stop Making TUIs» и почему я с ней не согласен

habrahabr.ru · world
Full story

Arsen Abdusalimov, a team lead at Avito Auto, says Thomas Ptacek’s article “Stop Making TUIs” caught his attention and prompted him to open a discussion. Abdusalimov disagrees with the article’s argument. Ptacek describes his recent interest in building native macOS interfaces and lists projects including a Markdown viewer called MDV.app, a frontend for SageMath, a music player, a wiki assistant and a macronutrient tracker.

Привет! Меня зовут Арсен Абдусаламов, я тимлид Авито Авто. Недавно я наткнулся на статью Томаса Птачека Stop Making TUIs , и она меня зацепила настолько, что захотелось развернуть дискуссию. Автор рассказывает, что недавно увлёкся созданием нативных интерфейсов для macOS: написал просмотрщик Markdown ( MDV.app ), фронтенд для SageMath, музыкальный плеер, вики-помощника, трекер макронутриентов и пульт для Apple TV. Причём код всех этих интерфейсов был практически полностью сгенерирован AI-агентами — сам он почти не участвовал в их написании. «Создание хорошего UI — это очень тяжёлая работа: подобный код утомителен, однообразен, требует высокой точности и глубокого знания специфики платформы. Требуются годы, чтобы научиться хорошо выполнять такую работу. Именно поэтому я бы никогда не стал писать эту программу вручную», — так Птачек описывает свой опыт создания приложения MDV.app . Далее автор проводит разграничение между CLI — интерфейсами командной строки и TUI — терминальными пользовательскими интерфейсами. Он пишет, что и первое, и второе является наследием 1970-х годов и ограничений телетайпов, но если CLI имеют незаменимые сценарии использования и их создание почти всегда оправдано, то TUI, по его мнению — это устаревшие, враждебные и ограниченные интерфейсы, которые исторически существуют только по двум причинам: из-за модемов и из-за нежелания Unix-разработчиков изучать такие фреймворки, как Motif. Автор считает, что сегодня, когда AI-агент может написать нативный GUI за вечер, создавать новые TUI попросту незачем. «Даже с хорошим фреймворком, таким как Ratatui, Textual или Bubbletea, вы боретесь с терминалом, чтобы приблизиться к тому, что каждый нативный фреймворк предоставляет из коробки , — говорится в статье. — Вы можете потратить время и реализовать вполне рабочие версии множества стандартных TUI-виджетов: выбор даты, поле для ввода пароля, индикатор выполнения, текстовый редактор. Но большинство из них будет уступать системным аналогам, а их интеграция в общий макет потребует дополнительных усилий» . Похоже, автор только что обнаружил, что GUI не кусается. Радость понятная. Беда в том, что от «я научился» он тут же прыгает к «а вы все зря мучились»: мол, кто десятилетиями терпел ASCII и гордился этим как настоящий сисадмин — тот сам себе враг. Берите свой голый CLI, заворачивайте в нативное приложение — и разработка откроется вам с другой стороны. И вот здесь, на мой взгляд, стоит притормозить и разобраться в деталях. Читать далее

Read full article → Compare