AlexeyNazarief

AlexeyNazarief

На Пикабу
Дата рождения: 21 февраля
106 рейтинг 0 подписчиков 1 подписка 1 пост 0 в горячем
Награды:
5 лет на Пикабу
7

Сказ о том, как я мессенджер на Python писал, или Краткое пособие по вызову Сатаны через Gradle

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

Решил я как-то написать простенький мессенджер на Python. Ну, знаете, накидать бэкенд, прикрутить мобильный клиент - чисто для себя, «делов на вечер». Но когда дело дошло до сборки Apk через Android Studio... тут начался сущий ебаный ад.

Во-первых, сама по себе сборка через Gradle - это уже процесс максимально деструктивный для психики. Но настоящий квест начался, когда выяснилось, что Gradle 9 версии в упор не хочет работать с моим Python 3.14. Оказывается, эта связка просто мертва. Выясняю: всё, что выше версии 3.11, не подходит, потому что начиная с Python 3.12 из дистрибутива вырезали пакет distutils, на котором держалась вся логика сборщика. Думаете, я просто откатился на 3.11 и всё заработало? Как бы не так! 3.11 тоже отказался сотрудничать, потому что у него обновились методы сборки, конфликтовавшие с текущими скриптами. В итоге мне пришлось вызывать духа (ещё живого) Ван Россума и откатывать сам Gradle до версии 8.3.

И тут же прилетает от Java. Старая версия Gradle (чтоб её черти ебали) предсказуемо (не очень) начала конфликтовать с новой JDK. Пришлось материться, удалять всё и откатывать Java до 17-й версии. В этот момент я уже начал подозревать неладное.

Но.. После этого проект наконец-то соизволил собраться... Чтобы мгновенно закрыться сразу после запуска. Я сидел и искал логи, а их просто не было. Logcat девственно еб его мать чист. Только спустя вечность я понял: внутри приложения происходит конфликт фронтенда с бэкендом на таком раннем этапе, что приложение крашится еще до того, как инициализируется система логирования. "Пиздец" подумал я..

Кое-как поправил. Запускаю - висит на регистрации. Тыкаю кнопки - ноль реакции. Спустя сотню проверок и литры слез выясняется (через терминал на сервере): мой фронтенд отправляет данные в формате JSON, а сервер, ПИДАРАС, ждет не JSON, а FORM-DATA.. ЫАААА..

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

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества