LINUX.ORG.RU

CloudMus — новый кроссплатформенный открытый плеер для Яндекс Музыки и YouTube Music

 , yandex music, youtube music,


5

1

Встречайте CloudMus. Это музыкальный проигрыватель для Linux и Windows, который собирает в одном окне Яндекс Музыку, YouTube Music и музыку из локальной папки. У всех источников одна очередь, одна история и одинаковое управление.

Автора замучили плееры-обёртки сайтов на Electron, которые тормозят, выжирают память и батарею ноутбука, автор вынашивал эту идею 10 лет, теперь с Клодом может себе это позволить ). Плеер написан на C++20/Qt 6, звук играет через libmpv, распространяется под лицензией MIT. Для Linux есть AppImage, для Windows – инсталлятор.

Кроме привычных функций плеера, сделан максимальный упор на визуал, в нём есть стеклянный интерфейс с настоящим размытием фона на KDE Plasma, Wayland-композиторах и Windows 11, своя визуальная тема, плавные анимации для поддержки мониторов >60Hz, а также глобальные хоткеи на все основные действия, включая лайк, дизлайк и скачивание трека. Хоткеи работают в KDE, GNOME 48+, на X11 и в Windows. Ещё есть полноценная поддержка MPRIS (Linux) и SMTC (Windows), скачивание треков и плейлистов, предзагрузка следующего трека и отдельный прокси для каждого сервиса: например, YouTube Music через прокси, а Яндекс Музыка напрямую.

Текущая версия проекта — 0.6.1.

Источники

  • Яндекс Музыка: вход по коду на сайте Яндекса. Доступны библиотека, лайки, плейлисты с редактированием, «Моя волна» и станции, а также персональные подборки: «Плейлист дня», «Дежавю», «Премьера», «Тайник».
  • YouTube Music: библиотека, лайки, плейлисты, миксы (My Supermix, My Mix 1–7, Discover, Replay) и радио от трека. Вход пока неудобный: нужно вставить заголовки запроса или cURL-команду из залогиненной сессии браузера, потому что штатный вход Google через устройство сейчас сломан в ytmusicapi. Это временное решение, см. планы.
  • Локальная папка: по умолчанию xdg-user-dir MUSIC. Подпапки и M3U показываются как плейлисты, обложки и теги читаются из файлов.

Возможности

  • стеклянный фон: настоящее размытие на KDE Plasma и Wayland-композиторах со стандартным протоколом blur, акрил на Windows 11, на GNOME — прозрачность с расширением вроде Blur my Shell;
  • настраиваемые глобальные хоткеи на воспроизведение, переключение треков, перемотку, громкость, лайк, дизлайк, скачивание, показ окна плеера и тихий режим;
  • общая очередь и история для треков из разных источников;
  • настройка уникальности проигрывания, борется с частыми повторами одного и того же трека в радио плейлистах;
  • лайки и дизлайки синхронизируются с аккаунтом сервиса, трек можно добавить в свои плейлисты или убрать из них;
  • предзагрузка нескольких следующих треков в кэш, без паузы при переключении;
  • скачивание треков и целых плейлистов в локальную папку с тегами, с раскладкой по источнику, исполнителю или альбому. Для копирастов скачивание по умолчанию отключено и включить её пользователь может только подтвердив, что он не будет пиратить;
  • MPRIS (Linux) и SMTC (Windows) с перемоткой, громкостью, shuffle и repeat;
  • трей, уведомления с обложкой, автозапуск, автопроигрывание с места последней остановки;
  • отдельный HTTP/SOCKS5-прокси для каждого источника, через прокси идут и потоки, и обложки. В России это особенно полезно: YouTube Music можно пустить через прокси, а Яндекс Музыку оставить напрямую, и не придётся включать VPN на всю систему или переключать его туда-сюда;
  • тихий режим с хоткеем: громкость плавно опускается до заданного уровня без паузы, удобно для звонков и игр;
  • восстановление последнего плейлиста и трека при запуске;
  • светлая и тёмная темы, интерфейс на русском, английском, немецком, французском, испанском, итальянском и белорусском.
  • удобная система обновлений, сама проверяет новую версию при старте, скачивает, ставит и перезапускает, при этом музыка продолжит играть с того места где остановилась. Конечно, апдейт можно пропустить;
  • терминальный фронтенд плеера (без Qt), можно гонять в консольке (но пока он не сильно развит).

Поиска по каталогам сервисов пока нет.

