Сразу отвечу на один интересный вопрос из предыдущей статьи, это возможно, и может быть даже реализую, но точно не сейчас. P.S. Для особо резвых, мой калькулятор может быть сколь угодно никому не нужным, но он есть и работает в целом зоопарке различных дистрибутивов буквально по двойному клику мышью, бесплатно без SMS, понимаете намёк? Или разжевать и положить в рот пингвинёнка? Можно сколько угодно кричать что дистрибутивы Linux только для касты "одаренных", но почему тогда на страницах дистрибутивов пишут какие они простые в использовании и содержат буквально все что нужно пользователю! Я не буду сейчас показывать как себя нахваливает каждый дистрибутив, что каждый чуть ли не прекраснее и удобнее чем Windows, просто это очень много места займет в статье. Но про один я скажу пару слов... Причем в самом начале, хотя правильнее было бы в самом конце вставить эту информацию, ведь увидел написанное уже после того как впустую потратил массу времени и сил... Так и хочется сказать на сленге название дистрибутива, но это будет весьма неприлично... Про Fedora говорят что это отточенная, легкая в использовании ОС для портативных и обычных ПК с полным набором инструментов для разработчиков и производителей всех видов. Шрифты немного поплыли за пределы "окна"... Что сказать... Я уже поимел реальный опыт, и мне как разработчику не понравилось... Кто-то хочет поспорить с тем что я назвал себя разработчиком? Или я "неправильный разработчик"? Видишь ли, создал тут калькулятор которому все равно в каком дистрибутиве работать, да еще не тонет в болоте зависимостей как типичный линуксоидный софт... Но не будем далеко отходить и пожалуй начнем с начала. Работая над очередной версией калькулятора я подумал, а не перенести ли разработку калькулятора из среды Windows в среду Linux, чтобы все как положено было, свободное ПО создано в свободной ОС! Для проверки калькулятора у меня есть целый набор дистрибутивов Linux в виртуальных машинах, я их просто все разом запускаю и смотрю, как правило, мой калькулятор работает во всех этих дистрибутивах без проблем: И тут мне подвернулась под руку Fedora Workstation 37-1.7, так почему бы не перенести разработку калькулятора в этот дистрибутив? Конечно же я не ждал что все инструменты для разработки сами себя соберут воедино, если калькулятор для Linux я могу без проблем скомпилировать просто так, то для Windows уже не могу нормально скомпилировать, ибо Rcedit работает только под Windows, или при помощи Wine. Начал я сборку "пакета разработки для Linux" именно с Wine, чтобы всегда мог нормально скомпилировать свой калькулятор для Windows. Казалось бы, что может быть проще, взять бинарные исполняемые файлы Wine и скормить среде разработки, ага, конечно, размечтались. Линуксоидное безумие во всей красе, потанцуй над терминалом, потанцуй с репозиториями, потанцуй с исходниками, потанцуй с потерянными зависимостями, потанцуй со сторонними репозиториями, потанцуй с публичными ключами, еще раз потанцуй с изменившимися репозиториями, потанцуй с устаревшими функциями (deprecated), потанцуй с зеркалами и синхронизацией, потанцуй с конфигурациями и мануалами, в конце концов потанцуй вокруг костра с бубном... В общем не вариант, тем более виртуальные машины у меня без интернета, а через Windows невозможно все это линуксоидное мракобесие провернуть, чтобы просто взять и отправить в виртуальную машину файл готовый, а после его использовать. Линуксоиды наверняка начнут кричать что просто нужно подключить интернет и скачать через репозитории, правда они забывают про один нюанс, сегодня у меня Xubuntu, завтра openSUSE, а послезавтра Fedora, и что, каждый раз через ущербные репозитории все заново выкачивать и устанавливать? Нет дружки-пирожки, у меня есть папка со всеми необходимыми инструментами для разработки приложения, только установить в систему OpenJDK так как он нужен для работы "apksigner". Вот эту папку со средой разработки я могу хоть на флешку перенести вместе с проектом, и продолжать разработку калькулятора откуда угодно и где угодно, лишь бы была Windows в системе, ибо в папке "Godot_and_Templates" сама среда разработки с шаблонами экспорта, а в папке "BUILD_TOOLS_Windows" у меня расположились все необходимые инструменты для полноценной сборки приложения: Я могу абсолютно легко скопировать OpenJDK на флешку с проектом и всеми необходимыми инструментами, и все, любой исправный ПК с Windows 7/8/10/11 позволит мне продолжить работу над проектом. Такую же папку я хочу собрать и для Linux, чтобы я не был ограничен одной лишь Windows при работе над проектом, ведь дистрибутивы Linux самое оно для разработчиков? Да? Может показаться что я уже собрал такую папку, и можно было бы сказать "да", но не будем забегать вперед лошади, лошадь не оценит такие порывы... Так как разработчики Wine не сделали готовое для использования приложение, я полез искать варианты в интернете, и нашел сборки от сторонних людей... Конечно же не без токсичных линуксоидов обошлось в комментариях к сборке. Человек потратил время, вложил свой труд, сделал работу которую по-хорошему обязаны были сделать разработчики Wine, а линуксоид такой пришел и начинает обесценивать труд человека... Вот и вся суть линуксоидов, а потом жалуются почему никто не хочет писать софт для Linux, что все игры и приложения разрабатывают под Windows, а не прекрасный и свободный Linux, да еще и закрывают исходные коды подальше от чужих глаз... Я вполне мог бы взять сборку, воспользоваться трудами человека что собирал Wine вместо разработчиков, но немного подумал, и обратил внимание что Wine есть для Slackware, на вид довольно интересно, всяко лучше зависимости от ущербных репозиториев, ведь потенциально адекватный файл я могу всегда скопировать куда мне нужно... Хотя я так и не смог просто взять и установить несчастный Wine в Slackware, ведь нужно плясать с терминалом, система никак не реагирует на пакет приложения, вернее реагирует, открывает его архиватором. Раз архив, значит нужно распаковать и запустить скрипт для установки? А кочерга там плавала! Эх, опять меня будут посылать читать мануалы да кричать какие у меня кривые руки, но ни в коем случае не дистрибутивы кривые... В итоге я вырвал из архива файлы самого Wine и перетащил их в Fedora скормив среде разработки, и похоже оно сработало, но я рано обрадовался. Wine потребовал загрузить какой то wine-mono пакет, ох уж эта тотальная зависимость от интернета... Делать нечего, линуксоидное ПО принуждает меня подключить интернет для скачивания зависимостей, в конце концов набор инструментов для Windows я не без интернета собирал... Только вот еще до начала скачивания mono, операционная система или софт какой-то успел на ~150 МБ втихаря выкачать что-то из интернета совершенно ничего не говоря мне об этом, неприятно однако. В итоге я смог скомпилировать свое приложение для Windows полноценно. Сразу же пакую в архив все что качалось и необходимо для работы утилиты rcedit, меня только озадачил архиватор линуксоидный, впрочем, я не удивлен... Однако попытавшись распаковать архив в операционной системе здорового человека (Windows), я обнаружил целый список зависимостей по файловой системе, и часть явно идет через путь локальной учетной записи пользователя, а это уже плохая новость, ведь смени я дистрибутив или имя пользователя системы, и этот архив скорее всего окажется бесполезен... И мне еще будут рассказывать что нет никакого болота зависимостей в линуксах, когда даже файловая система пронизана зависимостями... Ладно, разберусь позже с архивом wine... Далее мне нужно подготовить инструменты для компиляции Android APK, как и в Windows я скачал Android Studio, и уже через Android Studio качаю нужный мне SDK, ибо напрямую скачать SDK не представляю где и как, я не видел нигде ссылок только на SDK. В итоге я скачал что мне нужно было, но закрыть нормально Android Studio у меня не вышло, нужно было больше памяти выделять для виртуальной машины, ибо все упало и закрылось от нехватки памяти. А еще меня просто взбесили эти ущербные "Activities" в дистрибутиве Fedora, какой извращенец догадался убрать панель задач? Я уже замучился переключаться между окнами в пределах одного "активити", надеюсь тому гению однажды открутят ручки у дверей во всех комнатах квартиры/дома/норы, чтобы попробовал каково это открывать двери без ручек. Вечно всё через жопу, просто девиз какой-то "операционных систем" на основе Linux... В любом случае я наконец собрал APK файл для Android, из Android Studio достал SDK и JBR, к слову, Java необходимая для работы JBR судя по всему уже была установлена в Fedora, ну хоть с этим не пришлось устраивать пляски. Казалось бы, я собрал все необходимые инструменты для Linux, осталось только убрать лишнее и развернуть заново, но меня ждал облом, болото зависимостей не позволило всему нормально заработать после того как я удалил Android Studio из системы и весь мусор лишний... После я уже сразу запустил Simply Linux и попытался развернуть "пакет разработки" там, но проблем стало еще больше чем было в Fedora, и тут я понял что вся моя работа была впустую. Старался значит собирать бинарники, все в одну папку, чтобы можно было перенести одним кликом туда, где мне надо, но в итоге линуксоидное болото все труды уничтожило, ибо сделанное в одном дистрибутиве абсолютно не хочет работать в другом дистрибутиве... И мне ещё будут линуксоиды брызгая слюнями что-то доказывать. Ради интереса я загрузил Windows 10 компактную 21H1, по сути практически голая Windows 10 которой я не пользуюсь, вдруг мой "пакет разработки" собранный в среде Windows 7 перестанет работать в Windows 10? Буквально 5 минут на настройку: И мой калькулятор полноценно собрался, даже плясать с Wine не пришлось. Еще минута и мой калькулятор уже собран под Android абсолютно без проблем. И вот у меня меньше чем за 10 минут развернута среда разработки под другой операционной системой, считайте на другом ПК... Более 4 часов геморроя в среде Linux и в итоге ничего не работает, и 10 минут потраченных на настройку IDE/установку JAVA в Windows и всё работает, разницу чувствуете? Я конечно могу собрать дистрибутив себе для разработки приложения, но господи Иисусе, мне целый дистрибутив собирать?! Как я его запущу на других ПК с другим "железом" внутри? Linux дистрибутивы это не Windows, я не смогу как Windows 7/10 перенести вместе с NVMe SSD в другой ПК и запустить спокойно, Linux дистрибутивы обычно познают отвал до терминала при таком действии, если вообще запускаются... - -- --- Заключение Конечно я не спорю с тем фактом, что для некоторых разработчиков дистрибутивы Linux действительно гораздо лучше Windows будут, но как показывает практика, далеко не для всех разработчиков Linux пригоден. Если в среде Windows разработчик может собрать все свои инструменты в одну папку, и даже разместить всю среду разработку с проектом на флешке, то в Linux дистрибутивах это практически невозможно, ибо везде отвратительное болото зависимостей засасывает, а линуксоидный софт/инструменты максимально ущербные и не способны на какую-либо портативность. Да, сам Godot Engine работает везде, но сам по себе он не способен собрать полноценно APK для Android или EXE для Windows, для полноценной сборки нужны дополнительные инструменты, и в среде Linux с этими инструментами очень большие проблемы... Я конечно попытался собрать папку инструментов для сборки своего приложения в среде Linux, но это просто хлам нерабочий, ибо невозможно адекватно развернуть в ущербных дистрибутивах Linux тонущих в болоте зависимостей. Линуксоиды конечно же будут отрицать наличие болота зависимостей, что я могу сказать, пусть отрицают хоть надорвутся, в фантазиях линуксоиды много чего себе напридумывали. Кстати, как там репозитории поживают? Тотальная зависимость от интернета это хорошо? Репозитории это круто? Центры приложений тоже круто? А методы подмены внутренних зависимостей? Что?! Как же так! Ведь нет никакого болота зависимостей в линуксах чтобы там подменять что-то!!! (сарказм). В итоге ни удобства, ни безопасности в дистрибутивах Linux, а как линуксоиды свои попы надрывают, рассказывая какие линуксы безопасные и прекрасные в использовании, а как только пользователи начинают плеваться от линуксоидных "удобств", так сразу у пользователя руки неправильные, и вообще валите неосиляторы обратно в Windows... И небольшая "вишенка на торте", особо неадекватные линуксоиды что-то там заикались про невозможность запуска старых приложений в Windows 10 пытаясь оправдать ущербные дистрибутивы Linux, удачи повторить следующее с дистрибутивами Linux: На этом пожалуй закончу статью... Хотя нет, кое-что еще добавлю, мой милый пингвинёнок, прежде чем лезть в комментарии писать гадости обрати внимание на свой родной форум, он и без меня трещит по швам от бесконечных проблем, даже про Qt есть темы, пользователь там познал кошмар при наличии мониторов с разным разрешением: Теперь я закончу статью. Благодарю за внимание, больше интересных статей в блоге Hard-Workshop. Пыль это отличный индикатор, ну или просто крышка корпуса неплохо работает как фильтр, ибо пока нет никаких проблем с нагревом ЦП/ГП.
Почему Linux дистрибутивы порой это ужас, боль и страдание для разработчиков ПО
26 февраля 202326 фев 2023
148
10 мин