Изучение Gradle

Я пытаюсь стать Android-разработчиком, так как это (по слухам), проще, чем Enterprise. Стал вопрос изучения системы сборки, так как Gradle практически везде требуется. Загвоздка в том, что официальный гайд 1180 страниц занимает.

Все бы ничего, но я еще Шилдта не до конца осилил (добрые 1500 страниц), но уже освоил базис — html/css/xml/sql/git/

Сейчас пытаюсь освоить библиотеку Java до конца. Решил пропустить все главы с десктопом (awt/swing/JavaFX), он вроде бы не используется практически.

Ведь потом еще остаются книга Busy Android guide (4k страниц), JUnit, Паттерны проектирования, книгу по Чистому коду прочитать, архитектуре... И еще многие говорят, что Джавист должен знать REST API/JSON и Javascript в придачу.

Я все понимаю, что у джуна нелегкий путь, но неужели только для Gradle нужно весь гайд на тысячу страниц прочитать? Просто руки опускаются от таких объемов.

Поэтому просьба огромная, дайте совет, что следует изучить в Gralde первоочередно, чтобы хватало для Junior Android Dev. Желательно ссылку на туториал. Иначе мое обучение затянется еще на год. Огромная благодарность.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Если хочешь немного больше разобраться, и что бы в случае проблемы заниматься не SODD (Stack Overflow Driven Development), а понимать, в чем же все таки причина, то вот отличная книга — Gradle in Action (www.manning.com/books/gradle-in-action).
Достаточно прочитать первые 6 глав (до Multiproject builds включительно) и это покроет 80% твоих вопросов.

Ну и Gradle выбрал Kotlin как основной язык для скриптов, а это значит, забываем Groovy и учим еще один язык.

Основная сложность Gradle — его DSL, да и API регулярно меняется. С одной стороны, хорошо — больше возможностей и функционала, технология не закостеневает. Но с другой стороны, статьи /книги по Gradle 2015 годов уже нужно читать с лупой, проверяя себя на практике, работает это еще или нет

Буллшилдта читать не надо.

99,9% времени ты будешь писать код, а не билд скрипты. Потому рецепт как стать Android-разработчиком не изучая Gradle:
1. Если ты не идешь уже на существующий проект — то создаешь проект через темплейт в Android Studio, build.gradle создается автоматом. Обязательно ведешь вего в git-репозитории и коммитишь каждую фичу.
2. Когда что-то надобно поменять в этом build.gradle — гуглишь конкретный кеис и копипастишь. После успешного апдейта build.gradle все коммитить в git.
3. Если ты поломал build.gradle — откатился в git и повторил пункт 2 аккуратней.
4. PROFIT!!

Таким образом ты будешь изучать фичи Gradle по мере надобности. Часто в билд скрипте меняеются только номера версий апликухи и библиотек, реже добавляются и удаляются либы, но это все предельно просто. Все остальное может месяцами (а то и годами) не меняться. Потому ИМХО знание/нехнание Gradle вообще никак не определяет на тебя как на Android-разработчика (достаточно просто уметь гуглить, желательно на английском), а его целенаправленное изучение — бесполезная трата времени (что для джуна, что для синьора). Лучше Макконела почитай (через 2-3 месяца после, того как кодить начнешь).

P.S. Git, кстати, тоже не изучай на начальных этапах. Современные UI-тузлы позволят легко делать коммиты, мержи и прочую дребедень (это даже в Android Studio встроенно). Прочитай какой-то туториал (до 5 страниц размером), чтобы понять, что это вообще такое и базовые вещи про коммиты и бранчи. На большом проекте всегда найдется синьор, который поможет в специфичном кейсе, на своем специфичные кейсы пока не понадобятся. А если совсем станет тяжко — загуглишь :) Всех command-line-lovers не слушай — пока они учат «git в командной строке» — ты станешь мидлом и получишь +$1000 к ЗП. А им предлагай в ответ ездить на дилижансе вместо машины.

Спасибо за совет! Это сильно проясняет мое понимание о реальной разработке) К сожалению, в книгах таких дельных советов о реальной работе программиста (особенно в СНГ) вообще мизер.

Кстати, Git я тоже по книге выучил) Основы гита и ветвление дались довольно легко, буквально дня за 3. Но в инструменты, серверную часть и внутреннее устройство, я конечно не разбирал. В качестве GUI взял Smart-Git, но консолью тоже несложно пользоваться. Еще пару месяцев назад не понимал, зачем его используют, зато теперь вижу, что это действительно бесценный инструмент разработчика.

Хотел спросить насчет тестирования: какие фреймворки следует освоить прежде всего, и насколько глубоко? JUnit, Espresso, Mockito?

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

Завтра ищешь в интернете книжку Gradle для чайников. По*** если ничего не поймешь. Затем идешь на gradle.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию gradle — PEP8, чтобы от зубов отскакивало.

Чтоб стать шахматистом — надо играть в шахматы, а не читать книги про шахматы: достаточно выучить правила и начать.
Так и с программистом.

Без чтения книг про шахматы профессиональным шахматистом не стать. Так можно стать только любителем, даже и не разрядником.

Совершенно верно. Я не читал книг по шахматам, но при этом выигрывал у разрядников.
А еще Ной был любителем, а Титаник строили профессионалы.
Так что понятие «профессионал» зачастую означает «железная задница».

У Ноя, как и у строителей Титаника, были инструкции что строить и как. Но в случае с Ноем инструкции написаны Тем, Кто не ошибается, а вот инженеры, проектировавшие Титаник, или не смоделировали возможность получения судном множественных пробоин, или пренебрегли этой возможностью как маловероятной.