Архитектура

Каждый музыкальный сервис подключается через бэкенд, который работает в отдельном процессе и общается с интерфейсом по JSON-RPC через stdin/stdout. Сейчас все бэкенды написаны на Python.

Это не окончательная архитектура. Сторонний бэкенд сейчас выполняется с правами пользователя, а значит, для конечных пользователей такая схема небезопасна. Паланируется, что бэкенды будут переведены на JavaScript и станут работать в песочнице на QuickJS. Появится онлайн-каталог, из которого бэкенды можно будет ставить прямо из приложения.

Планы

Помимо бэкендов для других сервисов (SoundCloud, VK Музыка, Spotify, Deezer, Bandcamp, Apple Music, TuneIn, Звук), запланировано:

  • удобная авторизация через встроенный браузер: обычный вход в аккаунт сервиса в окне плеера, без копирования заголовков и cURL-команд;
  • полноценный офлайн-режим: без интернета плеер будет быстро стартовать и работать с тем, что есть в кэше. Это важно для использования в машине. Сейчас режим реализован, но частично;
  • версия для macOS;
  • фронтенд на QML для Android и Android TV, плюс отдельная адаптация интерфейса под автомобильные магнитолы на Android. Порт на iOS пока не планируется: писать и публиковать под неё слишком хлопотно. Проект открытый, так что если кто-то захочет портировать, буду рад;
  • обнаружение и пропуск музыки, сгенерированной ИИ (реально задолбала уже всех вокруг);
  • поддержка радиосервисов с нарезкой эфира на треки и их сохранением;
  • визуализации MilkDrop из Winamp через projectM, чтобы можно было устроить крутую домашнюю дискотеку под винишко;
  • конечно же, больше красивых анимаций и автоматический режим экономии батареи, который их будет душить.

Телеметрия

В плеере есть анонимная телеметрия: Google Analytics и Sentry для отчётов о падениях. Мне она нужна, чтобы находить и исправлять ошибки, видеть, что люди пользуются плеером, и радоваться этому. Если вам это не нравится, отключите её в настройках.

Установка

Нужен x86_64 и glibc 2.31 или новее, то есть Debian 11, Ubuntu 20.04, Fedora 32, openSUSE Leap 15.3 и более свежие. AppImage скачивается со страницы релизов:

chmod +x CloudMus-*-x86_64.AppImage
./CloudMus-*-x86_64.AppImage

При первом запуске плеер добавляет себя в меню приложений. Если AppImage ругается на FUSE, поставьте libfuse2 (на Ubuntu 24.04+ это libfuse2t64) или запустите с ключом --appimage-extract-and-run. Обновления ставятся из самого приложения.

Пакетов для дистрибутивов пока нет. Если кто-то возьмётся собрать пакет, помогу. Для сборки из исходников нужны Qt 6, CMake ≥ 3.21, компилятор с поддержкой C++20, libmpv и Python ≥ 3.11. Подробности в руководстве разработчика.

>>> CloudMus — новый кроссплатформенный открытый плеер для Яндекс Музыки и YouTube Music

★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 13)
2026-10-14T16:41:56.570 [WARN] cloudmus.viewmodel.browse: loading tracks failed for "local-folder" : request timed out

11700 треков локально лежит. Падает по таймауту при обновлении плейлиста, в итоге плейлист пустой и никак его не загрузить. Тут может по хорошему бы таймаут увеличить или\и сканировать инкрементально.

Loki13 ★★★★★
()
Ответ на: комментарий от Jam_666

Спасибо. Надо глянуть. У меня для навигатора уже мод как раз используется. Но сабж был бы интереснее для ведроида заиметь, сделано(если судить по версии для онтопика) довольно удобно и минималистично, а если ещё на магнитоле можно будет в одном приложении и облачные и локальные и с домашнего NAS треки проигрывать, это будет прямо бомба.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

11700 треков локально лежит.

Уфф. А они по папочкам разложены или в одной? Добавлю в баги, буду править в ближайшее время

navrocky ★★
() автор топика
Ответ на: комментарий от Loki13

и с домашнего NAS треки проигрывать, это будет прямо бомба.

Домашний NAS в инет выставлен? То да можно будет. Ещё мне нужна статистика у кого какой Андроид на магнитоле ибо у меня выбор как реализовывать чтобы поддерживать Android9 или 7. У меня Android 9, поэтому мне всё равно)

Qt/QML 6.9 - минимальный Android >=9 Jetpack Compose - минимальный Android >=7 Старый (не)добрый нативный Android.View - Android >=1

navrocky ★★
() автор топика
Последнее исправление: navrocky (всего исправлений: 1)
Ответ на: комментарий от navrocky

В одной, music, но внутри неё уже по папочкам конечно.

alexv@home /o/y/browser> tree -L 1 ~/Music/music/
/home/alexv/Music/music/
├── Mp3
├── Music
└── my_playlist_1760387855826.m3u
Loki13 ★★★★★
()
Ответ на: комментарий от navrocky

Домашний NAS в инет выставлен?

В виде Navidrome выставлен, могу еще Jellyfin выставить.

Loki13 ★★★★★
()
Ответ на: комментарий от navrocky

Ещё мне нужна статистика у кого какой Андроид на магнитоле

8.1

Довольно популярная серия магнитол Teyes. Уже бы и поменять пора, но вроде работает и работает. А менять это 35тыс на что имеет смысл менять, а то и 55тыс.

Loki13 ★★★★★
()
Ответ на: комментарий от navrocky

Qt/QML 6.9

Вроде можно будет собрать для старых андроидов с чуть более древним Qt и будет поддержка.

Для разработки на QML под Android 8.1 (API 27) лучшим выбором будет Qt 6.5 LTS.

Loki13 ★★★★★
()
Ответ на: комментарий от navrocky

Добавлю в баги

Ещё значок темный на тёмной панели в трее, возможно тоже баг и нужно добавить светлый вариант значка. Тема меняется, а цвет значка остается темным.

Loki13 ★★★★★
()
Ответ на: комментарий от Loki13

Ещё значок темный на тёмной панели в трее,

На какой платформе? Я давно уже с этим борюсь на разных платформах, но везде вроде победил, я так думал.

navrocky ★★
() автор топика

О, сейчас два репорта в Sentry прилетело, что кто-то пытается запустить на Debian 10 и там оно не взлетает из-за старой glibc. У меня как раз поддержка с Debian 11. Шикарно я считаю что Sentry позволяет такое наблюдать 😊

navrocky ★★
() автор топика
Ответ на: комментарий от navrocky

На какой платформе? Я давно уже с этим борюсь на разных платформах, но везде вроде победил, я так думал.

Сложный вопрос. WM - Hyprland, панель - noctalia shell. Возможно мне надо самому где-то указать переменную окружения, что темная тема используется, тут надо поискать как это сделано в Qt.

echo $QT_QPA_PLATFORMTHEME
qt6ct

В настройках qt6ct не нашел где задать стиль для значков в трее. Общий темный стиль не помогает. С переменной QT_STYLE_OVERRIDE тоже игрался.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от Loki13

Сложный вопрос. WM - Hyprland, панель - noctalia shell.

Мда, видимо надо в настройки выносить.

navrocky ★★
() автор топика
Ответ на: комментарий от Valor

Вайбкод? Или сам писал?

На новости даже тег стоит, и пол треда обсирания вайбкода. Я командовал, так скажу )

navrocky ★★
() автор топика
Ответ на: комментарий от navrocky

Сорян, тег просмотрел. Командовать имхо мало. Нужен глубокий контроль того что тебе серет ЛЛМ. Если тызакладывал архитектуру до мелочей и контролировал пайплайн разработки, то уваженрие тебе и респект. А если нет….

Valor ★
()
Ответ на: комментарий от Loki13

Попробуй выполнить следующие команды для темной и светлой темы:

busctl --user call org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop \
  org.freedesktop.portal.Settings ReadOne ss org.freedesktop.appearance color-scheme
gsettings get org.gnome.desktop.interface color-scheme

И кинь мне результат.

navrocky ★★
() автор топика
Ответ на: комментарий от Valor

Если тызакладывал архитектуру до мелочей и контролировал пайплайн разработки

Ну конечно закладывал архитектуру, старался контролировать весь процесс. И результат, как работает изучаю под лупой.

navrocky ★★
() автор топика
Ответ на: комментарий от navrocky
alexv@home ~> busctl --user call org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop \
                    org.freedesktop.portal.Settings ReadOne ss org.freedesktop.appearance color-scheme
              gsettings get org.gnome.desktop.interface color-scheme
v u 1
'prefer-dark'
alexv@home ~>

Может ещё это пригодится

