>Хочу вкатится в 20/30/50 лет, не поздно?
Нет, не поздно. Лично знаю несколько примеров из жизни когда вкатывались в 30+ лет.
>С чего начать?
Для начала изучи roadmap - https://roadmap.sh/android
Roadmap анона из предыдущего треда:
Основы программирования, логические операции -> Джава(базовый синтаксис и особенности языка) -> ООП -> особенности различных версий Джава -> алгоритмы и структуры данных -> многопоточность -> дженерики -> функции высшего порядка -> Котлин -> Android SDK(UI, версии и различия, особенности оси на уровне работы виртуальной машины) -> работа с БД, CRUD(можно и на этапе знакомства с алгоритмами) -> git -> networking/REST API/JSON/сериализация -> актуальные фреймворки зачем и почему, спойлер: экономия времени -> архитектура, зависимости, инверсия контроля -> ?..
Вот примерный флоу, которому я бы следовал, если бы учился сейчас. Начал бы сразу с алгоритмов, если честно.
В эту же последовательность нужно вставить clean code, SOLID, DRY/DIE, KISS, YAGNI и прочие модные аббревиатуры, которые весьма актуальны. Что-то упустил, но, думаю, этого достаточно.
Навигация, от книг до вопросов на интервью:
https://github.com/qqqlll/Java-Thread/wiki
Очень много уроков и не только по ведройду. Почекай и посмотри, вдруг зайдет:
https://coursehunters.net/mobile-development
https://developer.android.com - ресурс от гугла с полным описанием всего.
https://metanit.com/ - ресурс с кратким разбором языков ПО, для тех кому лень в книги.
https://stackoverflow.com/ - ответы на большинство вопросов касающихся кода.
Курсы от OTUS:
https://cloud.mail.ru/public/4nHb/449Ub4Pqj
https://drive.google.com/open?id=1cxWWBZzHNRAdd0wnjN6lfLDcYqMv7ohm
Также рекомендую искать в телеге, там много подобных курсов, начиная от создания конкретных приложений и заканчивая обучением с нуля.
>Что по книгам?
Java:
Head First Java Kathy Sierra
Thinking Java 4th Bruce Eckel
Шилдта не рекомендую, говнокод.
Kotlin:
https://techrocks.ru/2020/01/20/12-books-for-kotlin-learners/ - краткое ревью 12 книг.
Flutter:
http://flutterapps.ru/flutter-books/
>Стоит ли сразу вкатиться в котлин минуя джаву?
Нет. Не стоит. Есть точка зрения, что котлин позиционируется как "удобная/лучшая джава", подразумевая то, что ты хочешь писать на джаве, но более современно и практично. Да и глупо игнорировать джавоский мир, который является в топе по числу библиотек и решений, где тебе все равно придется погрузиться когда-то в его синтаксис.
>Прочел книгу по java/kotlin/flutter и посмотрел видосы, на деле ничего не понимаю. Куда идти дальше?
Делай свои мелкие пет-проекты, можешь копировать чужие и дополнять функциями которых там нет. Главное правильно пиши сам, гугли, трать часы и дни на мелкие функции НО сделай сам, что бы полноценно понимать что к чему. Вся суть сводится к тому, что бы ты изучив ROADMAP который указан выше, вынес знания, которых хватит на создание и понимание пет-проектов с помощью которых познаешь суть разработки. Также на собесах любят когда есть портфолио в гугл плей.
>Где взять примеры проектов?
Можешь банально поискать на ютюбе или в телеграмме. Для примера:
https://www.youtube.com/channel/UCPz3xmUpIbo8jooCtV_vMNw
https://www.youtube.com/c/devcolibri/videos
>Когда можно идти собес? И что для этого нужно?
1. Нужно хорошее знание Java/kotlin.
2. Понимание базовых принципов Android (жизненный цикл activity/fragment, что такое Context, intents, services, UI thread, support library и ее версии (уже androidx), shared preferences, SQLite, Handlers, Executors, Content-Providers, firebase.
3. Знание популярных библиотек типа Retrofit + Glide/Picasso/Koil + Coroutines + RxJava2 + Dagger2/Hilt/Koin(по обстоятельствам) + гугловские поделки jetpack, понимания СОЛИД и других паттернов проектирования.
4. Базовое понимание что вообще такое Gradle. Рекомендую хорошенько изучить XML/Compose.
5. И хотя бы несколько готовых приложений.
upd: Также стоит прочекать вакансии в вашем городе и собрать самый часто используемый стек технологий и отталкиваться от него.
Незабывай изучать английский, потому что гуглить придётся именно на нем ибо информации в разы больше.
Ресурсы по инглишу для нубов:
Грамматика:
https://ru.duolingo.com/
https://lingualeo.com/
Также советую полностью сменить язык интерфейса на всех устройствах.
Ютюб каналы с простым английским:
https://www.youtube.com/c/Anomaly/videos
https://www.youtube.com/c/EnglishClass101/videos
https://www.youtube.com/channel/UCMCjGkbqKVkjJN2sVWocz0w
https://www.youtube.com/c/SpeakEnglishWithTiffani/videos
Старая шапка. За 2019 год.
https://pastebin.com/sh7eC6R4
#1 c шапкой: https://2ch.hk/pr/res/1822731.html (М)
#2 с шапкой: https://2ch.hk/pr/res/1908185.html (М)
#3 с шапкой: https://2ch.hk/pr/res/1994880.html (М)
#4 с шапкой: https://2ch.hk/pr/res/2105885.html (М)
#5 с шапкой: https://2ch.hk/pr/res/2362898.html (М)
#6 с шапкой: https://2ch.hk/pr/res/2509590.html (М)
#7 с шапкой: https://2ch.hk/pr/res/2678699.html (М)
#8 с шапкой: https://2ch.hk/pr/res/2907862.html (М)
Когда ты смотришь например https://2ch.hk/pr/catalog.json там видно "bump_limit": 500, перекат надо делать после 500 треда, а тут вообще была 1000+.
Пытался найти торрент курсы, ладно хоть тут линканули. Буду благодарен если еще где-то будет линк на скачку других.
Да пройти какой нибудь вообще любой курс, просто программирование пощупать а потом пиздуй на android.googlesource.com/ и https://developer.android.com/
Т.е это как в 1 классе ты учишься читать на русском, а уже потом читаешь учебники на русском чтобы научиться тому чему следует
Тут перфекционизм не нужен, забей на этот идеальный план обучения, когда ты пройдешь 1 класс и освоишься в грамматике - ты сам уже будешь способен что тебе надо нагуглить.
Разве андройд проще бэкенд жс/питон или фронта? Хз хз
Что скажете насчет Jetpack Compose? Есть ли у него перспективы?
Прошел базовый курс гугла по нему, понравилось.
мимо-вкатун-из-java-бекенда
Перспективы есть, но пока что его мало где используют. Через года 3-4 (в лучшем случае) будет уже на уровне и можно будет искать работу зная только базу хмл и сам компоуз.
А нет ли какого-то готового шаблона кода, чтобы приложение на жабе, работающее без вот этих всех layout и чисто в одном окне на полный экран 1) ловило все события тачи-хуячи и отправляло их мне в код на крестах через NDK 2) назад получало инструкции типа DrawRect x1 y1 x2 y2, DrawString x y "Вася мудак"? Лениво с этим всем разбираться. Но чувствую придется.
Серьезно? Я вообще не могу пройти обучения на https://developer.android.com/ я просто открыл урок где там какая-то хуйня, это такое уёбище, а не сайт. Читать сухую документацию? Окей, смотреть их обучающие ролики где они с рыдыстными ёблами шарики пускают? Нет, спасибо.
> его мало где используют
серьёзно? Мне казалось что это новая база, а обычный классик способ только для легаси, а все новые на композе, я не работаю, сужу по информационному пузырю на реддите.
Я к тому что документация по котлину где-то 9 из 10, а вот https://developer.android.com/ где-то -1/10
>Jetpack Compose
Нужно понимать цели и задачи. XML/View создавался для того чтобы максимально просто и с хорошей производительностью верстать скрины. Compose создавался для того чтобы разработчики (как самого гугла, так и пользователи фреймворка) могли нафармить больше ачивок, и как следствие аргументов для поднятия ЗП, через рефакторинг, перформанс мониторинг, оптимизацию UI, поддержку дополнительной дизайн системы на Compose, написание yet another статьи по оптимизации UI на Compose, yet another доклада на конфу по внедрению и подводным камням Compose, высирание Compose портов существующих UI библиотек в опенсорс, и другое.
Если мы говорим не про локаььные галеры, а про достаточно большие конторы, то там больше предпочитают xml пока-что как основу и компоуз как дополнение. Почему? Компоуз приносит как и много проблем с производительностью на древних телефонах, так и быстроту разработки. Приходится херачить что-то между (а-ля threads от меты, где 90% кода ui - джетпак). Подожди до релиза компоуз 2 (или версии типо 1.9.х), чтобы прям всё заменить на него.
Реддиторов слушать - себя не уважать. Они там на стартапчиках сидят, у них всегда новые версии, а мы в России. Тут энтерпрайзы до сих ор на 5-6 версии джавы сидят, компании даже не знают, что такое di (вспоминаю ВК с их вакансией на андройд, где писали "мы не ичпользуем бесполезные техники/библиотеки по типу retrofit или dagger").
>Реддиторов слушать - себя не уважать. Они там на стартапчиках сидят, у них всегда новые версии, а мы в России. Тут энтерпрайзы до сих ор на 5-6 версии джавы сидят, компании даже не знают, что такое di (вспоминаю ВК с их вакансией на андройд, где писали "мы не ичпользуем бесполезные техники/библиотеки по типу retrofit или dagger").
По-моему все наоборот, в РФ в крупных конторах всегда через 0.1 секунд после выхода затягивают самые альфа и экспериментал либы и фреймворки в прод.
Хз, судя по словам знакомых, только всякие "переосмысления" делают (копипаст либ со своим названием)
Проиграл с еблана, который назвал это направление самым изичным и прибыльным для вката
How fucked am I? Что делать в такой ситуации?
Зависит от тебя, захочешь - прокачаешь скилы очень сильно, захочешь - сгниешь там, и никуда потом не возьмут.
>Что делать в такой ситуации?
Гуглить блеать! Нет, ты серьёзно спрашиваешь "что делать". Подожди, сейчас прилетит волшебник на голубом вертолёте и всё тебе расскажет. Заходишь на codecanyon.net, набираешь "jetpack compose", заходишь на dribble, набираешь тоже самое. Тоже самое на github.com, ищешь примеры кода. Пока не найдёшь что-то подходящее проекту - не возвращайся.
>Дизайнера с Фигмой мне не дали, ТЗ мне не дали, нихуя не дали
Так бывает. А ты ожидал, что устроишься на джуниора и тебя прям все будут за ручку водить и показывать что делать? Ебись сам как хочешь. Ты можешь только кабана попросить купить готовый шаблон. Сказать вот смотрите они продают за писят баксов готовый дизайн. То что ты ожидаешь целую команду из дизайнеров, аналитиков, тестировщиков - это твоя проблема. Реальность она такая какая есть, а не то что ты нафантазировал. По факту, тебя как дешевого дурачка наняли, это не имеет отношение к джуниорству или чему-то ещё.
> Он прав на самом деле
> мимо 6 лет андроид, работы нет
Да как нет? Я хожу на собесы раз в неделю минимум, кидают свои нищие офферы на 250к
Держи в курсе
какой мощности должен быть комп, чтобы комфортно программировать? я на своём говноноуте попробовал закомпилить хеллоуворлд в андроид студии, 5 блять минут только пердолился. всё равно машину менять...
Программировать что? Для обучения любого компа с 16+ оперы и процом 4+ ядер хватит
Приложения для телефона. Онлайн-магазин, календарь/заметочник, инструмент для массового переименования/перемещения по регексу. Да что угодно бля, что не является игротой.
Ну я ж сказал, для своих велосипедов 16+ оперы и 4+ ядер хватит. А уже реальные большие прилаги ты заебешься на таком собирать.
Тебе никак, не прошел айкью тест, вкатывайся в курьеры те же бабки
*заебешся
>Какие то зависимости добавляет, какие то библиотеки, что то прыгает по этим файлам и папкам, что то вписывает, нихуя не объясняя.
А зачем это объяснять?
Если прямо разжевывать каждую деталь то видео будет длиться не 20 минут, а 50. Если ты допустим посмотрел ролик про котлин от кого-то, а потом посмотрел в джава байт код ты охренеешь сколько тебе информации недосказали.
*БИБЛИОТЕКИ
implementation 'io.reactivex.rxjava3:rxjava:3.1.5'
Но теперь когда так пишешь появляется жёлтый цвет и он предлагет
тебе new libary catalog declaration на implementation libs.rxjava.
Но такой особенности нет в обычной intellij.
1)Что это такое?
2)Почему это только в андроид студио?
3)Когда это появилось?
4)Где про это можно прочитать?
>1)Что это такое?
gradle version catalogs
>2)Почему это только в андроид студио?
это везде
>3)Когда это появилось?
Хз, с год-полтора назад
>4)Где про это можно прочитать?
В гугле
Ну если бы у чатажпт были актуальные знания он тебя бы уже по iq бы моггнул. Такой сухой ответ дать это надо постараться, как будто ты эмо тян с дайвинчика и тебе по 100 ёбырей пишут.
>Ты не вкатишься. Слишком тупой. Съеби с треда плез
Какой же у тебя копиум. Ты настолько аутист, что высрать 2 слова это уже достижение для тебя. Если бы ты выходил из своего загона например в линукс тред или хромиум тред ты бы видел где настоящие дискуссии.
Если не можешь ответить больше двух слов лучше вообще в этот тред тебе не заходить, всё что ты можешь это послать в гугл. Замени тебя на скрипт echo "погугли" никто и не заметит разницы.
В любом уважающем себя треде или сообществе такого долбоеба как ты который задает вопросы, гуглящиеся за 5 сек, посылают нахуй. Что собственно я и делаю снова
>гуглящиеся за 5 сек
Нихуя они не гуглятся за 5 сек, тут надо быть Русланом Литвиновым, это он сможет узнать по открытым источникам, то что я не буду назвать, а тут собственно не ясно за какие ниточки тянуть. Я желаю тебе всего самого худшего, чтобы ты пошёл к врачу с гниющей раной, а он сказал тебе, зачем ты ко мне пришёл? Иди гугли.
*Русланом Ливиевым
Помню был очень специфичный вопрос, я перехожу ПО ССЫЛКЕ ИЗ ГУГЛА НА ФОРУМ, а на форуме там написано, просто погугли. СУКА ГАНДОН БЛЯТЬ Я И ТАК ИЗ ГУГЛА ПЕРЕШЕЛ, Я ХОТЕЛ ИХ УНИЧТОЖИТЬ, ВЫВЕРНУТЬ ИХ, МОЛОТИТЬ ЧАСАМИ
Скорее всего проблема в том что ты используешь виндовс. Просто поставь "твой любимый дистрибутив нейм линукса" и ты забудешь о проблемах, компилятор летает, эмулятор тоже.
Нет, я серьезно, я могу подтвердить это:
1)Компиляция замедляется на 100% из-за антивируса, а в линуксе вообще нет антивируса, поэтому не надо никаких танцев с бубном по занесению в исключения.
2)В виндовс была проблема с вулканом у меня, да и к тому же в линуксе другие технологии виртуализации.
3)Линукс в целом быстрее как ос за счёт того что ты выпилил ручками весь говняк, подобрал дистрибутив в зависимости от своих потребностей, ос это позволяет, нет никаких лишних фоновых процессов.
4)Баги в студии могут быть эксклюзивные для винды на которые все хрен положили, а в линуксе их собственно не будет.
У меня всё компилируется быстрее, эмулятор в раза 3 быстрее.
По поводу пункта 1, из-за файловой системы наверное быстрее компилируется в линуксе. Ты же в курсе что в винде настолько ущербная файловая система, что майкрософт запилили отдельную файловую систему и назвали это dev drive. Они это сами признали.
>>234567
>По поводу пункта 1, из-за файловой системы наверное быстрее компилируется в линуксе. Ты же в курсе что в винде настолько ущербная файловая система, что майкрософт запилили отдельную файловую систему и назвали это dev drive. Они это сами признали.
Я сомневаюсь, что тот чел имел в виду только скорость билда.
>1)Компиляция замедляется на 100% из-за антивируса, а в линуксе вообще нет антивируса, поэтому не надо никаких танцев с бубном по занесению в исключения.
Пруфы.
>3)Линукс в целом быстрее как ос за счёт того что ты выпилил ручками весь говняк, подобрал дистрибутив в зависимости от своих потребностей, ос это позволяет, нет никаких лишних фоновых процессов.
Как замерил "быстроту"? Алсо, если брать линух с максимально выпиленным "говняком", то ты вообще обосрешься хоть что-то сделать на нем. Если только ты не пришел чтобы "изучать линух", а не разрабатывать под мобилу.
>4)Баги в студии могут быть эксклюзивные для винды на которые все хрен положили, а в линуксе их собственно не будет.
Да, а эксклюзивных для убунту багов быть не может. Тем более 2% рынка это безусловно приоритетная платформа для разрабов.
>эмулятор в раза 3 быстрее.
Опять же как именно ты замерял быстроту эмулятора? У тебя какие-то задержки по 3 секунды после клика по кнопе, а стало 1, или что? Алсо, почему под линух до сих пор нет высокопроизводительных эмуляторов, на которых можно графонистые мобильные игры запускать? (по типу bluestacks, ldplayer и т.п.)
Просто возьми какую-то программу которая компилится 30 секунд и вруби фулл антивирус без папки с исключением.
Потом скомилируй ту же программу уже с вырубленным антивирусом. Я просто заметил что одна и та же программа которая в линуксе компилилась на лету, в винде компилилась в 10 раз медленее.
Вот тебе пруф:
https://intellij-support.jetbrains.com/hc/en-us/articles/360006298560-Antivirus-Impact-on-Build-Speed
3)По микрофризам на ноуте. Нет никаких бенчмарков, просто я видел это визуально.
4)А маков 5%, а линукса 4%. Берут не колличеством, берут качеством.
Я замерил очень просто, визуально, он был медленным, это просто было визуально видно, это как взять старый лагающий сяоми и взять новенький самсунг гелакси s24, там не нужны никакие бечмарки, достаточно человечкских глаз. У линукса своя экосистема из приложений, там используют waydroid.
>3)По микрофризам на ноуте. Нет никаких бенчмарков, просто я видел это визуально.
У меня ни на чем нет никаких микрофризов, я работаю на маке, был и на винде, и на линухе.
>4)А маков 5%, а линукса 4%. Берут не колличеством, берут качеством.
Мака больше.
>Я замерил очень просто, визуально, он был медленным, это просто было визуально видно, это как взять старый лагающий сяоми и взять новенький самсунг гелакси s24, там не нужны никакие бечмарки, достаточно человечкских глаз.
Ну опять же, ты пиздишь, нет такого чтобы визуально можно было что-то заметить.
И не стоит забывать, что на линухе у тебя будут другие проблемы мешающие нормально жить кроме медленного билда. Например принудительный стоп процессов, которые выжирают всю оперативу, по типу gradle демона, и ебись с этим как хочешь, с такой проблемой в таком сетапе сталкивалось 1.5 на планете
Может у тебя нормально работает эмулятор, лично на моём пк не работает он нормально, мне плевать кто обосрался, майкрософт, нвидиа, гугл, просто факт что тут специфичный баг для окон, который я отрепортил, но гугл клала болт.
2) можно при написании приложения для android использовать awt/swing?
Лучше начать с чего-то более простого.
Для начала освоить сам язык в общем, а уже потом смотреть руководства по программированию под платформу.
как в гугл хроме? Они такие, не.
В старом дизайне когда в tool window когда они выходили за пределы я сказал, может прокрутку добвите?
Они такие, не.
Помню флаттер лет 5 назад щупал, и там как и в реакте каком нибудь, можно с отключенным мозгом писать и не заебываться. Ещё и хот релоад есть в отличии от этой хуйни, которая минут 5 собирается каждый раз.
Есть пикрилейтед ( https://aliexpress.ru/item/1005007254757582.html ). По сути это пульт, который подключается по блютузу и позволяет управлять системой с кнопок. Стрелки работают через эмуляцию свайпа, кружок в центре эмулирует нажатие, нижняя правая привязана к функции выхода (т.е. назад), остальные две тоже привязаны намертво к определённым функциям, но в инструкции написано, что работают только в приложениях типа тиктока и подобной залупы.
Так вот.
Хочу в одной аппке читалка манги сделать поддержку этой приблуды искаропки, чтобы стрелочки распознавались не как свайпы, а как переход от одной кнопке приложения к другой. Ну, как будто в игорях с геймпада в меню сидишь. Поэтому вопросы.
1) Позволяет ли андроид перехватывать сигналы с пульта, подменять их на нужные и мьютить оригинальные? Несколько лет назад пробовал под виндой на джаве написать перехватчик для инфракрасного пульта, но получилось только считывать сигналы, а замьютить их не смог - в итоге система выполняла два действия, с пульта и из моей программы.
2) Позволяет ли андроид из одной аппки замьютить сигналы с пульта для других апок, а для запущенной и активной оставить?
3) Позволяет ли андроид из аппки подключаться к разным блютуз девайсам, чтобы в настройках аппки выбирать, с какого дивайса принимать сигнал?
4) Позволяет ли андроид для управления аппкой без особых костылей и страданий перейти с прикосновений на подобные сигналы? Говорю про тот самый аналог меню из консольных игр.
Андроид ни разу не трогал, знаю только джаву. Если подскажете, в какую сторону копать - буду очень благодарен.
Ты хотел сказать 1с?
>И ахуел от количество непонятной ненужной хуеты.
Да
>Чтобы установить нужную либу надо в нескольких файлах вручную её прописать, потом нажать на кнопочку чтобы это все подтянуло.
Как правило в одном месте, в нескольких только если тебе нужны конкретные имплементации под разные платформы типа ktor-engine-okhttp, ktor-engine-darwin и т.п.
>Помню флаттер лет 5 назад щупал, и там как и в реакте каком нибудь, можно с отключенным мозгом писать и не заебываться. Ещё и хот релоад есть в отличии от этой хуйни, которая минут 5 собирается каждый раз.
Да. И это бай дезайн, если послушать, что говорят люди из команды KMP жид брейнса, специально делается как узкая технология для не быдла, где требуется досконально знать градл, как происходит сборка под каждую платформу под капотом, и т.д.
Точнее файл все равно один, просто в разных местах прописать
Непонятно вообще, нахуя анальники усложняли все эти годы разработку для андроид, во фронте всем абсолютно поебать на паттерны и архитектуру, нет кучи асинхронных фреймворков, только простецкий async/await, нет никакого DI (нахуй он нужен вообще). Нахуя все это гавно было тащить с бэка в мобилки.
В итоге ни вакансий, ни резюме, под нэтив никто разрабатывать из кастомеров не хочет.
У меня жена фронтендер на реакте с контрактом на швейцарскую компанию и российскими топ техами в трудовой, на вопрос про clean architecture и di фрэймворки спрашивает что это. Самый сложный вопрос у них на собеседовании это как работает ивент луп.
Ладно, поговорили еще, она говорит, много вопросов другого рода, которые все надо пощупать и тяжело вспоминать, дрочат по css/html/js/react, графана, докер, еще какой-то понос, который раз в 2 года трогаешь, короче тоже парк технологий.
Ага, понял, спасибо.
Это школьник может осилить за пару дней. Зато школьник не осилит Эванса прочитать.
Что ты делаешь в андроид треде?
Алсо, читать книжки по программированию в 2010+ годах - кринж нет, смотреть ютуб и тикток - еще больший кринж
Чтобы запаковать эту Сишную либу в тот же веб у меня ушло меньше часа. А здесь мне надо документацию для каждой платформы шурудить по недели. Это точно мультиплатформ?
>Чтобы запаковать эту Сишную либу в тот же веб у меня ушло меньше часа. А здесь мне надо документацию для каждой платформы шурудить по недели. Это точно мультиплатформ?
Да, точнее. Смотри, за веб тебе заплатили допустим 25$ в час, то есть ты заработал 25$, а в мультиплатформе по 25$ в час за то же самое заработаешь 1000$.
К сожалению это пиздеж и вброс даунов.
А ведь я не против, хочу, чтоб все перешли на harmony os next, самое время двигать дальше прогресс. А после harmony os гуглы бы тоже запилили ос без линуха, они же там что-то пробовали уже с нуля запилить.
Если есть 2 либы, которые юзают одну и ту же зависимость, но разных версий. Что будет в таком случае? " версии подтянуться, или одна последняя, как это работает?
>К сожалению это пиздеж и вброс даунов.
схуя? щас все новостные ленты этой новостью забиты, пакуй вещи сына бля, скоро на завод
Если в либах используют implementation для получения зависимостей, то эта зависимость заперта у этой библиотеки.
Если используется api/compile, то она может просочиться в сам проект.
А так нет, ничего не будет
А что там си# жив? Винда же всё
1280x720, 0:06
>>я не против, хочу, чтоб все перешли на harmony os next
А перейдут на SberOS или YanOS которые окажутся форками андроида, но уже с правильными закладками и вшитыми приложениями.
>>242858
>>Замедление YouTube вследствие деградации кэширующего оборудования
Так может у них потом и оборудование андроида также резко деграднет прям на таможне.
щас бы верить власти на слово
Может у тебя Message заимпортился откуда-то с другого места?
Теперь точно пизда
Так можно скачать плагин андройд для идеи.
Просто плагин не имеет настолько большую гибкость (кол-во доступных апи), что пришлось делать надстройку над самой идеей, чтобы было достаточно функций
Ну что конкретно есть в студии чего нет в идеа. Кроме gemini ии.
Вкатун съеби нахуй отсюда, без 5 минут все без работы останмся этот даун взялся за учебник по котлину
Ну и съеби отсюда, чмо безработное
Только долбоебы думают, что андроид/ios запретят в рф
540x960, 0:06
Про ютуб так же думали, ну не запретят а ещё какую хуйню выдумают, тряска вполне обоснована
Я знаю до b1, это уровень чтения реддита, но не шекспира
>>246845
Почему это происходит? В основном 10 адекватов перекрывают 1 шизика.
К примеру фаерфоксодебила или брейводрочера в хромиум тредах.
Или же функционального шиза перекрывают обычные джависты.
Или же шиза который думает что в zapret есть вирусы перекрывают другие люди в треде по обходе.
А в этом треде есть только сидит 1 токсик которому девки бесплатно не дают, а его дядя в жопу трахнул вот и злится на мир.
кб похуй, но я обычно float ставлю, читать проще потом.
В андроиде чаще всего параметры - float.
Double только если тебе надо супер точное число, которое большую роль играет.
Если просто нужно число с точкой - это float.
Я даже не помню когда в последний раз видел double тип.
В бизнес-логике BigDecimal надо использоват. float по факту только если какие-то мультиплаеры и процентажи надо объявить
смотря зачем там этот параметр очевидно
ни double ни float не точные, ничего точного в них лучше не держать
>BigDecimal
Лол, зачем? Ну только если очень надо.
float почти везде юзают, в том числе для координат всяких и параметров для верстки
Разве какой дурачек будет на телебоне баланс держать? Телебон это тупо фронтенд для таких приложений.
Будет лежать то что показывается пользователю. Можно флоатом - будет флоат, нужно будет строкой - строка. С практической стороны пользователя триллион долларов на счету не будет, чтобы его до цента считать. Опять же это только представление, достаточное для отображения и ввода данных, счетные операции и влияние погрешностьей будет на бекенде.
Блять чел, не использовать float и double в местах, где нужна точность, это база программирования уровня "избегать использования оператора goto". Хочешь можешь что угодно использовать, но знай что тебе перезвонят на собесе.
Какая тебе точность нужна, почему точности флоата обязательно должно не хватать на вьюхе? Чтобы 10 знаков записать флоата не хватит? Точность важна в расчетах, когда много слагаемых складываются и особенно вычитаются. Какой ебобо будет считать на телебоне?
Даже если апку для криптоскама делаешь с ебическими курсами коинов. Все равно считать на беке. Если это конечно это не маня калькулятор без бекенда и без смысла...
>Чтобы 10 знаков записать флоата не хватит?
Нет чел. Попробуй вывести 0.1 + 0.2 в консоль и посмотри что получится
Будет 0.5 вместо 0.30000000000000004? Иди уроки делай.
Так а кто призывает вкатываться? Не надо, мобильная разработка - один из худших выборов на данный момент. Я лично уже давно вкатился, а выкатиться невозможно, придется идти джуном, что нахуй надо.
В вебе и конкуренция в разы больше
Ну чекни вакансии. Чекни количество вакансий трейни и джунов. Подумай сам, нужно ли разрабатывать столько много мобильных приложений в 2к24 веке, если юзер сидит только в 1-5 супераппах, в которые можно заинтегрироваться легкой кровью. Подумай какой предел развития как разработчика у мобильной макаки.
300iq сравнение, УСЛЫШАЛ ТЕБЯ
Есть инфа как на этой залупе зарегаться? С впн пытался, но там ебаная капча бесконечная просто, не пройти никак
Да еще почему-то кабан кабанычы ебаные думают, что андроид разрабы могут с нихуя начать писать на айосе/флаттере и прочей хуйне — ну это же тоже мобильная разработка
Планирую через годика три выкатиться из андроида в бек/мл, ибо перспективы в андроид разработке все меньше и меньше
мимо вкатывался в андроид 2 года
Но котлин самый охуенный язык, планирую и дальше на нем писать
У тебя на джаве и мобилки могут быть и веб и интерпрайз, да и само кол во вакансий не показатель, важный параметр это количество претендентов на вакансию и медиана зп по специальности
Ну так отнимай 5467 и увидишь показатель. Мобилки мертвы вся работа в вебе.
Типа для старых анонимные классы, а для новых - "натуральные" лямбды джавовские?
Если функциональный интерфейс будет лямбда, если нет то будет анонимный класс.
А, ты про object : {} vs {}? Просто лямбды в джаве все равно являются анонимными классами под капотом, в котлине там есть определенные оптимизации
Как вообще лямбду можно реализовать в подобных языках, кроме как через анонимный объект?
На флаттере хороший инструментарий, сам дарт правда так себе, и сам фреймворк кастомизировать трудновато (впрочем как и компост).
>А как выкатиться то?
А никак. Если ты 3-4 года назад начал работать, то это было золотое время, рост айти, найм повсюду, сейчас даже если ты будешь готов пойти джуном в бек с дропом зп в несколько раз, будь добр 5 раундов собесов пройди, и выдержи конкуренцию из тысяч. Еще подумай дважды, есть ли у тебя до сих пор пыл и цепкость ума, чтобы это сделать. А накладные расходы свитчинга гребца внутри галеры редко кому нужны в текущей ситуации.
Никак, рынок в дерьме, может ждать какой-то другой перспективной технологии, чтобы первому залезть, а пока лутать зп, если работа есть.
Так
Работу на android еще труднее найти, чел. Шило на мыло, вкатывайся в бэк тогда уж
Тоже думал об этом, анон. Но, во-первых, в мобилках тоже несладко (мой хороший товарищ по вузу выкатился в РЕАКТ из мобилок. лол. Не мог просто работу найти для ведроида). А во-вторых, это потеря экспертизы и гроб-гроб-кладбище-пидор. Не думал про выкат в бэк, раз уж решил все кардинально менять?
Мимо вуедибил. Много лет пишу на нем.
До этого я писал вротенд еще столько же!!!
bdui типа?
Они побанили скачку android studio в рф? Я попытался напрямую скачать не через toolbox, а с сайта.Через toolbox качается, а вот с сайта. Мех.
ЕБАНА МАТЬ, Объясняю хронологическую часть
Надо было скачать https://vulkan.lunarg.com/sdk/home
КТО ЗНАЛ.
Да, заработало, без вулкана просто не запускалась, а если его выключить лагает пиздец. Я решил ещё сильнее покапаться в этой теме. Я нашёл этот ответ через боль. Когда я обращался в баг трекер гугла, они просто сказали дайте нам дополнительные сведения и исчезли. У меня вообще нет слов. Эти мудаки просто не дают вулкан и просто не упоминают что надо его скачать.
Я думал просто амд не совместим, а это просто гугл мудаки.
Все вот эти флейворы, вэрианты, фейсеты и прочую лабуду настроить.
Я сдался на моменте где оно 3 билда одновременно запускает и дохнет с аутофмемори ошибкой.
Репо не существует. А чтоб ошибку пофиксить - надо памяти больше выделить студии, в gradle properties. Загугли как увеличить максимальное значение оперативы в студии.
org.gradle.jvmargs = -Xmx2048m вот эта хуйня (Xmx2048m) определяет сколько памяти можно жрать
Что графическое ускорение? Ты можешь нормально объяснить, а желательно код показать?
Это не связано с кодом
>Получается у вас вкатиться?
Вкатился на завод в итоге, скоро буду проект-менеджером. А вы дальше пляшите под хотелки кабанчиков и стандарты гугла
мой опыт в ойти 4 года на плюсях в основном.
вкатываюсь в мобилку.
Мой стек - это андроид студио/Jetpack Compose/Kotlin
уже пилю свои пет-проекты.
так получается я спешу и мне надо осваивать всю эту XML мутотень, да еще и джаву.
делал проекты на MVC, MVVC или как там они, но давно, не очень понравилось.
Композитный стиль лучше.
Я на правильном пути вообще?
смотрю, у всяких компаний типа доставок еды, других бизнесов - все запускают свои мобильные приложения и вы говорите, что мобильная разработка не перспективна?
исходя из чего вы делаете такие выводы я не пойму.
сегодня есть телеграм, завтра его нет. вчера есть ютуб, сегодня есть.
смартфон есть у каждого жителя земли и соответственно на нем куча мобильных приложений.
Бекенд, девопс, ии
Неперспективна в этом плане: сложный стек, который за год/два не выучить никак,а еще на собесах могут спросить что то типо "а как работают корутины под капотом", если компания совсем конченная (на позицию джуна+, конечно же)
Как работают корутины под капотом, кстати, это уже вопрос уровня как устроен хешмап в джаве по платиновости, задается абсолютно всегда
1. все аппы нужные уже написаны
2. вакух мало
3. стек ебически большой, каждая 2ая вака с джавой
Не ну так в любую хуйню вкат выглядит в целом
Поясните плиз понятным языком что это значит. Если я в каталоге или toml укажу версию зависимости, то это не 100% что она будет использоваться? И какая версия тогда подтянется, в каких ситуациях?
Тоже интересно, хороший вопрос и понятного ответа, как этот механизм работает - нет.
Мдаааа...
Ненавижу этот пседвопопенсурс, когда заходя на сайт продукта есть кнопка "start trial" или еще какая подобная херня
Ну и надеюсь, что все таки не закроют андройд нам, а то в бэкенд идти ну вообще не хочется
это уже опенсорс или нет?
ждём, когда заблочат весь западный интернет, Хром и прочее? это ведь тоже технологии
Потому что на собесах спрашивают про джава т.к. 95% либ под андройд используемые в продакшене - джава (lottie, rx, retrofit, dagger, glide и пр.)
Ну и на по мнению наших "светил андройда" (android broadcast, mobile developer) - знаешь джаву -- знаешь и котлин
Upd: а этих клоунов до сих пор слушают, кстати, хоть и намного меньше, чем раньше
ну вообще для меня единственная проблема это некроноут
Он уже В С Е
Сейчас в ру приложения не интегрируют всякие гугл карты или авторизацию по гугл аккаунту.
Если думаешь, что АС забанят - она опен сурс. Могут забанить нам гугл сервисы (что уже сделали для корпоратов и отняли возможность оплаты физ лицам через ру карты), но яндекс, рустор и прочип уже тихонько делают ру сервисы (жаль они говно и разношерстно раскиданы). Те же яндекс карты или яндекс реклама
Сейчас по сути идет разделение на мобильную разработку и российскую мобильную разработку
> мобильную разработку и российскую мобильную разработку
Так у Китая тоже проблемы с гуглом. Скорее, разделение на два политических полюса.
Да не, вкат еще открыт с последуюмщим переездом. Просто вместо yandex sdk в резюме на английском пишем google sdk, а чтоб не спалили что ты вообще ничего не можешь, просто сделай 2-3 приложения с гугл сдк. Есть еще идея просто идти через финтех и говорить, что у вас был путь самурая и вы не могли использовать всякие рекламные сдк или гугл сдк (ну типо "оно нам и нахой не нужон").
Да по-моему вообще нет такого чтобы кто-то требовал чтобы ты пользовался конкретным сдк Х, если речь не идет об общепринятых либах
Обновления зависят от производителя твоего телефона, а не от гугла. Перестанут работать: плеймаркет - никаких обновлений для приложений, карты, почта, поиск, ютубчик, часть функционала хром отвалится. Перестанут работать пуш уведомления у некоторых приложений. Будут проблемы с играми которые используют гугл плей игры профиль и облачные сохранения. Определение местоположения станет работать хуже и дольше, уведомления что ты в неком районе перестанут работать. Приложения которые используют GMS могут рандомно глючить.
Но гугл отключит андроид сервисы, только если будут прямые санкции. По своей воле отключать не будет.
Стартапы закроются, некоторые галеры тоже, по ощущениям 60% рынка умрёт
В этом году уже походу
private fun dispatchTakePictureIntent() {
val intent =
Intent(MediaStore.ACTION_VIDEO_CAPTURE).apply {
putExtra(EXTRA_DURATION_LIMIT, 10)
}
АНДРОЙД
МОБИЛКА/МОБИЛКИ/НА МОБИЛКАХ
РУЧКА
АПНУЛСЯ
ОУНЕРШИП
ДРАЙВИТЬ
дополняем
Не подрыв стекломоя а глассвошер эксплоушн
Как там разработка под ведро поживает? Периодически таргет апи поднимать приходится, в ахуе что там Гугл с активити наделал. Чё щас на джуна из фреймворков знать надо?
подскажите. я из рф, и я своему другу из украины перекинул 26$ через обменник чтоб он мне акк разработчика гугл плей зарегал. он зарегал, но смогу ли я так просто использовать этот аккаунт? прост я слышал что гугл может за это акк сносить
Заходишь на хх.ру и смотришь какие знания работодателю от тебя нужны
Сложна, Многа весит
Так там же нужно банковский аккаунт указывать вроде? Не забанит если не узнает, что зареган не на тебя, но доход будет поступать твоему другу на счет, а не на твой российский.
Зависит от задач, которые ему придется выполнять. Мне пофиг на знание корутины, rxjava, dagger и прочего. Мне нужно, чтобы он разбирался как писать API, понимал базу программирования и был ответственным. С последним пунктом как оказалось охуеть как сложно у некоторых людей.
Потому что это продукт, который разрабатывает наша компания. Мы продаем андроид библиотеку. Андроид приложения это побочный продукт с низким приоритетом.
А, я думал REST API
Уже давно
> Я использую Clean Architecture
Это признак быдла? Пробовал один раз по ней реализовывать код и помню, что создал миллион классов для простейшего функционала и в конце так и не понял нахуя всё это было нужно
>создал миллион классов для простейшего функционала и в конце так и не понял нахуя всё это было нужно
Доменная область мобильной разработки слишком проста, поэтому чтобы не чувствовать себя совсем обезьянами, мобильщики придумывают все более сложные и нестабильные способы покраски кнопок. Так было есть и будет, исходя из этого, это не признак быдла.
> Доменная область мобильной разработки слишком проста
Хз, у меня всё довольно не просто, но я либу пишу и там совсем другие правила игры по сравнению с фронтом.
>так и не понял нахуя всё это было нужно
Значит, еще не дорос скиллом до архитектурных вопросиков
Джун?
Сеньор+. Окей, объясни мне нафига во фронтовом приложении последователи клин аркитекчур создают интерфейсы для репозиториев, а потом сука единственную имплементацию этих интерфейсов, а на вопрос нахуя отвечают что-то в духе "это по клин аркитекчур, это сори братка"?
Просто бэкенд, не говоря уже о более сложных вещах, ты бы в принципе не потянул. На клиенте сложность создается искусственно самими девелоперами, чтобы чувстовать себя ближе к полноценным людям и создавать видимость решения задач, для которых нужно чуть больше 1.5 извилин
Причем здесь снобизм, это наоборот самокритика, я ведь к сожалению андроидодебил.
Да лан, не оправдывайся уже, Сеньор+
Забейте на чистую архитектуру и прочую хуйню, её всё равно не соблюсти в реальном проекте. Надо просто делать как удобно, и немного думать о будущем развитии проекта. Соблюдать баланс между оверинжинерингом, и хардкод говном, которое потом не выпилить.
В проекте хуй разберешь какой модуль к какому слою относится по клин архитектуре, так что это прогрев гоев, у тебя просто есть модули, и всё. Где-то больше модулей, где-то меньше, зависит от сложности проекта, а от сложности проекта зависит сложность архитектуры
Мимо mvi господин
> сложность архитектуры
А на что направлена архитектура во фронте? Я понимаю на что направлена архитектура библиотек. Сохранить обратную совместимость и дать новый функционал в идеале таким образом, чтобы не менять апи вообще, а если и менять, то минимально. Всё понятно, есть "причинность" архитектурных решений, всегда можно посмотреть на две самые важные характеристики и сказать что-то в духе "удаляй 10 новых классов, пользователь охренеет этот оркестер у себя вызывать, сделай одну новую функцию, которая сразу всё делает и только её делай пбуличной" или "эээ, братан, какой ещё байт аррей? Засовывай байт аррей в отдельный тип, чтобы мы могли этот тип потом расширить когда обнаружиться, что помимо байт аррея нужно ещё метаданные какие-нибудь возвращать.".
Но о каких характеристиках архитектуры мы можем говорить во фронте где нет внешних пользователей кода? Обратная совместимость? На неё плевать, пользователей же кода ровно два Васяна, я Васян-1 и ты Васян-2 и мы оба работаем в одном отделе. Максимальная простоста использования? Опять же плевать. Ты сеньор+ инженер, я сеньор+ инженер, смысла замарачиваться, чтобы делать максимально просто и безопасно нет смысла.
Потому что работают не Васян-1 и Васян-2, а Васяны 1-100, среди которых есть джуны, мидлы, сеньки, лиды.
У вас так? У нас буквально 3 разраба во фронтовом отделе сидят.
> говорить во фронте где нет внешних пользователей кода?
Есть внутренние пользователи кода - сами программисты компании, очевидно. Они будут приходить и уходить, а проект со временем будет расти. Они точно так же будут тянуть в свои фич модули, общие части проекта, которые могут быть оформлены либо core модулями, либо библиотеками, которые должны быть удобными и читаемыми.
Если не соблюдать архитектуру в проекте, или же вовсе не иметь её, то новый сотрудник может послать тебя нахуй, т.к. не поймет как ему найти и исправить кнопку среди монолитного кала без разделения.
Если же архитектура есть, то новому сотруднику ничего особо объяснять не придется. Он разберет одну небольшую фичу, и поймет как устроен весь проект, т.к. все остальные фичи пишутся точно так же, координаторы находится в модуле n, network api объекты находится в модуле m, и так далее.
Чем больше всякого говна скапливается в одном месте, по мере расширения проекта, тем больше нужно это говно бить на модули.
Ещё одно преимущество иметь архитектуру - будет проще мигрировать проект на новый стэк, внедрить новое архитектурное решение, т.к. ты знаешь, что весь проект соблюдает правило x, так что можно разработать план, как x постепенно заменить на y.
Офк приложухи под заказ к этому не относятся, т.к. компании не надо будет поддерживать эти поделки годами, речь только о продуктовых проектах.
В общем, ничего нового. Архитектура - это читаемость, и эффективная поддержка кодовой базы
Мимо mvi господин
> Есть внутренние пользователи кода - сами программисты компании, очевидно.
Так их три калеки и им платят зарплату, чтобы они разбирались в коде. Не могу представить ситуацию когда менеджер выделяет время на доработку кода до MVI архитектуры, потому что например наговнокодили не в MVI стиле, а в MVVM.
Первый же вопрос от менеджера будет: это фича нужна заказчику? Ответ: нет. Мы ускорим подготовку релизов благодаря этому? Ответ: нет. Чего мы достигнем благодаря этому? Ответ: ну, когда через 2 года придет джун, то он потратит на изучение кодовой базы не 2 недели, а 1 неделю. Нам кста надо где-то неделю, чтобы всё порефакторить.
Ебало менеджера представили?
>Не могу представить ситуацию когда менеджер выделяет время на доработку кода до MVI архитектуры, потому что например наговнокодили не в MVI стиле, а в MVVM.
А зря не можешь. В раскрученном продукте и не на такое время выделят.
Более того, даже время тестировщиков выделят на проверку того не сломалось ли чего после рефакторинга с MVVM на MVI
Так речь про бигтех, а не про стартапы
Скорее всего ты на галере какой-нибудь. Это ты ответил, что в стартапах работаешь?
Неделю вполне выделить можно, и даже 2. Такие недели называются техспринтами, они нужны, чтоб проект не засрался до такого состояния, в котором его никто поддерживать не захочет.
По поводу прихода новых джунов - ты вообще не прав. Ну или проект слишком маленький у тебя.
Менеджеру легко объяснить, что на легаси парашу никто не захочет устраиваться, и будут съебывать как только, так сразу. За легаси хуйню доплачивать надо выше рынка, чтоб хоть кто-то шел работать
В проекте, у которого база - говно, фичи будут пилиться заметно медленнее, и иметь больше багов.
>Нам кста надо где-то неделю, чтобы всё порефакторить.
А, ну если неделю, то проект видать небольшой, либо только стартует.
Я допускаю, что для старта можно мвп быстро наклепать, но потом идет доработка обычно, если это проект продуктовый
Мимо mvi господин
>на легаси парашу никто не захочет устраиваться
>За легаси хуйню доплачивать надо выше рынка, чтоб хоть кто-то шел работать
В реальности ровно наоборот, благодаря легаси говну можно нанять дешевых скуфов, которые будут сидеть спокойно 5 лет пилить это говно
> Скорее всего ты на галере какой-нибудь.
Ну, всё же лучше чем на галере, но да, не фонтан. Капитализация компании миллиард долларов, кста.
> Неделю вполне выделить можно, и даже 2. Такие недели называются техспринтами, они нужны, чтоб проект не засрался до такого состояния, в котором его никто поддерживать не захочет.
О, я слышал этот термин лет 5 назад первый и последний раз от тим лида. Видимо ещё не настало его время.
> По поводу прихода новых джунов - ты вообще не прав. Ну или проект слишком маленький у тебя.
Да у нас то и джунов нет, всё новые сотрудники только сеньоры. Взятие джуна было бы отличной идеи, но пока что никому из менеджмента эта свежая мысль в голову не пришла.
> Менеджеру легко объяснить, что на легаси парашу никто не захочет устраиваться, и будут съебывать как только, так сразу. За легаси хуйню доплачивать надо выше рынка, чтоб хоть кто-то шел работать
Это не работает. Это объяснение в деньги не конвертируешь, потому что менеджеру глубоко похуй кто сколько там хочет зарплату. Выделили бюджет до 70 к, значит что ты найдешь сеньора за 40 к, хоть за 70 к это одно и тоже для менеджера. Его премия от этого не зависит.
> В проекте, у которого база - говно, фичи будут пилиться заметно медленнее, и иметь больше багов.
Вот это правда и знаешь что на это мне отвечают? Вот когда превысит я критическая масса говнокода, что всё будет взрываться, а фича будет занимать недопустимо много времени - вот тогда и займёмся рефакторингом. Почему? Потому что бабки надо лутать сейчас, а если их не лутать сейчас, то возможно проект и нафиг не будет нужен по цифрам в финансовому отчёте в конце года. А бабки это новые фичи, а не какой-то абстрактный рефакторинг.
>Вот это правда и знаешь что на это мне отвечают? Вот когда превысит я критическая масса говнокода, что всё будет взрываться, а фича будет занимать недопустимо много времени - вот тогда и займёмся рефакторингом.
Пхаха, пиздец. Я в подобном месте был, свалил через пару месяцев. Делишки там не очень
Ну, меня релокировали и пока война не закончится я дёргаться не буду
На счёт медленного эмулятора, спустя полтора года гугл ожили когда я сказал там что умер что ли тот кто за баг репорт отвественнен, пришёл другой челик, я ему инфу на блюдичке дал, он взял за пару дней пофиксил это обновив вулкан в студии. Просто ставте новешие драйвера для вашего пк и эмулятор летает.
Заебись, спасибо. Я так тоже к ним в Issue Tracker пришел с тем, что на некоторых смартфонах в видеопотоке с камеры наблюдается мертвые пиксели. Скинул им модели этих девайсов (60+ штук), скинул примеры кадров, скинул код для воспроизведения. В итоге челик из поддержки сказал "азаза, ничего править не будем, это проблема производителей девайсов, issue я закрываю". Моё ебало представили?
*Насчёт
А зачем по нему навигироваться? Ты просто гуглишь интересующую тебя тему, и попадаешь на нужную страницу в девелопер.андроид, всё
Для кого-то же они делали все эти новости и кнопочки
Так там сидят уже в этой пятерочке разрабы свои яйца чешут и жен вкатывают как и во всех остальных местах а новые пятерочки тут никто открывать не спешит, шаришь ? Даже вон у вк сокращение. Период роста в айти, где набирали народ все. Затянули пояса потуже. Могут работу найти только яндексоиды всякие алгоритмические задроты т.е сейчас нанимают только лучших и на рынке оч много народа средних с опытом а ты к ним с ними вместе в очередь встать хочешь в этой великой депрессии
Да что вам ойци медом намазано что ли? Сейчас перекупы на маркетплейсах могут в разы больше рубить, любая хуйня связанная с медиа - деньги рекой
Мне интересно.
И хочу быть, если не на вершине современного мира, то хотя бы не в самом дне и делать что-то более-менее осмысленное для пропитания.
Барыги во все времена бабло лопатой гребли. А заРАБотать я и в своей сфере могу, ничего при этом толком не делая.
>А заРАБотать я и в своей сфере могу, ничего при этом толком не делая.
А ты начни что-то делать, и будешь как раз не на дне и с деньгами проблем не будет.
опыт разработки приложений на Kotlin Multiplatform от 3 лет;
высшее инженерное образование (предпочтительно в области IT);
уверенные знания основных концепций языка Kotlin, синтаксических конструкций и особенностей IR-компиляторов;
глубокое понимание устройства различных платформ (iOS, Android, Web, JVM Backend);
знание и применение шаблонов проектирования (Creational, Structural, Behavioral);
опыт работы с Jetpack Compose;
базовое понимание процесса разработки и обучения моделей (в частности, LLM);
опыт реализации микросервисных приложений;
опыт работы с Docker(Docker-compose)/Kubernetes (создание образов, развертывание контейнеров);
опыт работы с большими языковыми моделями (в частности, с OpenAI API);
понимание основ Secure Software Development Lifecycle (SSDLC);
знание основных симметричных и асимметричных алгоритмов шифрования;
опыт создания структурных и архитектурных схем программного обеспечения (UML, C4) будет плюсом;
Стек технологий: Kotlin, Ktor, Maven, Docker, Kubernetes, Apache Kafka, RabbitMQ, GitOps, CI/CD, Jetpack Compose, Coroutines, UML, C4, JSON, XML, CBOR, ProtoBuf, OpenAI API, vLLM, LMStudio, TensorRT-LLM
Попробуй бета версию следующую поставить
Выследи по айпи
Андроид это dead end career path, забудь, тем более сейчас. Ладно бы когда денег с неба сыпали, там можно было относительно легко переехать, свой бизнес открыть, пет проекты могли деньги приносить.
Сейчас всего этого нет.
И по упомянутым трём может ли кто-то объяснить нахуя мне знать это надо? Есть этому практическое применение кроме успешного прохождения собеседований? Я просто не понимаю нахуя я 4 года работал если один хуй нужно потратить 2 месяца у меня много пробелов по знаниям на обучение чтобы просто пройти техническое собеседование.
>Есть вакансии где спрашивают прикладные вопросы без подобного?
ИП Хачатурян - требуется android программист
тех собес это экзамен, учи все билеты хули
Думаю везде. Первый раз что ли ищешь работу? Собеседование это всегда тест на эрудицию без прикладного применения. Просто пару месяцев поучи вопросы/ответы из списка "самые популярные вопросы собеседования андроид девелопер" да и всё.
Хреново когда нужен специалист, который должен уметь, например, писать библиотеки и тебе все вопросы с этим связанные задают, а ты ничего кроме клиентов не писал. В пустую потраченное время на интервью и для тебя и для интервьювера.
Провел больше 10 собеседований на сеньора андроида разработчика
>Хреново когда нужен специалист, который должен уметь, например, писать библиотеки и тебе все вопросы с этим связанные задают, а ты ничего кроме клиентов не писал. В пустую потраченное время на интервью и для тебя и для интервьювера.
Так и быть. Зовите меня на собес, спросите меня про data class и хэш таблицы. Платить будете 400к
мимо писал библиотеку
Не говорят, но верхняя планка была в районе 70 000 евро в год
>>330550
> Платить будете 400к
Могли бы и это после налогов, но проблема в том, что мы уже взяли чела, который до этого писал одни клиенты. После нескольких месяцев поиска нам чары сказали, что всё, баста, берите самого умного и закрываем вакансию.
Да я решил что мне это нахуй не надо и вкачусь лучше за пару месяцев в AI Engineer, лол. У меня опыт охуенный, библиотеки писал, UI сложнейший, server-driven UI и бизнес-логику, USB, BLE, Multiplatform, а сидеть тратить часы на изучение работы looper ради собеседования когда можно попиздеть про что-то реально интересное желания нет. Да и заебал андроид, честно говоря, 99% вакансий хуета скучная, и конкуренция какая-то нездоровая уже.
Работу не первый раз ищу, просто не вижу смысла оставаться в сфере где после каждого увольнения надо учиться для собеседований. Я сейчас работаю с почасовой ставкой 25 баксов, и нахуй мне париться пару месяцев ради работы с зарплатой заметно ниже я не знаю. Вкат в AI Engineer займёт примерно столько же времени, только сфера не заебавшая и будет куда расти, а в этом загоне, где становится только хуже, заебало уже.
>Не говорят, но верхняя планка была в районе 70 000 евро в год
3400 в месяц на руки в германии. Прожиточный минимум фактически
Я бы сказал очень редкий сеньор. Большинство сидит на 40-50 к.
Maaaaan, а кто баги с новой версией андройда будет фиксить? А перелопачивать всю ui логику из-за новых анимаций в приложении?
Не напрягай свои мозги и не трать время, react native бери. Там вроде даже есть прямой доступ к коду котлина, можешь в будущем на изи перевести часть android логики, если надо будет тянуть какие то натив апишки.
> ui что-ли теперь в коде рисуют?
Колесо Сансары совершило оборот. Я помню как учился по книжке где было написано "конечно сейчас модно-молодежно использовать XML для создания визуальных элементов, но настоящий разработчик под Андроид должен уметь создавать визуал в коде". Потом настала эра XML с его редактором. И вот сейчас снова рисуем визуал в коде.
> как мне в xml продолжить
Да так и продолжай, все элементы доступны что в XML, что в ComposeUI.
Так одно дело в коде, как свинг, другое дело в декларативном коде аля реакт стайл. Это разные вещи
все, отбой разобрался Grow users -> Score presence -> score listings и там сначала нужно создать листинг
Гуглапидоры требуют поддверждение акка на ГуглПлей. Что им нужно?
все, отправил паспорт
Прочитал главу про основы на метаните, всего получилось 3ч посидеть, мб седня больше получится
Молодцом, будут вопросы задавай.
Почитал про функции, ахуел с функций в параметрах, какая то дичь
Да по сути тоже самое, что и передать интерфейс в качестве параметра. Передача интерфейса же тебя не удивляет? Просто тут взяли примеры из функционального программирования, поэтому выглядит по инопланетному
P.S. сразу начинай писать полное и понятное именование параметров. n1, n2, op - это говнокод, который код ревью не пройдёт.
numberLeft, numberRight, operation - это нормальный нейминг.
Более чем. Например joinToString как и многие функции и высшего порядка последним аргументом принимает функцию, которая из элемента коллекции делает строку.
Двачую. Весь dsl на этом построен.
До разобрался с этими функциями, в целом они там одинаково работают, что анонимные что лямбды
Переходим к ООП
Больше путей развития, больше вакансий, легче менять язык и стек.
Открой количество вакансийна хабракарьере и линкед ин, вообще без фильтров. Готов конкурировать на 15 вакансий по стране?
ну хз, ещё надо учитывать что бекенд пишется на куче языков и на джаве и на питоне и на пхп и на го, т.е. дели уже на 4 все эти ваки, линкедин я не смотрел, но смотрел хх и там в целом конкуренции меньше на андроиде чем на джава бекенд или на питон бекенд, возможно какой нить го бэкэнд и будет выгоднее, но мне чёт вообще не хочется туда лезть
Хорошо, как знаешь, я тебя предупредил, удачи.
Додич, ты одно java набери там в 10 раз больше чем андроид будет. Никто не пишет backend developer
> Никто не пишет backend developer
И как же пишут? Java developer? Работодателям не нужны Java developer'ы, им нужны доменные специалисты, которые решают задачи бэка, фронта, библиотек, инфраструктуры.
Да, пишут Java/.NET/Python developer. Software Engineer это не российская тема, у нас анальная привязка к стеку из-за кабанычей.
Ну проверь, лол
При том, что после 5 лет работы андроид разработчиком мне кажется я уже могу и бэк писать, и нейронки обучать, и айос, и веб, и куа. Вообще похуй уже что писать и на чем.
Ну, на плюсах уже пишу. На питоне тоже. Сервер разрабатывал. Пайплайны для нейронов писал. Автотесты для всего этого тоже.
Я всё могу. Человек оркестр.
Ты вкатун? Нулёвый? В Java? В мобильную разработку?
Я абсолютно такой же.
И возраст еще 35+.
Только я в Backend, скорее всего, по причинам, которые тебе уже сказали.
Можем общаться, если хочешь. Дам свои контакты, если есть желание.
Ты и есть вкатун "День 4" или левый?
Куда вы лезете, и нахуя, можете объяснить? Развивайтесь в своей сфере в которой вы были до этого, это гораздо перспективнее в данный момент
А если я студент айтишного факультета, никогда не работавший мне куда развиваться?
Ну тогда ладно
В моей сфере нет развития, только деградация, а тут айти, где сходу по 200к платят, я вот щас купил курс за 120к "мобильная андроид разработка с нуля до pro" идёт 3 месяца, с кайфом потом буду лутать мани
>где сходу по 200к платят, я вот щас купил курс за 120к "мобильная андроид разработка с нуля до pro" идёт 3 месяца, с кайфом потом буду лутать мани
Cкажи что троллишь
У нас там чатик есть, если что. С менторами опытными, 10-20 лет в сфере.
АХАХАХАХАХАХАХ
ООП выглядит как пздц душная хуйня, вот писали бумеры в 90ых всё функциями и норм было, нафиг вот это зумерское ООП придумали?
Заебались писать одни и те же функции для работы с разными типами структур. Захотели выделить какой-то общий интерфейс для похожих данных и для него один раз написать функцию.
Типичный пример с Интернета, есть функция кормления едой любого класса реализующего интерфейс поедания еды. И тебе не важно кошка это, собака, твоя бывшая. Ты один раз написал функцию, которая теперь будет работать с бессчисленным количеством типов. Заебись же?
Ну, и класс позволяет распилить проект на отдельные маленькие логические связанные кусочки. Если хочешь посмотреть как выглядит программирование без классов можешь открыть любой питон проект на десяток тысяч строчек кода. В 9 из 10 случаев это говнокод с глобальным переменными в файлах на 1000 строчек кода и 20 функциями внутри одного файла. Понять это нихуя невозможно. При том, что в питон можно писать классы и хуле их не пишут для меня загадка.
p.s. почти никогда абстрактные классы это хорошая идея если что.
Их состояние нужно, чтобы независимо было синхронизованно между потоков от состояния класса наследника. Сделать это можно только если сделать состояние приватным. В этом случае частично теряется смысл делать абстрактный класс, ведь класс наследник не имеет доступа к состоянию класса предка, то есть это тоже самое, что если бы ты взял абстрактный класс, сделал бы его финальным и передал в класс наследник.
Если же делать состояние не приватным, а например протектед, то тогда нужно делать и лок тоже протектед и ручками писать комментарий, чтобы тот кто будет имплементировать класс наследник не забыл синхронизировать состояние базового класса через базовый лок.
Вероятность, что что-то пойдёт не так просто нахуй 99.999 %.
Потом, удовлетворить принципу постановки Барбары Лисков охуеть как сложно и на практике получается только тогда когда ты вообще не переопределяешь функции абстрактное класса. В этом случае частично теряется смысл делать абстрактный класс, ведь класс наследник почти никогда не может изменить поведение базового класса ре нарушив принцип Лисков.
Так нахуя абстрактный класс нужен в этом случае если можно передать финальный класс через композицию? Ответ: он не нужен. И твоя задача по руками бить тех кто использует абстрактные классы, требуя их объяснить нахуя они их используют.
> вот писали бумеры в 90ых всё функциями и норм было
В 90ых уже был хайп ООП, джава и плюсы. А первый ООП язык в 60ых высрали еще.
> нафиг вот это зумерское ООП придумали
Как раз в зумерских языках вроде go/rust это бумерское ООП и не завезли. Наоборот щас мода ООП хейтить.
> нафиг придумали
Когда программы стали становиться очень большими, появилась необходимость как-то их разбивать на кусочки, модули, мелкие залупки. В ООП это делается засчет ООП, в каких-нибудь го и растах чуток по-другому, но тоже.
Проблема с написанем тупо функций как C и в php старых версий в том, что когда проект становится большой - больно. Если ты только 5ый день кодишь, то тебе этого не понять.
У тебя в коде который ты щас пишешь может быть там 2-3 файлика, а может вообще в один хуячишь. А если у тебя их тысяч 10, то тут уже тяжеловато все упомнить
У объекта есть его контракт, публичные методы. А есть приватная внутрянка. Ты пользуешься объектом не задумываясь как он написан(у тебя своя задача), а чел который писал объект не знал как ты его будешь использовать.
ООП это не единственный способ это обеспечить, но самый популярный
Слишком абстрактные наименования. DatabaseWriter как пример ограничивает обязанность класса записью чего-то в базу данных.
DatabaseHelper как противоположный пример может и создавать базу данных, и удалять, и записывать данные и читать данные и мигрировать базу данных и чекать целостность и т.д.
Получается God like класс, разрастающийся до гигантских размеров.
Класс должен делаить что-то одно, и делать это самостоятельно(инкапсулированно). А если у тебя DatabaseHelper то это звучит так будто он делает много(все что касается базы) но при этом не самостоятельно(вспомогательный класс).
Вообще классы хелперы пишут для простоты и удобства, но база данных и работа со временем это что-то что нужно очень много где, и лучше хорошо продумать, так сказать. Если твой хэлпер используется в 2-3 местах на весь проект и он ограничен одним модулем то как бы проблем не будет, но такие глобальные хелперы это будет кошмар
>функция, аргумент в которой анонимный объект, который наследуется от класса
Не ну это треш нахуй, тут если захотеть такие ебаные конструкции можно выкатывать, что потом хуй разберешь, утешьте меня, скажите что в приложениях такого нет и люди пишут максимально просто без вот этих нагромождений
Ну, такое обычно с простыми интерфейсами встречается. Но в целом обычный код. Ты привыкнешь, тяжело только первые разы такое читать, потом внутренняя нейронка натренируется и будет легко как будто букварь читаешь
До этого ковырял юнити, даже несколько небольших проектиков написал. Пытался работу найти, но вакансий в ГЕЙдеве считай вообще нет. Нашел галеру занимающуюся портированием мусора из гуглплея на яндекс игры, получил первый таск увидел Update gamemanagera на 250 строк if/els-ов и решил что не стоит эта ебля тех денег которые за нее предлагают копейки из разряда 5к за фул порт, или 1,5-2к за правки в проекте. Дальше в юнити и шарпы решил не углубляться упарываться в местный фреймворк суть которого отделить игровую логику от движка впадлу ввиду отсутствия вакансий на рынке. На другую галеру опять не взяли из-за лени галера по производству мусора в гуглплей для рекламы казика, вместо того чтобы запилить пиздатое тестовое сделал его наотъебись за 2 дня вместо недели качество кода похвалили, но не взяли хуесосы. Хотя тз по факту было выполнено полностью.
Почему андроид, вообще в планах дрочить kmm то есть мобилка в общем, но во первых яблочных девайсов нет, а во вторых показалось что соотношение количество вакансий/количество вкатунов лучшее ну кроме 1с и бэка, которым просто не хочется заниматься.
Да и смотря на вакансии вижу, что что на стажеров что на джунов что на мидлов одни и те же требования окей на стажеров мб чуть ниже, но стажировка не дает гарантии того что тебя возьмут в штат, да и отношения к стажерам как к биомусору. Так что буду 3-4 года опыта рисовать умение пиздеть с каменным еблом у меня в крови и вкатываться в мидлыучиться могу литералли бесконечное количество времени, вопрос о выживании не стоит.
Если котлин язык как язык, просто дефолтная ооп хуйня но синтаксис красивый. Джаву кстати рот ебал учить. То сам андроид пока идет супертяжко, нихуя непонятно. Если в юнити накидал обьектов на сцену, прописал какую-то логику и все работает, то тут хуй пойми какие-то активитихуивити, компоуз какой-то тотально непонятный просто к слову я пока даже ни одного какого-то говнокурса не посмотрел.
В общем если тут вкатуны или уже вкатившиеся желательно недавно т.е 1-2 года назад, ибо нахуй мне советы по вкату от чела которого взяли на первую РАБоту за то что он знает как компуктер включается, которые пообщаться хотят?
До этого ковырял юнити, даже несколько небольших проектиков написал. Пытался работу найти, но вакансий в ГЕЙдеве считай вообще нет. Нашел галеру занимающуюся портированием мусора из гуглплея на яндекс игры, получил первый таск увидел Update gamemanagera на 250 строк if/els-ов и решил что не стоит эта ебля тех денег которые за нее предлагают копейки из разряда 5к за фул порт, или 1,5-2к за правки в проекте. Дальше в юнити и шарпы решил не углубляться упарываться в местный фреймворк суть которого отделить игровую логику от движка впадлу ввиду отсутствия вакансий на рынке. На другую галеру опять не взяли из-за лени галера по производству мусора в гуглплей для рекламы казика, вместо того чтобы запилить пиздатое тестовое сделал его наотъебись за 2 дня вместо недели качество кода похвалили, но не взяли хуесосы. Хотя тз по факту было выполнено полностью.
Почему андроид, вообще в планах дрочить kmm то есть мобилка в общем, но во первых яблочных девайсов нет, а во вторых показалось что соотношение количество вакансий/количество вкатунов лучшее ну кроме 1с и бэка, которым просто не хочется заниматься.
Да и смотря на вакансии вижу, что что на стажеров что на джунов что на мидлов одни и те же требования окей на стажеров мб чуть ниже, но стажировка не дает гарантии того что тебя возьмут в штат, да и отношения к стажерам как к биомусору. Так что буду 3-4 года опыта рисовать умение пиздеть с каменным еблом у меня в крови и вкатываться в мидлыучиться могу литералли бесконечное количество времени, вопрос о выживании не стоит.
Если котлин язык как язык, просто дефолтная ооп хуйня но синтаксис красивый. Джаву кстати рот ебал учить. То сам андроид пока идет супертяжко, нихуя непонятно. Если в юнити накидал обьектов на сцену, прописал какую-то логику и все работает, то тут хуй пойми какие-то активитихуивити, компоуз какой-то тотально непонятный просто к слову я пока даже ни одного какого-то говнокурса не посмотрел.
В общем если тут вкатуны или уже вкатившиеся желательно недавно т.е 1-2 года назад, ибо нахуй мне советы по вкату от чела которого взяли на первую РАБоту за то что он знает как компуктер включается, которые пообщаться хотят?
Я это читать не буду, нормально сделай
Какой же ты мерзкий человек по тексту
> А что такое корутины? какое то смешное название
Думаю примерный перевод на русский сопрограмма.
Можно считать корутину аналогом треда (свой контекст, могут остановить и возобновить работу, есть планировщик, есть свой механизм синхронизации состояния между корутинами, возможность асинхронного и параллельного выполнения).
Правда нахуя они нужны если уже есть треды? По идеи для работы в системах где есть только одно физическое ядро, а иллюзию паралелльности хочется.
Говорят удобно работать из главного потока, но как по мне наоборот делает логику запутанней. Раньше как было, вот тебе класс, в нем executor, он делает всю работу в фоновом потоке. Тебе в главный поток через слушатель прилетают данные из этого класса и всё понятно: вот тут код для главного потока, вот тут код для фонового потока - не смешивать.
Теперь же заходишь в проект и там лапша из вызовов в разные планировщики, что-то на IO, что-то на Default, что-то на кастомный планировщик. Ну, окей, зато всё последовательно.
Я для сих пор к ним отношусь как к бессмысленной технологии, которая просто добавила сложность в проекты.
p.s. Понять на самом деле что это такое у меня не получилось хотя я лекцию на 2 часа со всеми внутренности смотрел.
Так оно надо вообще? используется в приложениях? на собесах спрашивают?
Скинь лекцию которую смотрел, скоро мне тоже предстоит разбираться
> Так оно надо вообще?
Да.
> используется в приложениях?
Да.
> на собесах спрашивают?
Обязательно.
> Скинь лекцию которую смотрел, скоро мне тоже предстоит разбираться
Кек, удачи
https://www.youtube.com/watch?v=3iwDgpU7DB8
p.s. Я даже так скажу, более вероятно, что у тебя не спросят за многопоточку вообще, но спросят за корутины. Одному Богу известно почему, но сколько я не смотрел примеров интервью с андроид разработчиками всех интересуют корутины.
Чёт не особо разобрался с этими обобщениями, видимо надо каких то гайдов на ютубе покурить
>>344679
>>344681
>>344733
на самом деле вам пока рано об этом знать (если вы вкатуны и только-только начали изучать всё). корутины решают ряд каких-то проблем и лично мне, например, чтобы понять какую-то технологию, нужно было сначала познакомиться с самими проблемами, способами их решения и дальше уже можно было задрачивать саму технологию, на которой все остановились и которую считают лучшим решением.
конкретно про корутины. сначала лучше познакомитесь с многопоточностью и зачем оно нужно вообще. дальше идёт тема про асинхронное программирование, rxjava, а уже после корутины.
если хотите всё вкратце и прямо сейчас узнать, то вот прям создатель корутин рассказывает зачем они появились, как они работают и как ими пользоваться:
https://youtu.be/rB5Q3y73FTo
конечно, можно вообще забить болт на всё это и без контекста задрочить корутины, никто не запрещает.
Всё так, всё так
Интервью и работа разные вещи. Я на интервью спрашиваю нужно ли тестировать код. Мне отвечают да. При этом я его не тестирую, потому что времени на это не выделяют.
Это называется ротацией между уже работающими спецами. Новые не нужны
Ну я один из тех, кто это дрочил все, думаю у остальных свичеров процесс не отличался.
Иногда чет было тяжело понять, но я всегда искал разные источники инфы.
Я меня просто интерес имел к этому. Сейчас 4ый год лениво тасочки делаю. Уже в рос в эту профу и мозг атрофировался под программач.
Чтобы не забить хуй, советую вести дневник как посрал что учить и что за день сделал
Без интереса хз как вкатиться