Ректал Нейтив - путь в говно
Столкнула с проектом, которым занимался 300 лет назад. И вот опять мне предложили поковыряться. Вообще, проект многострадальный и переписывала раз 300 и инвестиции искал раз 300. Последний раз, когда я сними работал, закончилась тем, что у владельца не было денег, а мне надо было кормить семью, поэтому я свалил в закат.
Теперь ко мне прижил снова с этим проектом, но уже без финансовой иглы. Я подумал и решил, почему бы не заняться, чисто по приколу. Просто почему бы нет? Без всяких обязательств и ебания мозга.
За время моего отсутствия проект потрепался и превратился в непойми что. Бакена написан на древней ноде, годов таких, что если бы в момент выпуска версии йоды у меня родился ребенок, то сейчас бы он уже ходил в школу. На фронте был реакт, да и хер пойми что еще, да мне не особо было интересно. На мобилках затащили реакт нейтив. Всю свою жизнь я элегантно избегла реакт нейтива и обходил его стороной.
Включив правильного смузихлеба, я сказал, что это не беда. У нас же стартап, там хуе-мое, а значит реакт нейти подходит для стартапа и давай продолжать. Мы же прогрессивные, не будем все сразу ломать, сейчас поддержим то, что есть, а как поплывут бабки рекой, то перепишем все как положено.
В итоге впиздячился я еще и в древний реакт нейтив. Себя я успокаивал тем, что раз я пиздатый кодер, то мне похуй на чем писать и я заодно посмотрю на чем пишут вурдалаки. Ну вот теперь небольшой итог.
Это ПОЛНОЕ ГОВНО, ГОВНИЩЕ ССАНОЕ, КОТОРОЕ НИГДЕ НИКОГДА И НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ. Никакие стартапы, ни вкоем случае не стоит на нем писать. Понятно дело, что сейчас повылезать вурдалаки, которые начнут что-то там чавкать под нос, что ты не умеешь его готовить, и вообще это лучшее, что было в их жизни. Если это так, то это полный пиздец, ребята, ваша жизнь прожита зря. Лучше водить маршруту в зажопинске, чем восхвалять это говно. Оно даже не требует особых аргументов. Просто перечислю пару моментов, от которых реактивная тяга выводит тебя на 2 космическую:
Ну начнем с установки: Чтобы хоть как-то это говно начало работать, тебе помимо основных тулзов для нативной разработки надо выкачать всякого дополнительного говна. Ну хорошо, накачали и поставили говна в систему.
Что там по ИДЕ? А нет нихуя ИДЕ. Качай богомерзкий ВСкод с плагинами или миллион драгу на друга похожих ИДЕ от джетбрейнса и плати за лицензии за продукты, которые не отличаются ничем и еще вертятся на джаве. Огонь и пиздец в 2021 году. Хунта и не более.
Ну ок, это понятно, вурдалаки привыкли сидеть в говне. Давайте собирать проект. Начнем с подтягивания зависимостей. Каких нахуй зависимостей: последний раз зависимости обновлялись год назад, а теперь они все устарели и их топ вообще нет. Т.е. Половина говна удалили. Збс, а как собирать? Да никак. Это нативное приложение ты можешь собрать через год, оно покажет проблемы, но запустится. А тут никого не едет. - обновляй зависимости и переписывай код. А нахуйя мне все писать заново?
Кароч с горем пополам обновляю лимбы и подтыкаю костылями.
Собираем под айос. А вот хуй, это говно еще требует подтянуть зависимости через нативный пакетный менеджер кота под. Тянем. И пиздец все поломалось. Чистим кэши проекта (хотя он даже не собрался еще). Тянем снова и вроде все подтянулось.
Так, а где запускать? А в пизде запускать. Либо настраивай сборку в поддели джетбрейнса или иди в икскод и собирай там. Ну ок, идемте в икскод, там вроде удобно. Запускаем - пиздец. Циклические зависимости в нативных либах. Збс, при том, что он сам их ставил. Перезапускаем менеджеры пакетов. Теперь вроде все ок. Нихуя! Теперь часть сигнатуре в подах не соответсвует нативным. Опять меняем версии. Вроде запустилось.
Загрузился симулятор, и. Нихуя, красноте окно. Это говно не запустило свой сервер, но зато подняло клиент. Ладно чистим проект снова и перезапускаем. Слава яйцам, запустилось.
Ну мы же не дэбы, и вообще гибкие. Давайте пробовать продукты джетбрейнса. Настраиваем конфигурацию, стартуем. Он стартует сервер, стартует клиент, но клиент не видит сервер. И вообще, с разными конфигурациями проекта надо ехать и настраивать. Хуй с ним. Будем запускать в иксокде, но писать в вебшторме. Прям отличное решение для вурдалаков.
Идем в андроид. Настраиваем конфигурацию, запускаем. Сервер запустился, клиент собрался, правда 3 раза на грейте обосрался. И вместо запуска видим хуй: Эта пиздабратия не нашла зэмулятор. Эмулятор создан, но не запущен. Эта хунта не смогла запуститься, хотя ей явно указали имя симулятора. Если имя не указать, то она сама не сможет найти первый попавшийся и запуститься на нем. Идем в андироид студию, запускаем симулятор, перезапускаем эту пиздобратию. Ура, она запустилась и все заработало.
В сухом остатке имеем, что для работы надо иметь или 3 ИДЕ или пользоваться дополнительными тузами для работы с кодом на этом говне.
Ну ладно, проблемы запуска, да тем более не самого свежего проекта. Скажем так, старый проект, писался дибилами, я дибил и не смог разобраться.
Идем писать код
Подключаем пуши. Ага. Есть 15 либ для пушей и все говно. Хорошо, что я помню как настраивать наивную часть, так как если писать на это говне, то код должен писаться в наливной части и в ректор нейтиве. Очередное доказательство, что это дееспособное говно. С горем пополам запустили пуши на обеих платформах с самой топовой либо, правда понизив версию, так как на самой актуальной версии пакетный менеджер все скачивал, но при запуске приложение впадало в истерику и крошилась рандомно.
Опять же, пришлось углубить и выяснять, что это частая проблема, хотя лита топовая файрбейз. Кароч вурдалаки так привыкли и это норма.
Далее в приложении увидел поле с датой, при нажатии на которе вылетает дейтпикер. Так вот, он совсем по-разному работает на айос и андроид, хотя код один. Ну опять же, версия либы с дейтпикером старая, в новых, наверно, такого нет. Да, вурдалаки не пишут сразу нормально, а 5 лет пишут говно, которое не может работать нормально, а потом переписывают на новое говно, которые тоже не работает.
Хорошо, можно смириться. Давайте теперь подвинем поле, так как оно выровнено некрасиво. В итоге я потратил целый день, и сделал через костыли. Я перерыл кучу инфы и ничего не работает. Поле тупо нельзя выровнять так как тебе надо. Почему? Потому что это либа и там опять се через жопу. Она либо схлопывается либо распидорашивается на пол экрана. Ну прям в лучших традициях вурдалаков из прошлого параграфа.
Ладно. Все собирается(обсирается), коммитим, пушим идем спать. На следующий день надо бы собрать и залить в сторы актуальные версии. И вот хуй там снова плавал. Опять все ошибки с либами, сигнатурами, и прочей поеботой. В итоге церемония така: снова чистим кэши, подтягиваем зависимости, 500 раз компилим. И так каждый раз. От чего зависит - хуй знает, видно от циклов луны. Да и нагую разбираться почему говно воняет.
Итог таков. Пиздоглазые мудилы могут много передать в лужи о том, ка кони успешно запускали проекты и успешно поддерживали их на протяжении тысячи лет, на ректор нейдиве и о том, что это лучшее, что придумало человечество, а автор дубли, который ничего не умеет. Но потом пришла мамка, дала пизды и супер стартеры пошли спать. Если вам дороги свои нервы, то даже не суйтесь в это говно. Оно нихуя не приспособлено ни для чего. Мало того, что его пик популярности пошел на спад, так эта срань так и не получила детские проблемы, которые характерны для молодых фреймворков. Они просто так привыкли сидеть в говне и обмазываться им. Ну так пусть и сидят.
Автор нихуя не понял и не умеет. Да может быть, похуй, но если эта залупа приносит столько страданий такому сауну как автор и не способна в итоге ни на что то нахуй она нужна?