alexv@home ~> fastfetch
         -/oyddmdhs+:.                 alexv@home
     -odNMMMMMMMMNNmhy+-`              ----------
   -yNMMMMMMMMMMMNNNmmdhy+-            OS: Gentoo Linux x86_64
 `omMMMMMMMMMMMMNmdmmmmddhhy/`         Host: X570 AORUS PRO (-CF)
 omMMMMMMMMMMMNhhyyyohmdddhhhdo`       Kernel: Linux 7.2.8-gentoo-x86_64
.ydMMMMMMMMMMdhs++so/smdddhhhhdm+`     Uptime: 12 hours, 48 mins
 oyhdmNMMMMMMMNdyooydmddddhhhhyhNd.    Packages: 4 (dpkg), 2057 (emerge)
  :oyhhdNNMMMMMMMNNNmmdddhhhhhyymMh    Shell: fish 4.9.3
    .:+sydNMMMMMNNNmmmdddhhhhhhmMmy    Display (LG Ultra HD): 3840x2160 @ 1.88x in 27", 60 Hz [External]
       /mMMMMMMNNNmmmdddhhhhhmMNhs:    Window Manager: Hyprland 0.56.2 (Wayland)
    `oNMMMMMMMNNNmmmddddhhdmMNhs+`     Theme: Fusion [Qt], Breeze [GTK2/3/4]
  `sNMMMMMMMMNNNmmmdddddmNMmhs/.       Icons: Flatery-Dark [Qt], breeze [GTK2/3/4]
 /NMMMMMMMMNNNNmmmdddmNMNdso:`         Font: DejaVu Sans (11pt) [Qt], DejaVuSansM Nerd Font (11pt) [GTK2/3/4]
+MMMMMMMNNNNNmmmmdmNMNdso/-            Cursor: BreezeX-Dark (28px)
yMMNNNNNNNmmmmmNNMmhs+/-`              Terminal: ghostty 1.3.2-my-patches+8c61b5d39
/hMMNNNNNNNNMNdhs++/-`                 Terminal Font: JetBrainsMono Nerd Font (12pt)
`/ohdmmddhys+++/:.`                    CPU: AMD Ryzen 9 3900X (24) @ 4.67 GHz
  `-//////:--.                         GPU: NVIDIA GeForce RTX 4070 Ti [Discrete]
                                       Memory: 7.96 GiB / 31.27 GiB (25%)
                                       Swap: Disabled
                                       Disk (/): 183.25 GiB / 239.25 GiB (77%) - ext4
                                       Disk (/home): 566.39 GiB / 673.73 GiB (84%) - ext4
                                       Disk (/mnt/steam): 1.14 TiB / 1.83 TiB (62%) - ext4
                                       Disk (/mnt/storage): 465.06 GiB / 1.34 TiB (34%) - ext4
                                       Local IP (eth0): 192.168.0.177/24
                                       Locale: ru_RU.UTF-8
Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от navrocky

десктопных компонентов

Каких? Кружков с треугольниками?

что прозрачность получилась

Всё будет. На иксах композитинг нужен будет, конечно.

BruteForce ★★★★★
()
Ответ на: комментарий от BruteForce

Всё будет. На иксах композитинг нужен будет, конечно.

Во, а сейчас и без композитинга должно работать.

navrocky ★★
() автор топика
Ответ на: комментарий от Loki13

Всё, ни слова больше. Фикс понятен.

navrocky ★★
() автор топика

Вопрос по функционалу. Как в Яндекс.Музыка воспользоваться глобальным поиском нужного трека или исполнителя?

delidov_george ★
()
Ответ на: комментарий от delidov_george

Как в Яндекс.Музыка воспользоваться глобальным поиском нужного трека или исполнителя?

Пока никак. В бэклоге уже лежит поиск треков по названию артисту альбому. Сейчас можно только извернуться, найти нужные треки в веб версии или на телефоне, добавить в плейлист.

navrocky ★★
() автор топика
Последнее исправление: navrocky (всего исправлений: 1)

Респект, клёвый плеер получился! Давно искал что-то безэлектроновое и удобное. Кажется заменит официальный яндексовский крап. Если ещё не во флейк со своим агентом сможем завернуть это добро с нативной сборкой под nixos - вообще красота будет.

der_fenix ★
()
Ответ на: комментарий от der_fenix

Если ещё не во флейк со своим агентом сможем завернуть это добро с нативной сборкой под nixos - вообще красота будет.

Ага, видел), мне отчёт в Sentry прилетел (NixOS 26.11):