Следовательно, по вашей логике, любители это те, кто пользуются инструкциями Того, Кто не ошибается? Прикольно. Вопросов больше не имею и отвечать мне не надо — я не общаюсь с религиозными фанатиками.

Вигравати у розрядників і бути розрядником різні речі)) Виграти можна в будь кого, питання чи зможе на постійній основі. І ще, де вигравати теж важливо: в клубі під чайок? Чи на серйозному турнірі де всі стараються?) По темі: якраз розряд 1 можна отримати без книг ( з тренером), навіть КМС можна,а от міжнародним майстром не станеш. Жодного прикладу не знаю, всі хто КМС отримували без серйозного навчання якшо мали амбіції і сили, то брались за книги) З.І. Так само з програмістами) Книги правда не всі корисні, і часто документація заміняє книги

А еще книги по программированию имеют свойства устаревать и быть неактуальными.

Почти как один президент;

Чтоб стать президентом — надо пойти в президенты, а не читать книги про президентов: достаточно выучить правила и начать.

))

Прекращай заниматься фигней. Даже если прочитаешь все от корки до корки, то все равно забудешь 90% через пол года. Это касатеся как грейдла/Шилдта так и всех остальных книг от корки до корки. Готовься лучше к интервью и изучай то, что должен знать джун что-бы его взяли на первую работу. Там не месте разберешься.
По грейдлу/мавену ты должен знать как подключить зависимости, как просмотреть зависимости, как собрать проект и как работать с ресурсами нужными для проекта. Остальное гуглится.
Ну и Андроид это далеко не одна Java.

Вот подготовка к интервью меня тоже немного смущает. Особенно если посмотреть на список вопросов:

jsehelper.blogspot.com/...​2016/01/blog-post_59.html

Но все равно спасибо за совет.

Ну список, как список. Что именно смущает? Ответ на каждый вопрос прояснит некоторую деталь. Лучше на этом сосредоточиться, чем читать огромные мануалы и книги. Ну и обязательно практику добавлять.

Вполне себе нормальный вопрос. Должен быть частью проверки знания структур данных, их реализаций и time/space complexity. Даже не использовав никогда Hashtable, разницу объяснить можно элементарно.

я тоже не использовал никогда Hashtable Vector и StringBugger, но разница гуглится за секунду по «Core Java interview questions»

Выучи Go, Java слишком огромная, да и писать будешь на Android sdk, а не на ней, да и мобайл ни к чему хорошему не приведёт тебя

да и мобайл ни к чему хорошему не приведёт тебя

Почему? По поводу тулзов, зрелости языков — спорный вопрос. Насчёт зп — Go-сеньоры зарабатывают в среднем больше чем $4к на укр галерах? Если да, то тогда наверное стоит двигать булки в сторону го.

Судя по статистике зарплат на доу — медиана зп го синьоров — 4к. Но мой личный опыт показывает, что эта цифра выше, около 4.5-5к. Синьор гоферов с меньшей зп не встречал.

Java востребована. Android часто на удаленке есть вакансии и при необходимости можно перейти в Enterprise. Да и уже переходить на что-то другое пока не вижу смысла. А так Java нравится и процесс обучения в целом тоже. Вот только времени довольно мало, так как на основной работе тоже нужно выкладываться. Наверное главная загвоздка)

только вот андроид разработка движется в сторону котлина. джава остается только на сапорте.

1) перейти не просто в ЕЕ
2) Андроид ушел в котлин

Напиши мне в личку в линкед я поотвечаю на интересующие тебя вопросы и помогу с информацией

Хочеш розуміти градл? Тобі сюда: groovy-lang.org

Вот как раз тоже хотел про груви написать)
З.Ы. походу у груви 3-я версия на подходе)

В теорії вона вже пару років як мала бути релізнута.. Надіюсь після 3 версії цикл розробки і багофіксів пришвидшиться, або хоча б залишиться на рівні останніх місяців. Інакше їй прийде гаплик(

Gradle давно вже підтримує Kotlin як більш зручну мову програмування для скриптів

Ну как я понимаю там можно и на груви, и на котлине скриптовать.
А так если градл окончательно перейдет на котлин, то уделом груви останутся только grails и griffon (и то хз гриффон вообще гре-то юзается) получается? Печалька если так будет, ибо мне в целом Groovy симпатичен.
Правда и Kotlin тоже нравится, так что может это и к лучшему будет, если градл переходит на котлин — более современный язык как никак.

Я знаю, что многие как раз и не любили Gradle из-за того, что нужно было учить и использовать Groovy. Groovy так и не стал популярным, в рейтинге этого года dou.ua/...​language-rating-jan-2019 у него 0.3% (у Kotlin 2.4%). Так что я одобряю переход Gradle на Kotlin и его продвижение.

Gradle практически везде требуется. Загвоздка в том, что официальный гайд 1180 страниц занимает.

Все бы ничего, но я еще Шилдта не до конца осилил (добрые 1500 страниц), но уже освоил базис — html/css/xml/sql/git/

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

что Джавист должен знать REST API/JSON

ну да это ж целый вечер потратит чтоб почитать и на ретрофит еще вечер

Я все понимаю, что у джуна нелегкий путь, но неужели только для Gradle нужно весь гайд на тысячу страниц прочитать? Просто руки опускаются от таких объемов.

нет конечно, за свою жизнь не прочитал ни одной книги попрограммированию
пиши код

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

копипасту зависимостий с гитхаба в свой проект изучи

Підписатись на коментарі