Степан Гончаров - Gradle от A до Я

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ต.ค. 2024
  • Ближайшая конференция - Mobius 2024 Autumn, 11 октября (Online), 19-20 октября, Санкт-Петербург. Подробности и билеты: jrg.su/Yu6KNJ
    - -
    . . .
    . Что же такое Gradle, как он работает, что за плагины и таски? Демоны, воркеры, агенты, процессоры... А еще жизненный цикл, конфигурация и бог знает что еще. Все это огромная и сложная машина, с которой нам хочется подружиться, потому что иначе нас ждут непонятные ошибки, которые неизбежно снижают продуктивность всей команды.
    В этом докладе Степан постарается объяснить, что же такое Gradle, начиная с wrapper, buildSrc и жизненного цикла, и заканчивая зависимостями между тасками, принципами кеширования и инкрементальной компиляции. После этого мы углубимся в Android и Kotlin-Android плагины, и постараемся выстроить всю цепочку преобразований текста в файлах и ресурсов в APK.

ความคิดเห็น • 61

  • @vladimirlazarev2267
    @vladimirlazarev2267 3 ปีที่แล้ว +56

    Похоже на тот случай, когда инструмент для решения задачи оказывается сложнее самой задачи.

  • @ИванАлешечкин-б8к
    @ИванАлешечкин-б8к 3 ปีที่แล้ว +33

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

  • @Kadabra1981
    @Kadabra1981 3 ปีที่แล้ว +47

    Божественный сборщик, началось с того что в мавене xml много писать, ок вот градл где писать надо мало, и началось тут надо дописать там надо дописать здесь таски лучше классами описать, в итоге портянка build.gradle вырастет как бы не в разы больше pom.xml

  • @kraken645
    @kraken645 3 ปีที่แล้ว +17

    Ты не работал с Gradle и захотел узнать как это когда не maven? Это не то видео, тебе не сюда.

    • @МихаилНовиков-р6ч
      @МихаилНовиков-р6ч ปีที่แล้ว +3

      Да нет, кажись, как раз то. Желание заниматься глупостями сняло на раз.

  • @Titov222
    @Titov222 4 ปีที่แล้ว +9

    Спасибо за доклад, очень интересно

  • @32zim32
    @32zim32 2 ปีที่แล้ว +12

    Как по мне настолько непонятная система сборки не должна существовать в нашем мире

    • @konstantinchudinov2553
      @konstantinchudinov2553 2 ปีที่แล้ว +3

      После 10 лет работы джавистом в 9 компаниях, и 4х лет работы JS fullstack разрабом + Ruby (иногда) - я могу сказать что джава разработчики в принципе все усложняют настолько, что не должны существовать в нашем мире. Куда не плюнь - везде оверкомпликейтед вещи. Я когда JS разрабам рассказывал, что будучи синьором джавистом я читал отдельные книги по ORM, Конкурентности, IoC, сборщикам, типа мейвена - они пальцем у виска крутят и не понимают, что можно было такого впихнуть в эти технологии что по ним нужно целые книги прочесть, чтобы разбираться. И я отчетливо вижу сейчас, что эта сложность - приводит к гораздо бОльшим проблемам на продакшне, чем если писать на той же ноде, пайтоне или руби

    • @konstantinchudinov2553
      @konstantinchudinov2553 2 ปีที่แล้ว

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

    • @vdrmkr
      @vdrmkr 2 ปีที่แล้ว +1

      @@konstantinchudinov2553 лол, это вы плюсы не видели, и их системы сборки. Ваши веберы бы повесились на месте от увиденного.

    • @NakoYamaSan
      @NakoYamaSan ปีที่แล้ว +1

      @@konstantinchudinov2553 да, это пипец конечно жесткий, чего в мире java творится, все оверкомпликейтед.. самого тошнит, всякие Спринги и Жпа напридумывали...

  • @kazakhification
    @kazakhification 4 ปีที่แล้ว +18

    Понял что не буду использовать грэдл

  • @immortal-spirit-13
    @immortal-spirit-13 3 ปีที่แล้ว +6

    инетресно ) спасибо ) но очень тяжело дня понимания лично для меня )

  • @vdrmkr
    @vdrmkr 2 ปีที่แล้ว +5

    И вообще, почему МЦ Похоронил рассказывает про Gradle? 🧐

  • @miRorshik
    @miRorshik 3 ปีที่แล้ว +8

    я прям страдаю от гредла... он вечно цепляет не те библиотеки постоянно после переключении между проектами цепляет не те библиотеки.. и каждый раз каким то неведомым способом всё ломается. Пока проект полностью не переустановишь ничего не заработает...

  • @PS18041994
    @PS18041994 3 ปีที่แล้ว +4

    Tasks ARE very complicated :)

  • @i3DRaven
    @i3DRaven ปีที่แล้ว +2

    Эволюция инит систем в линукс
    1. Мы напишем кучу связанных спагетти скриптов и запутаемся к хренам.
    2. Мы напишем декларативный systemd, он в сто раз проще и будет удобно.
    Эволюция билд систем в java|kotlin
    1. Мы напишем декларативный мавен, он простой и ясный
    2. Мы напишем спагетти кодовый gradle и запутаемся к хренам
    Кажется погромисты несколько проигрывают в разумности админам.
    По возможности не пользуюсь gradle, ибо дрянь и maven намного лучше.
    Но у нас CI/CD это не часть билда и билд только билдит.
    Собственно в вопросах kotlin vs java то же самое. Правда на kotlin
    я всего около 70к строк написал, может не проникся и зря считаю его
    языком, провоцирующим спагетти код.

    • @NakoYamaSan
      @NakoYamaSan ปีที่แล้ว

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

  • @Grapeoff
    @Grapeoff 3 ปีที่แล้ว +4

    После NPM + WebPack как-то дико выглядит

  • @COOP1606
    @COOP1606 3 ปีที่แล้ว +18

    Уныло и депрессивно. Краткий пересказ: все девелоперы - неумные, а инструмент - слишком сложный.

    • @taraszhupnyk2998
      @taraszhupnyk2998 3 ปีที่แล้ว +11

      да, я также заметил что не хватает подтанцовки и феерверков

  • @kirillkir6268
    @kirillkir6268 7 หลายเดือนก่อน

    До сих пор не понимаю, как это могло появиться в мире джава...
    Билд скрипт должен билдить, а не запускать ракеты в космос!
    Самое обидное, что девы начали говорить меркетинговыми лозунгами, а то что эта хрень не дает никаких преимущест кроме усложнения в мире микросервисов, об этом почему-то все забывают, главное, чтобы не XML )))
    Вот только XML прост и однообразены, а на гредле каждый билд скрипт как картина современного искусства... уникален

  • @vdrmkr
    @vdrmkr 2 ปีที่แล้ว +1

    Эм, а каким образом то что язык интерпретируемый влияет на невозможность ошибки в рантайме?

  • @TheJabberwahh
    @TheJabberwahh ปีที่แล้ว +1

    "конфьюзит". можно было бы всю лекцию на английском, но пока мы умеем только в слово "конфьюзит"

  • @NakoYamaSan
    @NakoYamaSan ปีที่แล้ว

    А почему про Ant ничего не сказали? Изжила себя технология?

  • @istiod
    @istiod 3 ปีที่แล้ว +1

    Мне кажется на 12.19 автор заблуждается, тело таски выполнилось как надо, после запуска таски, а потом в консоль вывелся лейбл жизненного цикла, т.е. результат с которым она выполнилась. Ну а actions - doFirst и doLast как раз выполняются до и после самой таски соответственно.

  • @konstantinchvilyov9602
    @konstantinchvilyov9602 3 ปีที่แล้ว +1

    А русские слова уже забыли?

    • @maxkatrenko8865
      @maxkatrenko8865 3 ปีที่แล้ว +3

      не устаивает - не смотрите

    • @konstantinchvilyov9602
      @konstantinchvilyov9602 3 ปีที่แล้ว +4

      @@maxkatrenko8865 Спасибо за дельный совет :))))

    • @IlllIlIIllIll
      @IlllIlIIllIll 2 ปีที่แล้ว +17

      Да без проблем. Про что ты хочешь услышать?
      Могу рассказать запуск проекта на Весеннем Ботинке с помощью Градиента. Подключим с тобой ГибкийПоиск, зальём всё на Мерзавчика. Данные какие будут? ГибкогоПоиска хватит? Или реляционное что-нибудь подключим? Будем общаться на Вялом. У тебя кстати как с английским? Верхне-промежуточный есть?
      ps. slack - вялый, git - мерзавец)

    • @konstantinchvilyov9602
      @konstantinchvilyov9602 2 ปีที่แล้ว +5

      ​@@IlllIlIIllIll Стефан, собственные имена переводить нет необходимости 😀А вот с рунглиша лучше перейти на русский, ну хотя бы во время общественных объяснений. Это значит, что
      вместо Тасок?, Тасков? лучше сказать Задач,
      Заимплеменчен? - выполнен, осуществлён, разработан,
      Мутабельная? - изменяемая вероятно,
      Зарезолвится - трудно сказать, тут надо сначала понять что имел ввиду автор. 😀

    • @DmitryStepanov-mo6wt
      @DmitryStepanov-mo6wt 2 ปีที่แล้ว

      @@konstantinchvilyov9602 Task - имя собственное в данном случае, термин... остальное в принципе по факту