cloudmus-qt did not start: exit code 127 (/tmp/appimage_extracted_07f24c7a1596c4a287b934fbc1668277/usr/bin/cloudmus-qt: error while loading shared libraries: libwayland-client.so.0: cannot open shared object file: No such file or directory)

Надо починить будет.

Ещё раз повторюсь, если кто-то не хочет ничего никуда слать - там отключается в настройках. Правда приложение должно ещё стартануть 🙈

navrocky ★★
() автор топика
Последнее исправление: navrocky (всего исправлений: 2)
Ответ на: комментарий от navrocky

Под nixos - задолбаешься чинить, если нет nixos под рукой :) Если получится собрать нормальный flake у меня - опубликую на гитхаб, можешь всех никсоводов слать ставить флейк просто или к себе забрать, но тогда и поддержку его на себя заберёшь :)

der_fenix ★
()
Ответ на: комментарий от der_fenix

Если получится собрать нормальный flake у меня - опубликую на гитхаб, можешь всех никсоводов слать ставить флейк просто или к себе забрать, но тогда и поддержку его на себя заберёшь :)

Ну я за, если ты соберешь и если нужно мне MR скинешь. Там наверное надо будет механизм автообновления допилить, сейчас он только умеет appimage и windows инсталлятор, для flake какой-то другой путь будет, типа уведомления об обнове и кидание команды на обновление?

Немного почитал за NixOS и flakes, в принципе это должно быть не сложно. И можно будет мне на github actions сборку замутить и пуш в кэш.

navrocky ★★
() автор топика
Ответ на: комментарий от yorshka

ИИшечка обучена в основном на вон том бангалорском коде с песнями и танцами

Ну так-то она обучена и на вполне годном коде, по этому пишет уже лучше, чем средний разработчик. И фронтиры уже особо не требуют присмотра, как год назад.

Отсюда, кстати, популярность Rust среди иишечников: индусы кодобазу на ржавом тупо не осилили запомоить ещё.

Не по этому. У раста компилятор выдаёт вменяемые сообщения об ошибках, из-за чего сильно улучшается качество обратной связи, которая крайне важна для ИИ-разработки.

Puzan ★★★★★
()
Ответ на: комментарий от Puzan

ИИшечка обучена в основном на вон том бангалорском коде с песнями и танцами

Ну так-то она обучена и на вполне годном коде, по этому пишет уже лучше, чем средний разработчик. И

Я об этом выше написал. Она не различает говнокод и неговнокод во входных данных.

фронтиры уже особо не требуют присмотра, как год назад.

Зависит от того, какой результат ты хочешь получить. Судя по опыту переписывания Bun или недавнему копированию фотошопа с нуля, всё весьма посредственно. Типа, в этом Photocraft половина фич тупо не работает. Или работает не так.

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

О, это ещё один лулз ИИшечки. Программисты десятилетями срали на скорость сборки и юзабельность инструментов, пока сами ими пользовались, а на претензии писали «skill issue». Как только у этих проблем появилась весьма осязаемая стоимость в виду лишних истраченных токенов, так сразу все засуетились. Очень хорошо показывает состояние индустрии в последние годы.

yorshka
()
Ответ на: комментарий от yorshka

Типа, в этом Photocraft половина фич тупо не работает. Или работает не так.

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

Очень хорошо показывает состояние индустрии в последние годы.

Да и не только в последние. Вообще, писать доки всегда было западло. А записывать «на бумагу» архитектуру - ещё западлее. Может теперь может научатся (с помощью ИИ) писать не только код, но и текст, и не полагаться на интуицию.

Puzan ★★★★★
()
Ответ на: комментарий от Puzan

Ну это, мне кажется, тупо от лени и желания побыстрее чего нибудь показать.

Ты себе сам противоречишь. Выше ты писал, что

фронтиры уже особо не требуют присмотра, как год назад.

Оказывается, требуют и ещё как.

Очень хорошо показывает состояние индустрии в последние годы.

Да и не только в последние. Вообще, писать доки всегда было западло. А записывать «на бумагу» архитектуру - ещё западлее. Может теперь может научатся (с помощью ИИ) писать не только код, но и текст, и не полагаться на интуицию.

Я писал про скорость сборки кода и информативность сообщений об ошибках. Повторю, на них традиционно все клали болт.

yorshka
()
Ответ на: комментарий от Puzan

Ну так-то она обучена и на вполне годном коде, по этому пишет уже лучше, чем средний разработчик.

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

