Комментарии 56
очень хочу заменить домашний дико устаревший xeon на Ampere, не в последнюю (но и не в первую) очередь из-за энергоэффективности. но глядя на цены в голову приходит только одна мысль "да ну их в жопу".
Эммммм... А много ли софта под ним заведётся? Мне кажется, сейчас десктопный софт обычно под x64 собирают, под arm сильно реже.
Целый Debian софта наберётся. Или даже целый Ubuntu.
Полгода на Ampere. Нет никаких проблем (кроме отсутствия rar в официальном репозитории Debian)
Наверное зависит от сценария использования.
У меня вот Mac M1 и каждый раз когда и собираю Java проекты (которые как бы независимые от процессора), то нередко получаю ошибки, что у меня там не хватает каких-то зависимостей.
Вот на прошлой неделе не получалось собрать Apache Curator. Пришлось делать это на виртуалке на Intel.
Непонятно, при чем тут архитектура?
Если у вас не разрешаются зависимости - просто установите недостающие компоненты.
Для чего менять систему?
Нужно просто внимательно изучить ошибки и собрать необходимое окружение для проекта.
Я тоже так думал.
А когда дошло до дела, то выяснилось, что JAR файлы для ARM и для Intel - разные. И для ARM некоторых нету.
Архитектура при том, что даже из одних исходников могут собраться разные продукты. Например, какой-нибудь хромиум. Под винду он одни библиотеки использует, под арм другие. Просто прям внутри проекта может быть написано if (win) source += [win_unit.cc] else source += [unit.cc] или то же самое, но не source += ... , а deps += some_lib...
Мысль установить недостающие компоненты в целом отличная, но иногда просто хочется чтобы всё работало и не приходилось разбираться, что там опять сломалось.
Никто не запрещает собрать недостающий софт из исходников. Ну или сразу Arch/Gentoo поставить.
десктопный софт
Статья все же про серверное железо. Для десктопа ARM сейчас имеет смысл только для очень специфичного рода деятельности.
А, точно. Я то просто привык под виндой жить, где никаких исходников, только дистрибутивы.
Тут вопрос не прост. С одной стороны, хорошо, когда болит голова у поставщика. С другой - совсем неплохо, если поставщик кормит завтраками, что исправить ошибку или добавить новую функциональность может кто угодно другой, включая Вас самих. С большой вероятностью, если работа сделана качественно, это даже поддерживать не потребуется, так как PR попадет в mainstream.
Вопрос исключительно в широте community. Для специализированных программных продуктов, имеющих узкую область применения - лучше один надежный поставщик. Для широко используемых очень многими программных продуктов - лучше открытый исходный код.
Что касается Windows, то её применение на серверах весьма ограничено и со временем только сужается. А на клиентах, код все чаще выполняется в браузере или, на мобильных устройствах, в JVM. Да, Windows еще долго будет стандартом для десктопов подавляющего большинства пользователей. Но при этом всё больше превращаться в запускалку для игр, специализированных приложений (например, AutoCAD) и браузера. Я всё меньше понимаю, для чего Windows разработчику.
Винда предоставляет нормальный интерфейс, который практически не меняется.
Это удобно.
Зачем разработчику? Ну, например затем, что в винде много пользователей, всегда будет, что писать. Документация норм, компиляторы норм. Можно просто брать и работать.
Это удобно.
Скорее - дело привычки.
Зачем разработчику?
Но разрабатывать то приходится или под браузер, который не зависит от системы, причем только front-end, или под Linux, на котором работает все большая и большая часть baсk-end. Спрос на десктопные приложения уже несколько лет почти нулевой. Какой смысл с плясками под бубен отлаживаться под WSL2, если можно просто работать под Linux?
Я не очень понимаю, зачем мне Linux, wsl2 и бекенд.
Я знаю, что ноуты продаются миллионами. Десктопы тоже продаются в некоторых объёмах. Я даже верю, что люди используют android и гуглят прям с него. Но. Что делать с теми пользователями, которые не хотят платить килобаксы за макбук, и не готовы полноценно работать на андроиде? Условные студенты, которым нужно писать дипломы, редакторы, которым нужно править тексты, разработчики, те самые пользователи autocad. Гугл говорит, что:
Распределение по всем ОС в мире:
Windows — 75,93%
macOS — 15.74%
Linux — 2.6%
ChromeOS — 2.38%
Я понимаю, что здесь не учтён Android, и его может оказаться даже больше, чем винды. Но кто будет писать приложения под 75% десктопов? Я что-то сомневаюсь, что пользователи автокада резко всё бросят и побегут изучать линукс.
Я не очень понимаю, зачем мне Linux, wsl2 и бекенд.
А что, простите, Вы тогда разрабатываете? Просто конкретно опишите два-три проекта, в разработке которых Вы принимали участие за последние лет пять.
Условные студенты, которым нужно писать дипломы, редакторы, которым нужно править тексты, разработчики
Мало того, что разработкой офисных пакетов и IDE занимается ничтожная доля разработчиков, так и тут почти всё уже давно есть как под Windows, так и под Linux.
Но кто будет писать приложения под 75% десктопов?
Это очень узкий рынок. Я же перечислил выше: "запускалка для игр, специализированных приложений (например, AutoCAD) и браузера"
Если Вы пишите игры или приложение, которое уже гвоздями прибито к DirectX и которое очень дорого перенести на Vulkan - тогда Вам нужна Windows. Да и то, до поры до времени, так как для новых разработок Vulkan выгодней и эффективней.
Попробуйте сами вспомнить, когда Вы последний раз покупали себе приложение под Windows (кроме игр). Я - лет 20 назад.
АРМы для ЖД, графические редакторы, распределённые вычисления на тему линала, всевозможные утилиты (а-ля обновление, диагностика и т.п), сейчас браузер, питонячьи утилиты. Всё под винду.
Из приложений под винду покупал MovAvi и антивирус. Постоянно использую KiCAD, IrfanView, FAR, Arduino, Fusion 360, Visual Studio, VMware, git, Lego Mindstorm Education, Zoom, AIMP, Audacity, Paint.net, WinDjVu, Я.Диск, Scratch ;) Жена AutoCAD использует.
Я не знаю, может рынок и узкий, но как тогда интерпретировать "75% пользователей используют Windows"? Отсюда: https://shazoo.ru/2022/11/04/134763/issledovanie-dolia-windows-11-na-rynke-sostavliaet-cut-bolse-15
Даже если посмотреть на хабр, то "Windows стала самой популярной ОС для разработчиков как в личном, так и в персональном использовании." Отсюда: https://habr.com/ru/news/708070/
Я не против линукса. Я просто не понимаю, почему статистика говорит про "винду" и "большинство". Может я чего не так понимаю в статистике?
АРМы для ЖД
Это что-то новенькое. АСОУП только несколько месяцев назад переполз с z/OS и DB/2 под Linux c PostgreSQL. ЭТРАН еще раньше этот путь проделал. АРМы там еще с 2014 года или под Astra Linux разрабатывались или под тонкий клиент (браузер). Windows и близко не пахло по вполне понятным причинам. Как исключение, только MS SQL 2016 последним мелькал. По инерции, так как контракт был заключен еще до Дебальцево и прочих известных событий.
Я с РЖД последние лет пять очень плотно общаюсь. Можете конкретней сказать, что Вы разрабатывали для них?
графические редакторы
Точнее. Назовите пару. И почему не на Vulkan?
распределённые вычисления
А разве под Windows есть хоть что-то для этого? Corosync, Spark/Hadoop, PBS - они все под Linux.
Из приложений под винду покупал MovAvi и антивирус. Постоянно использую KiCAD, IrfanView, FAR, Arduino, Fusion 360, Visual Studio, VMware, git, Lego Mindstorm Education, Zoom, AIMP, Audacity, Paint.net, WinDjVu, Я.Диск, Scratch
Из перечисленного, то, что нужно разработчику замечательно работает и под Linux или имеет не менее функциональные аналоги. А большинство перечисленного - пользовательские программы домашнего компьютера, а вовсе не рабочей станции разработчика ПО.
Жена AutoCAD использует.
Ваша жена разработчик AutoCAD? А если нет, то какое отношение её потребности имеют к потребностям профессионального разработчика ПО?
При этом, Вы как-то умудряетесь вести разработку без Confluent, Redis, RabbitMQ, k8s, nginx и т.п. Даже CI/CD непонятно у Вас на чем.
Боюсь, дальнейшие объяснения с моей стороны чреваты нарушением NDA.
РЖД государственная компания. Все закупки и услуги, включая разработку ПО для нее, обязаны проходить через тендеры на госзакупках. Просто дайте ссылку на них. Это законодательно публичные данные!
я уже некоторое время не работаю на РЖД, но когда я оттуда сваливал, там была винда (да-да-да, в ГВЦ были мейнфреймы и что там ещё...);
я никогда напрямую на него и не работал, есть ещё вагон подрядчиков, которые вполне себе отдельные компании;
я ничего не знаю о тендерах, госзакупках, публичных данных... и у меня нет желания чего либо икать.
Достаточно того, что у меня есть голова, и я точно помню, что я писал софт под винду ;) Вы же не будете утверждать, что мне это приснилось? :)
там была винда
Она и сейчас там повсеместно на рабочих станциях. Но еще лет пять назад, кроме браузера и офиса, там встречались только реликты на Delphi, которые активно переводились на тонкий клиент. Например, реинжиниринг интерфейса ЭТРАН под тонкий клиент завершился еще в 2020 году. С 2019 года РЖД закупает рабочие станции только на "Байкалах" и "Эльбрусах". Как Вы на них Windows представляете?
На TAdviser я не нашел ни одного проекта РЖД, связанного с Windows, за последние 5 лет. MS SQL 2016 был последним. Так что у меня даже предположений нет.
я никогда напрямую на него и не работал, есть ещё вагон подрядчиков, которые вполне себе отдельные компании;
Я в курсе. Сам связан с одним из таких. Потому и прошу просто ссылку на тендер с РЖД подрядчика, в котором Вы работали. Какие проблемы?
я ничего не знаю о тендерах, госзакупках, публичных данных... и у меня нет желания чего либо икать.
На техническом профессиональном сайте все же Вы обязаны предоставлять доказательства своих слов. Хотя бы, чтобы к Вашему мнению кто-то мог прислушаться. Отказ предоставить доказательства Ваших слов равносилен их ничтожности.
Слушайте, ну вы парой сообщений ниже пишете же "не вижу я спроса на десктопные приложения уже лет пять" и никаких доказательств не приводите. И ничего, все живы ;)
Реликты на Дельфи - это, наверное, как раз после меня осталось. Говорю же, я уже некоторое время там не работаю. Я там было сильно до 2019 года.
"не вижу я спроса на десктопные приложения уже лет пять" и никаких доказательств не приводите. И ничего, все живы ;)
Прошу прощения, но как физически можно доказать то, чего я не вижу? )))
Вот указать мне, что вот, вот и вот, есть тендеры на разработку десктопных приложений можно. Чтобы я увидел. Только куда ни плюнь - везде если десктоп, то Electron, что, по сути, Chromium с веб-сервером на локале.
Я там было сильно до 2019 года.
А чего Вы мне тогда мозг выносите, если точно знаете, что за последние 5 лет никаких десктопных приложений для РЖД Вы не разрабатывали? Vulkan вышел только в 2016 году с экспериментальными драйверами. Продуктивную разработку под него стало возможно вести только с 2018 года. Вот с этого момента и следует отсчитывать бессмысленность разработки десктопных приложений только под Windows. До этого DirectX давал некоторые весомые преимущества. А с января 2020 года таковых вообще не стало.
РЖД были в качестве примера. Я сменил несколько компаний, и все они чудесным образом разрабатывали софт под винду. Понятно, что я не могу работать сразу во всех компаниях ;)
Про тендеры я уже написал, что ничего в них не понимаю. Если дадите прямую ссылку, где этот поиск по тендерам живёт, попробую посмотреть.
Я сменил несколько компаний, и все они чудесным образом разрабатывали софт под винду.
Я тоже до 2014 года разрабатывал почти только под Windows. С 2014 года начались перемены - k8s, Confluent, RabbitMQ, ClickHouse, Redis, Airflow, Vulkan и т.п. Даже последняя опора Windows, .Net, получил полноценную поддержку на Linux. И уже с 2018 года я обнаружил, что у крупного интегратора, в котором я работал тогда, нет заказов ни на одну разработку только под Windows. Если заказчик и хочет десктопное приложение, то получает его через Electron. Времена сменились. Не кроссплатформенные десктопные приложения превратились в легаси.
Если дадите прямую ссылку, где этот поиск по тендерам живёт, попробую посмотреть.
Госзакупки, где же еще. Коммерческие проекты - на tadviser.ru, например, РЖД
Я не против линукса. Я просто не понимаю, почему статистика говорит про "винду" и "большинство". Может я чего не так понимаю в статистике?
Я ответил на этот вопрос в самом начале: "Windows еще долго будет стандартом для десктопов подавляющего большинства пользователей. Но при этом всё больше превращаться в запускалку для игр, специализированных приложений (например, AutoCAD) и браузера."
Обсуждаем то мы не потребности подавляющего большинства пользователей, которым и под Windows хорошо и нет желания переучиваться. А вопрос, который я задал: "для чего Windows разработчику?". Ну не вижу я спроса на десктопные приложения уже лет пять. Вообще не вижу.
"для чего Windows разработчику?"
Окей. Простой вопрос: как разрабатывать приложения под винду, если у разработчика линуксовая тачка? А главное - зачем?
Если вдруг потребуется толстый клиент, то есть KVM/QEMU, Wine и VirtualBox. Но back-end то все равно будет под Linux.
Еще раз: "не вижу я спроса на десктопные приложения уже лет пять. Вообще не вижу". Ни под Windows, ни под Linux. Все хотят тонкого клиента (браузер), чтобы не кувыркаться с развертыванием, обновлением и поддержкой на клиентских машинах.
Уже с WebGL/2 в браузере стало возможным иметь любую 3D графику. Что уж говорить про WebGPU? Да многие разработчики 3D уже лет 5-7, с появлением Vulkan, о DirectX забыли, как о страшном сне.
Microsoft в 2020 году выпустил компилятор своего HLSL для Vulkan, признав его превосходство над DirectX. С тех пор развитие DirectX фактически прекратилось.
Назовите мне хотя бы одну причину разрабатывать сейчас приложение только под Windows.
Могу назвать примерно 1.4млрд причин.
"Компания Microsoft опубликовала в своём блоге запись, согласно которой на данный момент в мире насчитывается около 1,4 млрд активных пользователей Windows 10 и Windows 11."
Вот только разработчиков из них хорошо если 1%. И кто будет писать софт под эти миллиарды пользователей?
В общем, мне кажется, что утверждение "не вижу я спроса на десктопные приложения уже лет пять" не соответствует реальному числу пользователей. У меня есть сомнение, что все эти 1.4млрд запускают исключительно браузер.
И про "KVM/QEMU, Wine" я не понял. Вы предлагаете это использовать виндовому разработчику? Или пользователю?
И кто будет писать софт под эти миллиарды пользователей?
А зачем, если можно написать софт под тонкого клиента, который сразу будет работать на всех платформах, включая мобильные? Если уж совсем обязательно функционирование offline, то есть, например, Electron, позволяющий иметь одно и то же приложение как локально, так и в клиент-серверной архитектуре.
Вы укажите хотя бы одну причину для разработчика, проектировать софт под Windows, отказавшись от поддержки мобильных устройств, Mac, Linux и т.п. Чего разработчику может не хватать, чтобы он стал разрабатывать только под Windows?
И про "KVM/QEMU, Wine" я не понял. Вы предлагаете это использовать виндовому разработчику? Или пользователю?
Третий раз пишу: "для чего Windows разработчику?"
Не очень понимаю вопроса "для чего", но попытаюсь угадать.
Для чего разработчики используют windows в качестве целевой платформы? Для того, чтобы получить максимум прибыли минимумом усилий. Если винда сейчас занимает 60% рынка, то написав приложение один раз его можно будет продать этим 60% (ну, не всем, конечно, удастся продать, но всё равно "чем больше пользователей, тем больше и потенциальных покупателей").
Для чего разработчики сами сидят на windows? Да потому, что самый простой способ разработать что-нибудь под винду - это взять комп с виндой, компилятор под винду, и написать приложение. Кросс-платформенная разработка, в принципе, существует. Но обычно это не так удобно.
Или суть вопроса была в чём-то другом?
Или суть вопроса была в чём-то другом?
Совсем в другом. Kакие технические преимущества дает Windows, чтобы разрабатывать под нее не переносимое на другие платформы приложения, вместо того, чтобы сразу разрабатывать кроссплатформенное? На современном стеке технологий трудозатраты в первом случае будут, скорее всего, даже больше, так как потребуется использовать устаревшие и уже не развивающиеся фреймворки.
Если винда сейчас занимает 60% рынка
С чего Вы это взяли? Подавляющее большинство разрабатываемых сейчас приложений - клиент-серверные (трехуровневые). А на серверах Windows в РФ занимает жалкие 7-8%
написав приложение один раз его можно будет продать этим 60%
Даже если речь только о десктопе, то создав кроссплатформенное приложение продать его можно будет, потенциально, 100%. Потенциальный доход выше на 67%. Совсем не мало. А трудозатраты, скорее всего, даже меньше (см. выше).
Кросс-платформенная разработка, в принципе, существует. Но обычно это не так удобно.
Не удобно, если работать в Windows, а отлаживаться в WSL2. Если же сразу сидеть под Linux, то отладка не представляет проблем. Клиентскую часть безразлично под какой системой отлаживать, если она изначально кроссплатформенная. А серверная часть, как я уже указал выше, в 92-93% - Linux.
> Если винда сейчас занимает 60% рынка
С чего Вы это взяли?
Цифры взяты вот отсюда:
https://shazoo.ru/2022/11/04/134763/issledovanie-dolia-windows-11-na-rynke-sostavliaet-cut-bolse-15
https://www.neowin.net/news/statcounter-only-15-of-windows-users-upgraded-to-windows-11/
О том, какие именно приложения стоят на этих 60% компов в статье не сказано.
Даже если речь только о десктопе, то создав кроссплатформенное приложение продать его можно будет, потенциально, 100%.
Да, можно. Но почему-то те компании, в которых я работал, этого не делают. И пилят софт под одну платформу. Попытка создать софт под другую платформу оборачивается тратами дополнительных денег и времени.
Мне ничего сходу в голову не приходит, но вот например то, что нашлось на моей машине:
Notepad++: идём в гугл, смотрим статью: https://pingvinus.ru/note/notepadpp-install
Коротко - нет его под линукс.
AIMP (https://www.aimp.ru/?do=download) - почему-то нет под MacOS.
Audacity - ок, есть везде.
Delta Design (https://www.eremex.ru/download-or-buy/) - только под windows.
KiCad - окей, есть везде.
MiniPro программатор (http://www.autoelectric.cn/en/download.html) - похоже только под Windows.
(да-да-да, софт местами радиолюбительский)
Вопрос: если всё так просто, почему же до сих пор популярный софт пишут под какую-то одну ОСь? Может быть с кроссплатформенностью всё же пока не так просто?
Хотя, дайте угадаю. Кроме GUI в приложениях есть ещё и полезная начинка. Воспроизведение звука (совсем разное в винде и линуксах), доступ к файлам, типы файловых систем, API... И как итог, как только приложение становиться чуть сложнее калькулятора, поддержка каждой отдельной операционной системы внезапно требует, фактически, написания нового кода. А это стоит времени и денег. Иначе все бы уже давно выпустили свой софт под все возможные ОСи.
Цифры взяты вот отсюда:
Это явно только десктопы. А я же указал, что заказы на разработку в подавляющем большинстве сейчас на клиент-серверные приложения. А на серверах доля Windows - 7-8%.
Попытка создать софт под другую платформу оборачивается тратами дополнительных денег и времени.
Если пытаться это делать на легаси десятилетней давности - не удивительно. О каком современном фрейворке Вы ведете речь?
Мне ничего сходу в голову не приходит, но вот например то, что нашлось на моей машине:
Ничего из перечисленного не является необходимым инструментом разработчика. Или Вас опять несет в сторону обычного пользователя, которому и под Windows хорошо?
Notepad++
Просто дружеский совет. Поставьте Visual Studio Code и не мучайтесь с этим недоIDE. Двадцать лет назад редактор на C++ действительно имел смысл. На современных процессорах Вы разницы между node.js и C++ просто не увидите.
MiniPro программатор
Уже есть.
А Delta Design уже три года не может попасть в реестр российского ПО именно из-за отсутствия поддержки Linux. Со всеми вытекающими - потерей клиентов с государственным участием или предприятий критической инфраструктуры. Если не выпустят версию под Linux в ближайшие год-два - обанкротятся. После того, как по итогам 2021 года у них выручка упала на 39%, они больше финансовую отчетность не публиковали. О чем то это говорит.
Воспроизведение звука (совсем разное в винде и линуксах)
А зачем лезть к драйверу, если есть SDL?
доступ к файлам
Вообще не вижу различий. Просто не надо руками парсить или собирать пути. Стандартные методы языка сами все сделают.
типы файловых систем
Если для Вашей программы есть разница между FAT. NTFS, CIFS и т.д. - Вы или занимаетесь системным программированием, или явно что-то не то делаете.
API
Для этого есть множество фрейворков, которые автоматически сами решают все эти проблемы. Нет таких проблем ни в .Net, ни в Java, ни в JS. Ну и GTK/QT никто не отменял, если хочется писать на более низком уровне.
Иначе все бы уже давно выпустили свой софт под все возможные ОСи.
Так, собственно говоря, именно так все и делают. Сколько Вы сможете назвать не системных программных продуктов и не игр, разработка которых началась в последние пять лет и которые исключительно под Windows? Я на вскидку вообще ни одного не могу вспомнить. А вот наоборот - множество.
Это явно только десктопы. А я же указал, что заказы на разработку в подавляющем большинстве сейчас на клиент-серверные приложения. А на серверах доля Windows - 7-8%.
Оооокей. А есть хоть где-нибудь табличка, которая подтверждает эти слова?
Плюс, если кто-то разрабатывает вот прям десктопный софт, то его вообще на радарах не видно будет. Ну стоит он на компе и стоит. В сеть не ходит.
... SDL
Про SDL погуглю, спасибо.
...Вы или занимаетесь системным программированием, или явно что-то не то делаете.
Но ведь кто-то должен заниматься системным программированием? Не сами же эти SDL-и с дотнетами появятся О_О
Для этого есть множество фрейворков, которые автоматически сами решают все эти проблемы. Нет таких проблем ни в .Net, ни в Java, ни в JS. Ну и GTK/QT никто не отменял, если хочется писать на более низком уровне.
Я там ниже ссылку привёл: https://habr.com/ru/articles/757156/
Там прям целая статья про кросплатформенность. И что-то я там особых восторгов не вижу.
Так, собственно говоря, именно так все и делают. Сколько Вы сможете назвать не системных программных продуктов и не игр, разработка которых началась в последние пять лет и которые исключительно под Windows?
Это какой-то очень сложный вопрос. Я не очень представляю, как перебрать все возможные программные продукты на свете, под все платформы, и отобрать среди них те, которые только под одну платформу.
ЗЫ: и чем вам Notepad++ не угодил? У него есть супер фича, которой нет в студии: можно открыть 100500 файлов, закрыть-открыть Notepad++ и всё на месте. И не надо думать, где он там что сохраняет. Оно просто работает. Опять таки, если мне нужно хранить просто куски текста, нафиг мне студия?
А есть хоть где-нибудь табличка, которая подтверждает эти слова?
Я же приводил ссылку выше. В облаке Яндекса Windows занимает лишь 7,65%. Остальное - Linux. Очень сильный удар по Windows в РФ нанесла приостановка сертификата ФСТЭК в 2022 году, что сделало невозможным легальное её использование для хранения и обработки персональных данных. Но и в целом в мире ситуация подобна. Windows установлена всего на 17% серверов. 83% - Linux.
если кто-то разрабатывает вот прям десктопный софт, то его вообще на радарах не видно будет.
Если он разрабатывает для себя лично - то ни к Вам, ни ко мне это отношение не имеет. Вот я люблю на досуге светодиодные лампочки чинить. Следует ли из этого, что их починка рентабельна? А если он продает - то просто вынужден будет его как-то рекламировать и продвигать. Так что видно будет.
Но ведь кто-то должен заниматься системным программированием?
Должен. Но, во-первых, это несравнимо меньший рынок, чем прикладное программирование. Во-вторых, если для Linux системным программированием занимаются тысячи компаний и самостоятельных разработчиков, то для Windows, в связи с недоступностью её исходных текстов, по сути, только одно подразделение MicroSoft. Все же системное программирование без доступа к исходным текстам - это уже системное костылестроение, а не разработка. Так что, с точки зрения разработчика, тут если и возможен заказ от клиента, то в 99% случаев это будет под Linux, а вовсе не под Windows.
Я там ниже ссылку привёл
А я на него подробно ответил. Не надо пытаться лепить монолитное приложение, используя средства, предназначенные для клиент-серверной архитектуры. Для монолитов сейчас более-менее живы только GTK и QT, но они требуют знания С++, от чего автор шарахался, как от чумы.
и чем вам Notepad++ не угодил? У него есть супер фича, которой нет в студии: можно открыть 100500 файлов, закрыть-открыть Notepad++ и всё на месте.
Это еще Atom умел, прародитель VS Code.
Опять таки, если мне нужно хранить просто куски текста, нафиг мне студия?
Вы не путаете ненароком Visual Studio Code с MS Visual Studio?
"можно написать софт под тонкого клиента"
Так непривычно. Всегда думал, что тонкий клиент - это просто десктоп без жёсткого диска.
Тонкий клиент - браузер или веб-движок, как chromium в Electron. А "непривычно" для разработчика - смерти подобно. Слишком быстро развиваются технологии, чтобы позволить себе привычки и не учиться чуть ли не на ежедневной основе, изменяя их.
Технологии действительно развиваются слишком быстро. За то время, что я сижу в винде, мимо меня пролетели winapi, MFC, OWL, VCL, WindowsForms, WPF+.Net, и многое другое, чего я вообще не слышал. Если бы я пытался учить всё, что мимо меня пролетает, я бы так до сих пор и был студентом, который учит очередную IDE+API. Иногда надо просто взять какой-то язык и фигачить ;)
Нашёл статью:
https://habr.com/ru/articles/757156/
Если коротко, то с кроссплатформенностью всё очень грустно.
Там человек нашёл только один вариант, и тот на паскале ;)
Да потому что до него не дошло, что приложение нужно делать сразу клиент-серверным. Пусть даже сервер будет на локале. И как только GUI полностью отрывается от системы, оказываясь в chromium, а с системой взаимодействует только серверная часть, то все становится на свои места. Для GUI, если не хочется использовать JS, почти любой язык компилируется в WebAssembly, а на сервере используем любой кроссплатформенный фреймворк, уже не беспокоясь о взаимодействии с пользователем.
А по ссылке автор пытался собрать монолитное приложение и ожидаемо уперся в то, что современными фреймворками такой подход не поддерживается. Для front-end - свои фреймворки, для back-end - свои. И не надо скрещивать ежа с ужом.
Хотя чем ему GTK/QT не угодил - тоже загадочно. Ну да, древние. Но вполне еще поддерживаемые. Видимо от C++ по религиозным причинам шарахался )
Да потому что до него не дошло, что приложение нужно делать сразу клиент-серверным.
Не все приложения стоит делать клиент-серверными.
И как только GUI полностью отрывается от системы, оказываясь в chromium
Вы в курсе, сколько места на диске занимает хром? Даже если от него оторвать всё, и оставить только рендерер, всё равно это десятки мегабайт. И зачем это нужно, если приложение делает одну функцию и занимает 100КБ? Больше похоже на overengineering.
А по ссылке автор пытался собрать монолитное приложение
Я не понимаю, чем вам не угодили монолитные приложения? Ну нафига какому-нибудь калькулятору или блокноту что-то, отличное от монолита?
Не все приложения стоит делать клиент-серверными.
Почему? Архитектуры front-end и back-end очень сильно различаются. Настолько, что для них предпочтительно использовать разные языки программирования, не то что разные фреймворки. А все попытки скрестить эти две архитектуры вместе на рынке так и не взлетели в итоге.
Вы в курсе, сколько места на диске занимает хром?
А при чем тут хром? Я явно указывал только Chromium. Его so у меня занимают ~200 МБ. И на диске и в оперативной памяти они и занимают столько же один раз для всех приложений, которые его используют. Чем Вас это смутило?
И зачем это нужно, если приложение делает одну функцию и занимает 100КБ?
А оно и будет занимать 100КБ. Разделяемые библиотеки они на то и разделяемые, что загружаются один раз для всех приложений. Все равно Chromium по зависимостям наверняка кто-то потребует. Telegram, WhatsApp, Skype, Viber - все они на нем.
Ну нафига какому-нибудь калькулятору или блокноту что-то, отличное от монолита?
Во-первых, быстрей разработка, во-вторых, кроссплатформенность без излишних затрат, в-третьих, независимость от версий ОС, в-четвертых, даже для калькулятора или блокнота пользователю будет удобней, что то, что он делал на планшете сразу же видно на домашнем ПК, рабочем компьютере или смартфоне. Ведь архитектура изначально позволяет иметь более одного клиента у сервера.
Строго говоря, любое GUI приложение - уже клиент-серверное. Разница только в том, вызываете ли в клиентом системный графический сервер (DWM, Wayland, Mir и т.п.) или не зависимый от системы графический сервер в том же Chromium.
омг
Ладно, ок. Пишите клиент-серверы. Только не ешьте мой мозг.
Да я и не пытался Ваш мозг есть. Просто поделился опытом и рассказал, какие реальные заказы на разработку и почему достаются сейчас системным интеграторам. В подавляющем большинстве - это front-end на React и back-end на .Net/Java. А ещё ниже - Confluent, RabbitMQ, AirFlow, PostgreSQL, ClickHouse, Redis, gRPC, Hadoop и т.п.
глянул, из того что сейчас крутится на моём домашнем сервере (чуть больше двух десятков сервисов) не заведётся только valheim dedicated server, ну штомш, будет жить на виртуалке.
Никто не уточнил для каких целей использоваться будет. Если в целом говорить, то на тот же Mac сейчас всё собирается с поддержкой arm, позднее будет собираться вовсе только для arm. От использования и ОС сильно зависит. Если это будет сервер на Linux или десктоп на нем же, но без специфичного софта для работы с мультимедиа, то каких-то проблем с наличием не будет.
У вас цифры с таблицами не бьются.
Флагманский процессор Intel Core i9-14900K получил 20 ядер и 28 потоков
У i9 же 24 ядра и 32 потока
Вот выйдет Репка 4, ух, покажет Orange Pi, где раки зимуют!)
А почему ни слова о лидере на рынке по количеству ядер - Sunway SW26010 Pro?
Так ведь уже вышел Orange Pi 5 на 8-ядерном rk3588s
Процессоры, диски, оперативка — топовое железо 2023 года