Меня Клод поражает тем как он угадывает с пары фраз что я от него хочу, и делает это так как я хочу, при этом иногда ещё отсебятинки добавляет, и я такой, ну да, едрить, а я об этом даже не подумал..

navrocky ★★
() автор топика
Ответ на: комментарий от yorshka

Оказывается, требуют и ещё как.

В плане качества кода не требуют. Но телепатией ИИ пока не владеет, чтоб хотелки предсказывать.

и информативность сообщений об ошибках. Повторю, на них традиционно все клали болт.

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

А скорость сборки сейчас стала важнее, потому что ИИ сильно быстрее подаёт патроны. Но на количество токенов это не влияет.

Puzan ★★★★★
()
Ответ на: комментарий от navrocky

Да. Стало очень удобно формализовывать свои желания. Пишешь поток мысли (или вообще голосом «ну это, значит, этсамое, вот, чтоб зае..сь»), а он расписывает буквально по ролям. Очень удобно.

Puzan ★★★★★
()
Ответ на: комментарий от vvb333007

Опиши процесс кодинга.

Да, а что описывать. SDD я не затаскивал пока. В голове есть некое видение. Я вынашивал план лет десять наверное, правда раньше я думал делать веб-вью. Накидал фич в список. Делаешь проект с AGENTS.md, сперва описываешь и согласовываешь архитектуру в деталях с ИИшкой. Она всё это расписывает подробно, много итераций было. Потом уже фичи по порядку начинаешь более детально обдумывать, планировать и делать, тестировать на разных платформах. У меня OpenSuse хостовая + 3 виртуалки с Windows 10, 11 и Ubuntu, на них и тренировался. Интерфейс перекраивал несколько раз, что-то было нелогично, неудобно, смотрел все плееры вокруг, как у них что где. Ну в какие-то сложные реализации приходилось погружаться, проверять на вшивость, несколько раз было что выявлял идиотские решения со стороны ИИшки.

Как-то так.

navrocky ★★
() автор топика
Ответ на: комментарий от vvb333007

Обычная месячная подписка Claude Pro $20. Сделал фактически за 2 месяца с нуля. А ещё я на этой подписке сейчас и основные работы тяну. Так что нормально, хватает.

navrocky ★★
() автор топика
Последнее исправление: navrocky (всего исправлений: 2)
Ответ на: комментарий от Puzan

Оказывается, требуют и ещё как.

В плане качества кода не требуют.

Опять же, опыт Bun показывает другое. Как только проект перестаёт влезать в контекстное окно, начинается анал карнавал.

А скорость сборки сейчас стала важнее, потому что ИИ сильно быстрее подаёт патроны.

Ну я бы не сказал. Моё личное время мне важнее, чем время железки.

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

Не. Это просто типичные пох-зм и илитарность. В разработке вообще везде и всегда так: пока жареный петух в залупу не клюнет, никто даже не начнёт двигаться. Процитирую дравнее высказывание @anonymous:

Ярким признаком досо-виндузятника является привыкание к глюкам. Вплоть до их полного игнорирования.

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

yorshka
()
Ответ на: комментарий от vitaly-zdanevich

Уже качаю 😊 Моё тоже начиналось с терминальной яндекс музыки, но потом Остапа понесло )

navrocky ★★
() автор топика
Ответ на: комментарий от Valor

Если тызакладывал архитектуру до мелочей и контролировал пайплайн разработки, то

А если нет….

то никакой разницы.

Разница между хорошей и плохой программой - насколько хорошо она соответствует потребностям пользователя, причём не в только в моменте, а в течении какого-то времени по мере допиливания фич и багфиксинга. (отсутствие тормозов/жора ресурсов тоже является потребностью)

Ничего не могу сказать про данное ПО (не смотрел, не осуждаю), но граница между нормальными приложениями и слопом проходит не в «сколько времени было потрачено на кодирование/архитектуру» а в «сколько времени было потрачено на продумывание сценариев использования, и будет ли потрачено на продумывание сочетаемости будущих фич и багфиксинга сценариев использования». Корочет на постановку ТЗ и на контроль следования ему. Если что до ИИ - это также было максимально важно.

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

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

GPFault ★★★★
()
Ответ на: комментарий от vitaly-zdanevich

Поставил, но все экраны пустые (ну кроме меню), непонятно как Youtube Music, например, настроить. Ничего не жмётся. README километровый, не увидел как настроить. Нужен хороший мануал )

navrocky ★★
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.