Тред для тех, кто пытается вкатиться в андройд разработку или что-то похожее. По возможности стараемся угощать ньюфагов чаем и поливать друг друга радугой.
>Хочу вкатится в 20/30/50 лет, не поздно?
Нет, не поздно. Лично знаю несколько примеров из жизни когда вкатывались в 30+ лет.
Основы программирования, логические операции -> Джава(базовый синтаксис и особенности языка) -> ООП -> особенности различных версий Джава -> алгоритмы и структуры данных -> многопоточность -> дженерики -> функции высшего порядка -> Котлин -> Android SDK(UI, версии и различия, особенности оси на уровне работы виртуальной машины) -> работа с БД, CRUD(можно и на этапе знакомства с алгоритмами) -> git -> networking/REST API/JSON/сериализация -> актуальные фреймворки зачем и почему, спойлер: экономия времени -> архитектура, зависимости, инверсия контроля -> ?..
Вот примерный флоу, которому я бы следовал, если бы учился сейчас. Начал бы сразу с алгоритмов, если честно.
В эту же последовательность нужно вставить clean code, SOLID, DRY/DIE, KISS, YAGNI и прочие модные аббревиатуры, которые весьма актуальны. Что-то упустил, но, думаю, этого достаточно.
Нет. Не стоит. Есть точка зрения, что котлин позиционируется как "удобная/лучшая джава", подразумевая то, что ты хочешь писать на джаве, но более современно и практично. Да и глупо игнорировать джавоский мир, который является в топе по числу библиотек и решений, где тебе все равно придется погрузиться когда-то в его синтаксис.
>Прочел книгу по java/kotlin/flutter и посмотрел видосы, на деле ничего не понимаю. Куда идти дальше?
Делай свои мелкие пет-проекты, можешь копировать чужие и дополнять функциями которых там нет. Главное правильно пиши сам, гугли, трать часы и дни на мелкие функции НО сделай сам, что бы полноценно понимать что к чему. Вся суть сводится к тому, что бы ты изучив ROADMAP который указан выше, вынес знания, которых хватит на создание и понимание пет-проектов с помощью которых познаешь суть разработки. Также на собесах любят когда есть портфолио в гугл плей.
>Где взять примеры проектов?
Можешь банально поискать на ютюбе или в телеграмме. Для примера:
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 + RxJava2 + Dagger2(по обстоятельствам) + гугловские поделки jetpack, понимания СОЛИД и других паттернов проектирования. 4. Базовое понимание что вообще такое Gradle. Рекомендую хорошенько изучить XML. 5. И хотя бы несколько готовых приложений.
upd: Также стоит прочекать вакансии в вашем городе и собрать самый часто используемый стек технологий и отталкиваться от него.
Незабывай изучать английский, потому что гуглить придётся именно на нем ибо информации в разы больше.
Сериалы и шоу, для того что бы увидеть полный список нужно купить подписку. Есть двойные субтитры RU/EN. Цена 300 рублей, но часто проходят акции 300 рублей за 2 месяца подписки. https://ororo.tv/ https://ororo.tv/ref/1835272 - реф ссылка. Указал потому что: Переход по Вашей ссылке дает пользователям бонус +10% ко времени их следующего абонемента.
Также советую полностью сменить язык интерфейса на всех устройствах.
3. Знание популярных библиотек типа Retrofit/Ktor + Glide/Picasso/Koil + Coroutines + Dagger2/Hilt/Koin>>2679038 >>2679038 (по обстоятельствам) + гугловские поделки jetpack, понимания СОЛИД и других паттернов проектирования.
Я могу запускать сборку без джетифаера, как-то динамически отключая его? Ну и с синком грейдла если потребуется. На проекте мешается, но не хочется проперти ломать.
Стоит ли задрачиваться особенно это касается алгоритмов ради стажировки во всяких Яндексах или лучше забить и найти работу по-другому? Такое ощущение, будто только через стажировки или пиздеж можно пройти
Кто какими скриптами для генерации тестовых учёток пользуется? Нужно создать примерно 50 и до бесконечности гугловых учёток для тестирования разных сервисов и покупок, а ручками лень
>>2686265 Одного хватает. Закинь адрес в список тестеров (там отдельный список есть в корне компании), и у него будут бесплатные подписки/продукты и срок действия в сколько-то минут
Салют ведроид-мастерам и всем остальным. Подскажите лучшую иде для кодинга на котлете. Колеблюсь между студио и интеллиджей, плюсы/минусы? Мне буквально пару лабок в универ запилить, ничего навороченного
Сука нереально найти работу блять, резюме тупо либо не просмотрены в 90% случаев либо отклонено хз почему, вак джунов хуй да малинка, в мидловских чуть ли не капсом написано ТОЛЬКО С КОММЕРЧЕСКИМ ОПЫТОМ, как вкатываться в 2023ем? готов заплатить уже что бы меня на работу взяли
Собираю ПК для android разработки. Пожалуйста, помогите найти ответы на пару вопросов: 1. CPU: i5 vs i7 vs i9? 12th gen vs 13th gen? 2. RAM: DDR4 vs DDR5? 32 GB vs 64 GB vs 128 GB?
>>2699284 нормальная, тундра и хс идут под 150фпс, в остальное не играю. Битки не майню, юнити нагружает в основном проц, сцены локнуты под 60 фпс. Делаю VR игры, даже не греется
>>2699971 >>2700003 Вру. Короче, на работе выдали леново с i7 11 поколения со встроенной intel uhd. На ней эмулятору под убунтой было ОК. На винде не пробовал, но могу предсказать, что работать будет хуже. Поэтому если есть физическое устройство под рукой или ты только начинаешь, то пойдет.
>>2699612 TopTal, проекты есть. >>2700183 Еще одна кроссплатформа. Сложно сказать что-то объективное когда гугл делает одновременно два очень разных фреймворка для кроссплатформы, один из которых на котлине, а второй до сих пор лагает при первом включении
>>2700274 > гугл делает одновременно два очень разных фреймворка для кроссплатформы > один из которых на котлине Гуглу похуй + похуй на твой котлин мпп, он им не занимается. Пару либ высрали, банально потому что деврелам там уже делать нехуй, на стены от скуки лезут и ищут любую хуйню для релиза для промоушена.
>>2700287 > Гуглу похуй + похуй на твой котлин мпп Также гугл: > Compose Android > Compose Web > Compose Desktop+iOS спонсирует > Почти все Jetpack либы мигрируют в кроссплатформу
>>2701783 > Compose Web > Compose Desktop+iOS Это все жидбреинс делает. Гугл просто не мешает.
> Почти все Ебать, аж целый датастор высрали остальной кал типа коллекций и аннотаций не считаем. И то только тогда, когда сквеар наконец сделали кроссплатформенную оболочку для файловой системы, а то в котлин нейтиве даже файл нельзя записать средствами стдлибы. Зеро кост считай. Остальной джетпак весь андроид онли бай дизайн кроме рума какого-нибудь.
Пять лет в IT. Начинал в андроид разработке на галере, последнии 2 года работаю на Flutter'е в крупной компании. Приятели подталкивают к смене стека, мол во Flutter'е и в мобилках нет перспектив и максимум ты сможешь стать тимлидом, а бекенд стабильнее и ты можешь стать архитектором в будущем. Что думаете, аноны? Перспективна ли мобильная разработка? Стоит ли развиваться дальше в мобильной разработке или все же перейти в веб?
>>2705534 Я больше на перспективу мобильной разработки смотрю и на то что будет с отраслью через 6-8 лет.Из-за того что последнее 2 года пишу чисто на Flutter'e на котором вакансий сейчас штук 20, думаю обратно в чистый андроид вернутся, либо двигать дальше в бекенд. Потому что вакансий по Flutter'у не так много.
>>2705627 >А ты хотя бы им станешь? А оно тебе надо? Мне бы хотелось через пару тройку лет попробовать себя в качестве тимлида, либо до архитектора дорасти.
>Так ты про веб или про бекенд? Я думаю целесообразно переходить в бекенд, потому что фронтенд это очень схоже с разработкой мобильного UI, а хочется чего-то более перспективного
>>2679016 Я вот пожалел, что не знаю эту залупу. Пришлось прямо на проекте осваивать вслепую. Сейчас ебусь с тем, что хуй влезешь посередине в поток данных, хер продебажишь. Аштрисет.
Всем привет. Хочу спросить, где можно найти онлайн-программу, дабы нарезать PNG-картинок для иконок приложения и загрузочного экрана, из уже готового графического файла? Чтобы не нужно было ничего устанавливать, просто загрузить на сайт картинку, выставить нужные параметры - и скачать обратно готовый набор?
У вас по сколько андроид-разрабов на проекте сидит? Часто встречаются проекты, где больше 1 человека? А то я один допиливаю приложение, например. Раньше бэком занимался, там обычно по 3-4 разраба было, не считая фронтов. Думал охуею от такого расклада, но вроде справляюсь лучше, чем сам от себя ожидал. Хуево, что обратной связи по коду от коллег не могу получить. В остальном заебись. Все вопросы гуглятся, что-то у инженеров, бэка и айосника спрашиваю. Каковы шансы встретить проект, где ты не один будешь?
Всё что я хочу, это заменить иконки приложений с ГОВНА на НОРМАЛЬНЫЕ. Чтобы нормальные иконки были не только на рабочем столе, но в системе. Аpk это же архив, верно? Я его в .зип переименовываю, распаковываю, нахожу иконку приложения, меняю на нужную и...И дальше что? Как обратно собрать в .арк, чтобы на телефон установить? Или есть способ проще?
>>2722063 Ну анон там затролил явно, но вот 8 гигов может и не хватить. Тебе там 16 минимум бы, у меня 32 гига и два-три окна студии с эмулятором уже 15 гигов жрут
Я что-то не так понимаю или андроид тима опять объебалась сделав инициализацию преференсов прямо в момент создания объекта датастора? Он в основном потоке инициализируются и соединение создает, дает лаг 15мс на пикселе, бесит пздц
Уже хуй знает что делать и кастомный счедулер писал и так и сяк получается хуйня громоздкая
Решил в DI возвращать deferred и работать с ними через экстеншены где сначала делаем await а потом остальные манипуляции чтобы просто избавиться от этого лага
Вроде как async должен by design возвращать Deferred который гарантированно завершится(или нет?) С другой стороны решение громоздкое опять получается
class PreferencesContainer( dispatcher: CoroutineDispatcher, producer: () -> DataStore<Preferences> ) {
private val scope = CoroutineScope(dispatcher)
val preferences = scope.async(start = CoroutineStart.LAZY) { producer.invoke() }
}
suspend fun <T> Deferred<DataStore<Preferences>>.preferencesFlow(transform: Preferences.() -> T): Flow<Result<T>> { val result = runCatching { this.await().data.map { runSuspendCatching { it.transform() } } } ...................... }
Сап андроидач. Хз ещё куда обратиться. Есть специальное оборудование, которое подключается по wifi. При подключении в настройках сети нужно вручную прописывать ip адрес и маску подсети. Так вот. Можно ли на телефоне с 10 андроидом на борту как-нибудь подключить данное оборудование по wifi и при этом каким-либо образом иметь доступ к сети Интернет? Заранее спасибо
>>2725022 >app startup Интересная штука вроде, надо глянуть, спасибо
Лаг не заметный(15мс на пикселе) из-за того что файл/iostream приходится создавать в момент инициализации - такая особенность у либы для шифрования преференсов Шаред преференс дает на том же устройстве 90мс лаг
>>2678699 (OP) Под flutter надо изучать котлин и свифт? Или на похуях просто качусь в флаттер через дарт и усё? Вакансий конеш мало даже во внешнем мире, но думаю пох, просто тянет из-за названия типа "флаттер" нихуя себе как круто.
А, еще вот что: нужен ли мне мак, чтобы вкатиться в флаттер? Или тоже как-то можно обойти темку? Ну я вот читал например что можно арендовать удаленный мак или что-то такое.
>>2734721 Ну это я понял, что жабу не юзают в современных разработках. Но я прочитал мнение, что "рано или поздно тебе для решения задачи понадобится библиотека, которая будет написана на жабе". Вот это главный аргумент везде, где я читал на эту тему.
Сам я почекал вакансии, в 7/10 вакансий даже не написано про джаву, в 2 либо Java/Kotlin либо знание джавы как "+", в 1 знание джавы обязательно.
Правильно ли я понял: в андроид-разработке Kotlin/Java являются фронтенд-языками, т.е. это все равно что в веб-разработке пишут фронт на жс, а тут на котлин или жабе?
То есть ты по сути еще и верстальщик в мобильной разработке? Это получается мобильные разработчики - фуллстеки?
>>2734724 >рано или поздно тебе для решения задачи понадобится библиотека, которая будет написана на жабе Рано или поздно тебе понадобится утка, в который ты будешь ссать, будучи парализован, но это же не значит, что надо сейчас ее покупать. Лучше потрать деньги на зал и побегай там
>>2734771 Ну я хочу дрочить на аниме лолей, смотреть аниме, играть в аниме игры, читать мангу, не хочу общаться ни с кем ирл, мне не нужна лишняя ответственность в жизни.
Качяться тоже не буду, мне это ни к чему. Гулять надо 1.5-2 часа в день + зарядка и отдых от компа каждые 45 минут на 5-15 минут. Это уже хорошо.
да я в целом хорош так-то: не употребляю ничего, не мешаю другим жить. Чем я хуже 18-летнего пиздючеллы? Возьмите меня хоть за еду я готов овертаймить по надобности даже.
Короче я полностью определился. Изучаю андройд-девелопмент через Котлин, потом в дополнение изучаю Дарт + Флаттер, чтоб расширить область поиска работы на удаленке. Потом нахожу удаленку за еду, работаю за еду 1 год, потом работаю как белый человек за 50 тысяч рублей в месяц и радуюсь аниме. Тьвёрдо и чётко.
>>2734780 > мне не нужна лишняя ответственность в жизни > ищет работу
> не хочу общаться ни с кем ирл Тебе на работе пизда, если у тебя в маняфантазии о том, как ты просто делаешь все по детальному ТЗ, и тебе не нужно каждый день обкашливать вопросики с абсолютно разными людьми, в том числе не технического уклона.
>>2734788 Я не против общаться, но у меня проблемы со здоровьем, из-за которых я не могу ирл жить в обществе, поэтому ирл ни с кем не общаюсь, только через компуктер. А так у меня нет проблем с общением.
Ответственность лишняя не нужна имеется в виду в виде связей типа отношения или приручения животного или друзей. Рабочие отношения меня устраивают, потому что без этого никак, я с этим смирился.
>>2739006 >и забыл XML Это ты зря, джунов всегда на легаси садят. Доверить написать проект с нуля на сompose и с твоими любимыми технологиями доверят только мидлу+
>>2739045 Пиздец, походу придётся вспоминать XML. Слушай, а с Java то хоть как? Много говна на этом говне Java до сих пор написано? И пишут ли новые проекты на этом говне Java?
Бля а xml и дата биндинг реально считается легаси теперь? Меня недавно удивили этим мол так заебись мешать все в коде и пользоваться говноплагинами вместо того чтобы описывать все в конвенциальном xml и допиливать до блеска датабиндингом и лайвдатой
Вроде проблемы нет переключиться но обидно пиздец, кроме кроссплатформы причин для этого не вижу Есть рабочие гайды как xml милорду быстро освоить этот compost?
>>2739413 Как internal контрить будешь когда придется писать расширение под котлин либу?
>>2739635 > Как internal контрить будешь когда придется писать расширение под котлин либу? Сомнительный бенефит. Очевидно форкну и сделаю что хотел, а не дрочить package private костыли привет AndroidX. не хейтер жавы
Ну ок ладно. Тогда значит учимся джаве, потом на джаве учимся делать андройд, потом переходим на котлин и уже делаем всё там, но не забываем вспоминать джаву раз в неделю чтоб не забылось.
>>2739761 О чем и речь, я сам чисто на Котлине только пишу, потому что только его и знаю. И если в конторе нужно что-то написать на Джаве, то руководство это поручает тому кто знает Джаву - никак при этом не задрачивает чистых Котлинщиков. Так что все эти Джава-пердуны хуету для даунов несут со своей говноджавой
>>2739856 > И если в конторе нужно что-то написать на Джаве, то руководство это поручает тому кто знает Джаву Удивительные долбоебы на руководстве, что потакают вам, и неженки на прогерах. Вас даже не просят что-то на другом стеке написать, а просто юзать все тот же самый андроид сдк/жава ждк, только с немного другим синтаксисом.
Джава синтаксис очень простой, нужно быть каким то конченным, чтобы его УЧИТЬ нахуй, а не просто пару раз глянуть, чтобы спокойно ориентироваться. Проблемы могут возникнуть только у каких-нибудь жаваскриптопитоновых швайнокодерокарасей.
>>2739861 Да просто уже почти всё что было на Джаве перкписали на Котлин, вот и в конторе почти все Котлинщики и совсем мало энтузиастов умеющих в Джава, но и этим энтузиастам за их знания доплачивают. Кому не всралась эта калоджава - просто ничего на ней не делают и норм нам
>>2739635 XML - нет DataBinding - в maintenance. Когда kapt будет тоже в maintenance, то ему пизда, а проекты переделывать. Когда будут баги, то их править не будут. Новых фич там не будет. Если что-то в новом андроиде отвалится - это будут ваши проблемы
Здорова, мобильщики, я стажер, и я заебался. Посадили в галере на легаси кал с монолитной архитектурой нечитаемой, за еду поддерживать кал. Вакансий на джуна не сущетсвует, на стажик берут только в яндексе, куда хуй попадешь. Есть ли вариант вырваться из грязи в князи? Если я дропну галеру и доучусь до мидла в соло, будут ли шансы устроится им, или терпеть - наилучший вариант?
>>2741727 Кстати высота у второго linearlayout 38, потому что я пытался хоть что-то сделать, чтобы оно выводило. Изначально там wrap_content было и сейчас есть, ситуация та же
>>2741676 А что мешает так же в соло не ливая подтянуть навыки? Так еще и стаж будет какой-то идти, легче потом устроиться
>>2741729 >>2741727 Тебе если кнопка внизу нужна то сделай элемент другого view type Есть еще варик с CollapsedToolbarLayout сделать чтобы вьюха задвигалась/выдвигалась при прокрутке но не в курсе прокатит ли снизу если она снизу
А вспомнил ты кнопку в ListView можешь сделать футером Но ListView уже не катит он устарел, переходи на RecyclerView и ищи либу которая позволит добавить футер так же просто как в ListView
>>2741676 Не ливай, терпи хотя бы полгода, потом будешь ссать на ебало нищукам и лохам, что сказали "доучусь до мидла в соло" и так и остались за бортом.
Варианта 2: 1. Сделать у ListView height 0dp и добавить weight="1" ListView сам по себе прокручивается переиспользуя старые элементы списка при прокрутке и его высота должна быть фиксирована
2. Обернуть лист с height=wrap_content и кнопку в NestedScrollLayout - должно сработать
>>2741905 С фиксированной высотой все работает. Проблема в том, что я не знаю будет ли это на всех разрешениях работать нормально. Поэтому пытался сделать, чтобы оно само регулировало. Но когда само регулируется, оно, как ты и написал, занимает всю нижнюю часть, не давая мне добавить ещё один элемент. Взять тот же total commander. По идее по середине список и есть, а вот снизу уже доп.элемент
>>2741918 Короче ладно, сделаю просто список фиксированной длины. В любом случае для себя пишу приложение, поэтому похуй на адаптивность. Но все то, что ты там перечислил выше взорвало мне мозг, почему столько разных вариантов решения проблемы, очень мозолит глаза такое разнообразие, если честно. Спасибо за то, что попытался помочь
>>2741923 Вот же варик >1. Сделать у ListView height 0dp и добавить weight="1" Она и будет считай фиксированной, просто заполнять все пространво доступное не вытесняя другие вьюшки
>>2742497 Котлин андроид лучше, так как есть ещё КММ. С ним ты можешь бизнес логику и для андроид приложения, и для ios один раз написать (просто потом на свифте кнопочки нарисуешь) - это насчёт кроссплатформенности. Я могу даже для линукса в GTK портировать свои поделия. С котлином можно перекатиться в бэкенд потом, если надоест, да и он не такой платформоспецифичный как дарт флаттер.
Вы сейчас наверняка меня закидаете калачами и заслуженно, но я пробую начать с react native и хочу узнать, где лучше и удобнее смотреть превью приложения? Сейчас есть vscode, микро-опыт десктопных приложений и по тутору автор накатывает expo cli, который далее запускает сервак с qr-кодом, далее качаешь на телефон приложение Expo Go, там сканишь код(в нем просто адрес) и типа вот тебе на телефоне в реалтайме твоя приложуха. Как-то это дерьмово и неудобно. Как вы делаете, ананасы? В идеале бы просто на локалке запускать что-то, что банально будет показывать эмуляцию телефона/планшета.
Сап, крч, ищу себе новую работу, бэкграунд 3.5 года Full-Stack Developer (.NET+JS) и щас почти 2 года Unity Developer, щитай middle+, но пытаюсь прорваться в senior.
Подцепилась одна вакансия Unity Developer, дали тестовое, вроде норм, но тут одна херня выскочила, они хотят, чтобы у тебя было 3+ лет опыта в качестве мобильного разраба (Android/iOS), резюме посмотрели, сказали что типа вы нас заинтересовали, но прикол в том, что таску какую они дали, там Clean Architecture, я не знал что это такое, сказал что знаю, ибо думал стандартная хуйня в виде стандартных практик, которые знаю и имею опыт. А ОКАЗЫВАЕТСЯ, ЭТО АНДРОИДОВСКАЯ ХУИТА, в .NET такой хуйни нет, особенно в юнити ни разу блять не видел. Посмотрел примеры реализации этой хуйни в .NET, а там блять нахуй src/, сук, это из ебаной джавы блять, какого хуя блять в Unity, в C#, потерялась джава, ебать.
Че делать? Слать сразу нахуй вакансию? Сделать стандартным способом? Или пытаться пилить вашу Clean Architecture из говна и палок?
А вам как, нормально бывает, что ваша документация просто не обновляется годами? половина вещей - deprecated, а как надо - сам ищи. С некоторых якорей вообще 404 выдает в доках. Просто рот в говне, везде палки в колесах. Как можно вообще с этим работать, это же просто пиздец. Некоторые куски в документациях вообще не рабочие, полностью на новый лад щас используется, а все что описано - устарело. Где актуалочку искать - неясно. В пизду вашу платформу, дерьмоедство.
>>2746320 не удивляйся, средний андроидо-господин с таким даже не сталкивается, зачем лезть в документацию когда можно ctrl+c ctrl+v с SO? да, доки дерьмо, написанные индусом, это факт
>>2746497 Да мне похуй, я к этой платформе отношения не имею, случайно сюда зашёл. Просто интересно откуда ты такой придирчивый, наверно всю жизнь сидишь на своём ios пьёшь смузи и кнопочки красишь?
>>2746571 Нет, я просто захотел написать программу для себя на андроид, а тут на меня вывалили такой ушат помоев, знаешь, немного неприятно. Вроде ОС гугловская, а документация заброшена, как мне делать, человеку, который 2-3 дня назад начал ее читать?
>>2746577 Нет, спасибо. Мне интересно самому разбираться, и поэтому я очень разозлился, когда мне буквально ставят палки в колеса в этом процессе. Так это был больше крик души, простите
>>2746691 >Только не спиздани про иос Я вообще ни под что не кодил, с чего ты взял? документация - дерьмо, половина всего просрочено, не обновляется, чего ты оправдать пытаешься?
вопросы для собеседования
Аноним28/06/23 Срд 14:51:03№2747229201
анончики, привет! не ходил на собесы года 4 наверное...
Даже не знаю, что щас спрашивают. Подкиньте пожалуйста вопросов для собесов.
.NET Fullstack репортинг ин MAUI выглядит как полная хуйня. XAML - параша, не знаю, почему его некоторые любят, может, утиный импринтинг. Я привык, что мне IDE подсказывает, как что-то можно сделать. А тут сиди, ебись с dependency property, читая документацию. Ощущение, что работаешь с легаси. Хочешь свой компонент написать – кури документацию блядь! Пиши бойлерплейт! Пиши биндинги в 2023! Пиздец
React Native выглядит неплохо, на голову выше Xamarin/MAUI. Но параллельность не завезли или через костыли в силу языка. Куча историй от людей, у которых проблема со необновляемыми зависимостями. Конечно, можно самому все писать, используя только библу роутера и стейт-менеджера, но что-то не знаю. Думал попробовать f# с транспиляцией в js, но пока читал, вообще охладел к мобилкам. А задумка прикольная – пишешь в функциональном стиле. Правда, вакансий раз два и обчелся. Вакансии, правда, жирные, и собеседуют там, наверное, не как в других конторах, которые сейчас купаются в кандидатах. Так что с одной стороны редкий стек это не плохо. С другой – если проебался на собесе, на другом, то идти больше некуда
Flutter. Казалось бы, все хорошо, только привыкни к хвосту их скобочек, но и тут ложка дегтя – на айфонах люди жалуются на скролл. Ощущается как желе. Почему? Потому что скролл отстаёт на несколько кадров. На вёдрах это никого не волнует, потому что скролл в андроиде всегда отстаёт – листаните что-нибудь резко, увидите контент под своим пальцем (в идеале контент должен всегда быть под подушечкой). Все приложения, что тыкал – какая-то срань. Сейчас получше, конечно, но проблеме со скроллом года два минимум и в принципе не видно ее решения. Контекстное меню не родное. Я иногда люблю текст выделить и в переводчик отправить, а приложение флаттера рендерит свое и о переводчике ничего не знает.
Помните, пару лет назад вылез чел с клиентом для двача, написанном на флаттере? Был хайп. А где он теперь? Лучше нативной Даши ничего нет. Я пробовал тот клиент, вроде все ок, но что-то не то. И это я ещё тогда не знал про проблемы флаттера.
Похоже, что лучше натива ничего нет. Любой другой вариант это выбор между двумя стульями.
Ребят, подскажите. Если я знаю только один Compose то есть хоть какой то шанс на работу джуном? Давно еще общался с типом кодером, он меня надоумил не терять время и учить сразу Котлин с Компоузом,я так и сделал. Теперь вот думаю не придется ли еще XML в срочном порядке изучать начать. По сути разница лишь в вёрстке как я понял. Несколько видео посмотрел верстки на XML - ебать хуйня лютая, конечно
>>2752733 Я умею работать с Room (SQLite), Dagger Hilt, Retrofit и тд. Но это всё на Compose. На XML пытался посмотреть и понять что да как - нихуя не разобрался, хехе
>>2751430 нет, хуй ты что найдешь, максимум стартап. Говорю как джун. Начинал с xml, потом вкатился в compose и современный стэк. По итогу работаю джуном на супер легаси проекте, где xml - наименьшая из проблем. Все пет проекты или фриланс пишу на compose, но они не нужны особо никому. Все самые приятные технологии достаются мидлам и синьерам, а тебе надо глубоко изучить java, kotiln, android, многопоточку, фрагменты и 4 основных компонента андроида. Желательно через книги + практику, знать надо не мало, сейчас вкат трудный.
Реакт нейтив хорош, но ограничен. А жаль. Если бы он мог нормально отрендерить пару тысяч элементов динамической высоты, не ломая скролл, писал бы на нем и в хуй не дул. Вдруг решение есть, задам тут вопрос stackoverflow не предлагать:
FlashList/FlatList, контент – строки разной высоты. Чтобы далеко не ходить, представьте себе тред на пару тысяч постов. Сделать строки одинаковыми нельзя - некрасиво.
Типичный юзкейс – открыть тред, перемотать его вниз и листать самые свежие посты. Пока мы листаем сверху вниз, все хорошо. Но если мы переместились вниз (дёрнув метод листа), то о контенте сверху лист ничего не знает. Начинает рендерить, высота элементов разная, отрендеренный контент начинает дрожать.
Похоже, нет способа это исправить. Натив >>>> все остальное
Вы спросите, почему реакт нейтив, а не флаттер? Почитайте на реддите, что пишут о флаттере. У него скролл запаздывает относительно движения пальца, и это два года не чинится. И не факт, что вообще когдани исправят. На андроиде всегда так было (только выиграли), а йос-холопы привыкли к мгновенному отклику экрана
Добрый день, аноны. Подскажите пожалуйста мощный курс по многопоточному программированию в java или kotlin БЕСПЛАТНО, мб сливали что-нибудь, или книгу.
>>2758714 Так есть же бесплатные гугловые кодлабсы
>>2757259 Плэйсхолдеры вставлять и ресайзить именно их. 100% там можно поиграться и найти варик, что у тебя сверху элемент ресайзится когда загружается, а текущие не трогаются
>>2759647 Попробовал плейсхолдеры – или моих знаний не хватает, или действительно не вариант. Перешёл на fabulous/maui, который, как и react native, рендерит нативные компоненты, только под капотом не v8/hermes, а clr (суть та же jvm). Работает очень быстро, про оптимизацию можно не думать. Интересно, как там со сборкой мусора, получается, два сборщика работают, но фризов пока не вижу в стресс-тестах >>2764129 Я не знаю, я вообще не знаю ни джаву, ни котлин, что ты меня атакуешь вопросами? Думаешь, если я тут пару дней сижу, то можно издеваться? Да-да, ты промахнулся. Скорее всего, потому что посадят тебя вилкой легаси ковырять, а опытные разработчики будут пить смузи и писать на новых технологиях. Я слышал, что в джаве с легаси все сложно, хоть и не понимаю, почему. В дотнете даже с закрытого фреймворка на отпенсорсный неткор было обновиться довольно просто, а сейчас только одну строчку в конфигурации меняй
Подскажите пожалуйста, какое приложение отвечает за заставку на android tv и как программно отключить появление заставски с часами и обоями на android tv 11/
>>2757259 Напиши нативный модуль под android для своего юзкейса да и всё
Реакт нейтив для того и задумывался что в случае нехватки родного функционала ты всегда можешь наебенить нативный (на kotlin/java или objectiveC) или turbo-модуль (на чистых плюсах через JSI)
>>2770761 1) Если бы можно было написать нативный модуль листа, который не лагает, то не было бы десятка пакетов так или иначе оптимизированных списков. 2) После того, как пересел на fabulous/maui (F#), заметил, насколько медленно работает RN на одних и тех же задачах. Да хоть тот же парсинг большого json взять – полсекунды на RN и незаметное время (меньше ~200 мс) на fabulous. На RN приходилось прикрываться анимацией, но даже так было не идеально – эти полсекунды кнопка "назад" не работала, потому что js-поток был занят. Мелочь тут, мелочь там, а общее ощущение портится. У flutter с одной стороны дела лучше RN (да-да, я попутно пишу ту же самую приложуху на flutter, чтобы понять, что лучше), а с другой – хуже. Лучше, потому что он работает почти так же быстро, как fabulous. Хуже, потому что если надо сделать тяжёлый расчет в UI потоке, то фризится вообще все. Экран замирает. Например, список из 3к элементов разной высоты. Flutter быстро его отрендерит, но если нажать "проскроллить до конца", то кнопка зависнет на середине анимации, экран перестанет отвечать на пару секунд – пока высота элементов не рассчитается. В изолят это не вынесешь – это просто метод ListView.scrollTo. Как бы жить можно, но fabulous с той же задачей справляется за полсекунды и UI в это время отзывчивый, потому что, как и в RN, контролы нативные + настоящая многопоточность.
Если что, это не реклама Fabolous, у него свои минусы: - наполовину отсутствующая документация (при обновлении версии разрабы просто снесли полсайта нахуй, можно найти в кеше старую документацию, которая в 90% случаев подходит) - в третьей версии разрабы хотят отойти от концепции нативных контроллов под впечатлением флаттера. Не даёт им покоя популярность последнего. Надеюсь, откажутся.
Интересно, понимают ли они, что самый жирный их плюс по сравнению с флаттером это нативный look&feel. У меня телефон на днях обновился на свежее ведро, и приложение на fabulous теперь все новые анимации имеет. Приятно. А на flutter все без изменений. Пользователям ios, наверное, вообще глаз резать будет, если сильно в кастомизацию не уйти.
>>2770767 >1) Если бы можно было написать нативный модуль листа, который не лагает, то не было бы десятка пакетов так или иначе оптимизированных списков Можно написать вообще любую кастомную android/ios вьюху и использовать её в react-native аппке как внешний модуль Эта вьюха ничем не будет отличаться от любой нативной android/ios вьюхи
Так что твоя задача решаема, если прям сильно хочется
Просто листы на 500+ элементов в мобильной разработке это скорее моветон. Никто не решает задачи огромных списков, все решают другое - плавность прокрутки
>медленно работает RN Скорее всего ты сравниваешь скорость работы RN аппки в дебаг режиме. Собери релизный - там всё на 70-80% быстрее
В целом складывается впечатление что ты залётыш в мобильной разработке, если не в курсе что большие списки а если ещё и с анимированным апдейтами, то подавно - одна из самых сложных задач мобильной разработке вообще Я вот ios senior и android middle, и предпочитаю react-native как раз по тому что могу всякую скучную хуйню (типа пары десятков экранов с текстом и картинками) навестать на реакте, а там где нужно показать 100% нативной производительности - ебануть кастомный модуль перформящий те же, как нативный
>>2771894 Тебе выше ответили что RN это не webview - там под капотом всё нативное (а сейчас чаще всего даже через JNI работает - т.е. является по сути C++)
Но суть как ты описал - 95% аппки на обычном react-native, 5% - мои собственные модули. Там, где нужно что-то более производительное/специфическое
>>2771674 > Эта вьюха ничем не будет отличаться от любой нативной android/ios вьюхи Давай с начала. Люди всю историю RN изобретают колеса (пакеты списков), вместо того, чтобы один раз взять плюсы и написать один быстрый список? Почему они так делают? Почему Shopify корпела над FlashList, а Discord над FastList? Это я без подколов рассуждаю
Bridge никуда не денется. Долгожданная новая архитектура даёт не более 20% прироста производительности.
> Так что твоя задача решаема, если прям сильно хочется Я не вижу решения. На входе массив с текстом и картинками, на выходе вьюха с возможностью перенестись по индексу. Так, как на видеорил, никогда не сделаешь с RN. Вопрос в самом конце
> Просто листы на 500+ элементов в мобильной разработке это скорее моветон. Никто не решает задачи огромных списков, все решают другое - плавность прокрутки Представь клиент для двача/реддита. Я сейчас тестирую фреймворки на огромном треде из /a.
> Скорее всего ты сравниваешь скорость работы RN аппки в дебаг режиме. Собери релизный - там всё на 70-80% быстрее Нет, я как раз релизные версии сравниваю.
> В целом складывается впечатление что ты залётыш Так и есть, я бекендер, иногда фронт на реакте пишу. Поэтому первым делом я взял RN, для меня это самый приятный способ писать мобилки
> Я вот ios senior и android middle, и предпочитаю react-native как раз по тому что могу всякую скучную хуйню (типа пары десятков экранов с текстом и картинками) навестать на реакте, а там где нужно показать 100% нативной производительности - ебануть кастомный модуль перформящий те же, как нативный Кажется, до меня дошло. Ты предлагаешь не из RN через мост гонять данные, а просто написать, например, модуль "SosachList", или даже целиком экран написать на нативе, который сам пошлет запрос, обработает данные и отрендерит список? В это верю. Но выглядит не очень удобно, например, как пробрасывать стилизацию и другую логику из RN? Turbo modules посмотрел, интересно. Но только это не для вьюх, это для числодробилки/параллельных задач.
>>2772625 >Люди всю историю RN изобретают колеса В любом мало-мальски серьезном нативном приложении свои собственные кастомные списки. Посмотри исходники телеграмм - там к примеру от родного ios-ного collection/tableview мало что осталось - всё на 99.9% кастом
Это колёса? Нет - люди пишут то, что нужно им. Списки не для ИБ видимо мало кто писал. Напиши себе список для ИБ или попробуй найти готовый нативный
>Bridge никуда не денется. Так ты сам волен выбирать, использовать его или нет. Хочешь - используй JSI, а не бридж - будет в разы быстрее
>Так и есть, я бекендер, иногда фронт на реакте пишу. Тогда для тебя это может стать проблемкой, т.к. нужны какие-никакие нативные скиллы
>который сам пошлет запрос, обработает данные Ну наверное запрос и данные я бы всё-таки оставил в RN (у RN кстати оч быстрый парсер JSON'а), а вот вьюшную часть утащил бы в нативку
>Но выглядит не очень удобно, например, как пробрасывать стилизацию и другую логику из RN? Да, это будет не очень удобно - придётся придумывать как пробрасывать стилизацию Зато ты получишь скорость нативных списков без боттлнека в виде js-треда
>Turbo modules посмотрел, интересно. Но только это не для вьюх, это для числодробилки/параллельных задач. JSI можно использовать для всего - зная ID вьюхи можно гонять данные в неё через JSI
Делается это так - инстансируешь вьюху через обычный модуль, получаешь её id, регистрируешь его в прослойке-синглтоне. В самой вьюхе навешиваешь коллбэков в прослойку-синглтон и вуа-ля - твой JSI-модуль через прослойку-синглтон соединён с конкретной вьюхой. Я делаю именно так там где это нужно
>Bridge никуда не денется Со временем - денется, всё переедет на JSI
>Долгожданная новая архитектура даёт не более 20% прироста производительности. В данном случае все ждут не прироста производительности, а: - возможность инстансировать модуль по запросу, а не на старте аппки. Это сильно ускорит запуск аппки - возможность синхронно считать layout. Эта штука очень важна, т.к. много лишних перерисовок происходит при переворотах девайса
А к производительности RN-аппок вопросов довольно мало - она весьма и весьма хорошая (если не пытаться забивать гвозди микросокопом конечно)
Мне и моей команде RN позволило универсализировать 95% кода, который отвечает за всякие скучные экранчики с формами 5% высокопроизводительного кода я вынес в отдельные нативные модули (на крестах) - там оно само по себе крутится и в RN практически не заглядывает
>>2747229 хуй сосёшь? Жопу бреешь? Надо чтобы с жопы гавном не пахло и потом, жопу бреешь и всё, это намного важнее, чем знания. Если очко раздолблено, то комком туалетной бумаги просто очко затыкай, чтобы не пахло из очка.
>>2777473 А как тебе развиваться когда ты один разраб из сотни и сидишь в фичовой команде кнопки на форме оформления кредита передвигаешь?
В соло в разы точек роста и больше развития, потому что ты отвечаешь вообще за все – нетворк, сторедж, тесты, градл, билд/си, локальная дизайн система если нет глобальной от дизайнера, видео/аудио если есть, да дохуя всего. То что ты не улучшаешь у себя все выше перечисленное – лично твои проблемы.
один из сотни, кроме кнопок нихуя не делаю, полностью разучился делать прилы уже
>>2777473 Радуйся. Работа в команде - переоцененная хуета. Многие разрабы - долбоебы, которым вообще похуй на все, лишь бы таски кое как закрыть. Ни о каком развитии даже речи не идет.
>>2777478 Вообще, да. На деле и с сеткой работаю, и с юай, и оптимизации делаю всякие, безопасностью занимаюсь. >>2777501 Без команды и бюрократии я в разы больше фич сделал за несколько месяцев, чем будучи бэкендером в банке за год с лишним.
Только не хватает каких-то пинков и понимания, не говно ли я накодил.
>>2777478 >В соло в разы точек роста и больше развития, потому что ты отвечаешь вообще за все – нетворк, сторедж, тесты, градл, билд/си, локальная дизайн система если нет глобальной от дизайнера, видео/аудио если есть, да дохуя всего Да, только вот забыл упомянуть что в сологовнокодерских проектах нет тестов, CI, дизайн системы, фича флагов, и кучи всего другого, так что точек роста по итогу меньше
>>2778106 > То что ты не улучшаешь у себя все выше перечисленное – лично твои проблемы.
На большом проекте же будешь сидеть также бобылем на всем готовом. От того что там много приколюх еще не значит, что ты с ними работать будешь. Ток если на соло проектах ты сам себе босс, можешь сам выбивать время на эти приколюхи и делать их сам, набивая шишки. В крупных же командах без согласования с твоим менеджером и другой командой никто тебе просто так лезть свои ручонками что-то там делать не даст. Команды же делятся по функционалу. Попадешь в инфраструктуру/СИ и хуй ты в своей жизни больше кнопку нарисуешь или в сеть с устройства сходишь. Тоже самое с фичовой комнадой, будешь кнопки рисовать и хуй тебе а не СИ.
Здаров, парни. В яндексе, озоне, и прочих компаниях начали использовать backend driven ui, что думаете по этому поводу? Будет ли это будущем? Мб это следующая ступень после conpose, или поиграются и бросят? Сама идея крутая, т к. не нужно на каждый пук апдейт выпускать в маркет, можно в реальном времени менять/фиксить функционал. Только вот все свое кастомное решение делают, а это не очень хорошо. Нет базы
>>2778114 >Ток если на соло проектах ты сам себе босс, можешь сам выбивать время на эти приколюхи и делать их сам, набивая шишки. Это в теории так, на практике у тебя спринт будут забивать рабочими тасками, и всем похуй на твои загоны >В крупных же командах без согласования с твоим менеджером и другой командой никто тебе просто так лезть свои ручонками что-то там делать не даст. Команды же делятся по функционалу. Там по крайней мере можно согласовать, так как у менеджеров есть понимание что это нужно делать >Попадешь в инфраструктуру/СИ и хуй ты в своей жизни больше кнопку нарисуешь или в сеть с устройства сходишь. Тоже самое с фичовой комнадой, будешь кнопки рисовать и хуй тебе а не СИ. Выбирай с умом. В любой из этих областей можно закопаться так что экспертизу разовьешь будь здоров. Инфраструктура даже перспективнее. В крайнем случае можно свичнутся из одной команды в другую
>>2779926 Пк, мак не очень для студии при стоимости в 150 к. Если хочешь помимо андройда пилить и ios (через kmm), то мак или пытайся ставить хакинтош на виртуалку
Анонасы, а подскажите хороший учебник по Андроиду. Хотелось бы что-то, что структурно разбито на небольшие главы. С примерами на Котлине. Важна в первую очередь теоретическая часть, практики и без того хватает. В идеале на русском, но англюсик тоже пойдет.
>>2779926 По своему опыту могу сказать, что прошки - идеальный вариант для разработки. Особенно новые. Это тупо удобнее: хочешь в офис с ним бегай, хочешь дома работай. Опять же, я уже второй раз на зимовку съебывал в места потеплее. По-моему сейчас практически во всех нормальных конторах работникам маки подгоняют
Так что я бы не делал мозг беременным и брал мак. Дополнительно рекомендую к нему взять монитор с type-c выходом, это вообще идеальный вариант. А если игори любишь, то пеку через годик соберёшь себе или вообще приставкой обмажешься, если ещё и секс с мужчинами любишь
>>2775748 >Задумка неплохая, реализация на ООП-языках – кал В android и kotlin есть корутины и Flow которые делают тоже самое, но лучше. Вопрос не в том что неплохая или плохая, а в том что оно нужно только для собеседований.
>>2781385 Обязательно дешевый кал от шлаоми или сасунга. Если возьмешь йобу типа пукселя, то в жизни не узнаешь о "радостях" жизни, с которым сталкиваются твои юзеры, начиная от неработающего апи и рандомными крашами, заканчивая проблемами с перформансом, которые на йобе не видны.
>>2781501 >свежий год выпуска и свежесть андрюши на телефоне? >>2781545 причина? >>2781567 сам думал о этом варианте вот только этого говна столько что хз что выбрать и по какому критерию кроме цены
Есть идея написать приложение, которое будет информировать пользователя о экстренной ситуации на внешнем сервисе. Идея такая: внешний сервис понимает, что наступил пиздец и надо поставить ответственных пользователей на уши. В текущей реализации - это смс рассылка и сообщения в телегу. Проблема в том, что нужно сделать так, чтобы пользователь обязательно отреагировал. Некоторые недостаточно ответственные пользователи отключают уведомления, переводят смартфон в беззвучный режим и как следствие прекрасно спят по ночам. Есть мнение, что можно написать приложение на андроиде, которое бы держало связь с сервером, периодически (раз в 15 минут, например) отмечалось на сервере, что пользователь готов получить информацию о том, что пиздец наступил, при получении такого сигнала от сервера, немедленно поднимало бы тревогу максимально громким звуком и вибрацией, игнорируя беззвучный режим, при отсутствии интернета умело бы реагировать на смс с информацией о пиздеце, и доставало бы пользователя, пока тот не отметит в приложении, что он уведомлен и информация об этом не ушла бы обратно на сервер.
Вопросы:
1. Это вообще реализуемо в каком-то виде на платформе андроид? 2. Насколько надёжны каналы доставки пуш уведомлений? 3. Насколько надёжно можно защитить приложение от закрытия (перевода в неактивное состояние) в фоновом режиме?
>>2780018 >>2780287 >>2780433 >>2780599 А что скажете по поводу обычного ноутбука на винде/линуксе, с CPU уровня i7/ryzen 7 и ОЗУ 64 гб? Так-то раза в два дешевле мака выходит
>>2781960 > 1. Это вообще реализуемо в каком-то виде на платформе андроид? Зависит.
Если это девайсы компании, тогда можно будет поставить админ сервис, который нельзя никак убить и может делать всякие вещи типа запрета на отключение уведомлений наверное. В теории можно вообще все сделать тогда что ты хочешь, но я не ебу за то что именно там можно разрешать/запрещать. https://www.techyourchance.com/android-kiosk-apps-and-in-house-mdms-using-device-owner/ Статья про киоск мод, но про девайс админ мод валидно.
Если девайсы не компании, тогда сложнее, ибо нахуй не всралось им ставить твой анальный зонд, который будет мозги ебать когда не надо. И если это не админ мод, то сразу все косяки всплывают типа > Некоторые недостаточно ответственные пользователи отключают уведомления, переводят смартфон в беззвучный режим и как следствие прекрасно спят по ночам
> 2. Насколько надёжны каналы доставки пуш уведомлений? +- ок если у тебя приложение висит в фоне и пуш высокоприоритетный
> 3. Насколько надёжно можно защитить приложение от закрытия (перевода в неактивное состояние) в фоновом режиме? Ток в девайс админ моде. В остальных случаях юзер всегда может закрыть прилу через force stop.
>Статья про киоск мод, но про девайс админ мод валидно.
Годно, спасибо.
>ибо нахуй не всралось им ставить твой анальный зонд
Не хочет ставить анальный зонд, пусть тогда сам думает, как не пропускать уведомления. Я говорю о ситуации, когда произошёл факап и пользователь говорит, что он добросовестно ждал уведомления, но телефон стоял на вибре, а он так крепко спал, что ничего не слышал. Анальный зонд ставил? Нет? Ну и мудак. Тут нет задачи унизить пользователя, тут скорее задача дать пользователю возможность максимально надёжно и быстро получить уведомление. В случае с телегой и смс у меня нет возможности узнать, что пользователь в оффлайне, пока я им не пошлю сообщение и утром не спрошу его читал он его или нет. Желаемый сценарий скорее такой: Иванов, Петров и Сидоров ставят себе анальные зонды. У Иванова закончилось место на телефоне и анальный зонд крашнулся - пишем ему в телеге, ты в оффлайне, перезагрузи приложение. Иванов, Петров и Сидоров в оффлайне одновременно - пишем их руководителю, что он пидарас. Наступил факап: рассылаем уведомление на анальные зонды Иванова, Петрова и Сидорова, если доставлено, то ждём 30 секунд, пока они отметятся, что приняли в работу, если никто не отреагировал или доставить не удалось - включаем уведомление на анальный зонд их начальника.
>остальных случаях юзер всегда может закрыть прилу через force stop.
Защита нужна больше от краша и от фокусов операционной системы.
Похоже, без понимания нативной части ловить тут нечего. Мой расчет был в том, что Kotlin/Java близки к C#, моему основному языку - как-нибудь, да разберусь. Но нет, нужно знать внутрянку андроида. При том что на Flutter-то получается писать только влет ну его нахуй этот флаттер, пока скролл не пофиксят. На гитхабе люди как-то фиксят, но я даже с gtp4 не понимаю, куда и как это приложить.
>>2784484 >Большое спасибо за развернутый ответ, я с тех пор неспешно ковыряю RN. Не за что, рад что тебя заинтересовало!
>когда нативный компонент на android не отображается, если ему не присвоить высоту через стили Нет, мои модули подчиняются тем же правилам отрисовки, что и обычные RN-вьюхи
Это твой самописный модуль? По идее RN должен ресайзить твою вьюху (отданную в методе createViewInstance) сам, без твоего участия.
На всякий случай, вот как я создаю view-пакеты обычно:
Module - тут будут методы твоего модуля ViewManager - тут будет инстансироваться твоя кастомная вьюха (метод createViewInstance) Package - это основная входная точка твоего кастомного RN-модуля - он объединяет в себе Module и ViewManager (методы createNativeModules и createViewManagers)
Для создания своих кастомных модулей можешь использовать этот скрипт: https://reactnative.dev/docs/native-modules-setup - оно позволяет получить какой-никакой шаблон либы для дальнейшей работы с ним
>Похоже, без понимания нативной части ловить тут нечего Ты можешь начать с чего-то простого (RTNTextCentered вряд ли будет простым - скорее всего комьюнити там уже ого-го сколько всего навернуло) Но в целом да - создать высокопроизводительный скроллящийся список без знаний нативных платформ сходу не получится - нужно немного попердолиться
>>2784877 Ты погоди, там еще с эмулятором возможно поебаться придётся, чтобы он заработал. Версий я того рот ебал сколько этой Студио, развели зоопарк ебаный
Сап, андроидач. Работают на крупном проекте ведущим разрабом. Пруфы не будет, я же себе не враг. Чтобы вы понимали масштабы, наше приложение примерно на каждом десятом смартфоне в этой стране. Недавно нашёл багу в процессах релиза, можно небольшое количество кода вылить в прод в обход кодревью. Буквально пару строчек, больше будет палевно. Реквестирую как за пару строчек сделать бекдор, чтобы потом на его базе собрать ботинки или что-то такое. Можно даже не за один раз, а на протяжении пары месяцев набирать объём кода. Главное по чуть-чуть и без палева, как-то его замаскировать под текущие задачи.
>>2789701 Нахуя? 1. Если есть патриотические чувства, то это по сути предательство 2. Если чувств нет, то это статья УК РФ + ИБ могут запалить. Ты многих процессов не видишь, но они есть, в том числе аудит безопасников, на котором вы с подливой обосретесь если будет такая хуйня
Имхо если рассматривать для заработка, то варик говно
>>2790104 Это как спорт. Я даже может не буду эксплуатировать уязвимость или даже не буду коммитить. Мне просто хочется придумать такой незаметный бекдор.
В этом мире просто нет ни одного современного лаунчера на андроид, который бы имел нужные мне возможности. Я уже думаю вкатиться в java и самому блять сделать его или форкануть какой нибудь и добавить нужных функций
>>2790275 Бродкаст ресиверу поставь exported=true и вот тебе бэкдор, в который можно что угодно отсылать. А так на последних версиях сложно сделать что-то адекватное вне контейнера приложения
>>2791835 Нова из самых адекватных. Я сам немного в шоке с того, что променял бы любой лаунчер андроида на айосовский чисто из-за того, насколько он стабильно работает (кроме режима редактирования)
>>2792713 Ну для васянских поделок на коленке ок. Крупняк такой шизой заниматься не будет, щас бы обмазываться совместимостью всего фронтовского тулинга с котлином и компоузом. Да и компоуз все равно будет проигрывать по возможностям html/css, ибо там ебануться сколько всего можно наворотить. Тоже самое с иос, очередной флаттер 2.0 с собственным рендерингом от которого все будут плеваться. Но для быстрых дешевых поделок ок. Но тогда можно и флаттером обойтись, у него экосистема то пошире будет раз в 10 за столько лет то.
>>2792713 Во многих языках возникает идея писать и фронт, и бек не переключая IDE, но кроме F# (Fable) я не видел, чтобы люди этим пользовались в продакшене.
Вот читаю я книжку по вашему андроиду и тут мне предлагается использовать всякие встроенные штуки, такие как ViewModel и ViewBinding, делегат viewModels() и прочие штучки из Jetpack. Нужно ли пытаться сделать это всё своими руками или забить?
>>2795051 Когда говорят, что айти перегрето, то первым делом грешат на веб и мобилки мимопроходил, сам бекенды пилю, хуй его знает, отклики не делаю, если уж завлекли, то на собес приду
Учу вашу хуйню по Big Ranch Nerd Guide В 12 главе нужно было работать с Room и чтобы загрузить тестовую бд, нужно было вызвать Room.databaseBuilder(...).createFromAssert(...).build() Я целый час пытался запустить это ебаное приложение, оно то не отображало содержимое базы, то просто включалось сразу после запуска. В logcat ничего не было, не было никаких ошибок компиляции. Потом я случайно убрал createFromAssert и всё заработало как надо.
Объясните, как я должен был до этого дойти нормальным образом?
>>2796704 Достаточно просто здесь. Если не работает код, который ты написал, то надо посмотреть, что конкретно не работает.
Концепт "не отображало содержимое базы" - это оч классно. Какая была ошибка? Что было с инстансом бд? Были там таймауты или просто пустые ответы? Если ты закидывал ассет, то почему он не прочитался? Читался ли он вообще? Не было ли ошибок в схеме?
Достаточно простые вопросы, решив которые, ты можешь решить любую проблему. И это еще ты не дошел до мест, где реально хуй знает, как это должно работать не потому что кода недостаточно, а потому что внутренний апи хуевый, работает неправильно на разных устройствах, баги системы, либы гугла хуевые и прочее. Такие места касаются работы с аудио, видео, блютузом, камерой и еще пары мест, но 90% разработчиков никогда не прикоснутся к этим местам.
> то просто включалось сразу после запуска Я так понимаю, вЫключалось. Если есть краш, то есть лог. Он есть всегда. Убирай фильтры и ищи ручками.
>>2796893 Можешь предложить что-то лучше? Мне пока вроде всё понятно, кроме того, зачем тут нужен viewLifecycleOwner, и кажется это нигде не объясняется.
Блять, жопа горит. Каждая первая компания говорит, что у них юзают xml и фрагменты, эту залупу с id и гемором в виде жизненных циклов. Почему только ебаный андроид все еще не докатился до декларативной верстки? Ios, фронт, флаттер, react native, все уже кайфуют давно, и только на ебаном андроиде, инвалидном, где итак дохуя всего надо знать, эта параша xml с фрагментами. Я уже думаю сменить направление, эта параша не развивается никуда, вакансий 0 нахуй в россиюшке
>>2797386 Чтобы при закрытии фрагмента джоба отменилась >>2799197 Вакансий с компоузом куча. Хочешь писать декларативно - пиши с классическим View, проблем нет. Проблема в том, что и View говно, и Compose говно. К тому же, Compose еще и нестабильное говно
>>2799197 >Почему только ебаный андроид все еще не докатился до декларативной верстки? XML это самая декларативная вёрстка из возможных >гемором в виде жизненных циклов Нихуя себе, жизненные циклы на андроиде? Не может быть, у нас же миллион фреймоворков без жизненных циклов на android >все уже кайфуют давно Да, кайфуют жесточайше >Я уже думаю сменить направление, эта параша не развивается никуда, вакансий 0 нахуй в россиюшке Иди меняй, попрыгунчик
>>2799309 Погодь, он еще не обосрался от кривого жизненного цикла компоузабл функций, где взяли уже существующий и наебашили еще 3 слоя. (про краши только в проде тоже не говори ему)
>>2799432 Java говно ебаное, нечитаемое, которое занимает овердрхуя строк кода. Котлин позволяет быстро и удобно писать, а на кол-во строк в байткоде тебе насрать. Kotlin не может быть хуже джавы, т.к. котлин - это набор сокращений для джавы. Kotlin безопаснее джавы за счет null safety. Оправдывайся.
>>2799197 Вот этого двачую. Немного попилил сайти для жены на реакте - господи как же пиздато не инстансировать вьюху на каждый пук, а просто открыть тег
>>2799526 Фига, игру делать без юнити? Слушай, а там работа случайно не связана с веб вью? Такое чувство, что это тема про создание игр-заглушек, чтоб плей маркет одобрял приложение, а после одобрения, вместо игры будет открываться web view со ссылкой из firebase, а ссылка ведет на сайт со ставками, таким образом приложение со ставками посидит в маркете какое-то время, как реклама.
>>2799541 Да, 99%, что это скам плей маркета. Ты делаешь заглушку, после одобрения ссылка на firebase перестает быть пустой, вставляют ссылку на запрещенные в плей маркете ставки, тем самым привлекая трафик для ставкоблядей или казиноблядей. Сам делал пару приложений, по 2к платили за штуку. Работа однотипная, т.к. от тебя будет требоваться вот такие одноразовые игры-заглушки делать, чисто чтоб в плей маркете одобрили и загрузили. Денег будут давать, но опыта в такой хуйне не наберешься, там и арзитектура не нужна, и понимание системы. Тупа клипаешь мини игры-заглушки, или викторины. Мб это нарушает какой-то закон о ставках, хз. Если еадо денег, можешь согласится, но опыта в этой хуйне ты не получишь 100%
>>2799486 >Java говно ебаное, нечитаемое, которое занимает овердрхуя строк кода. Cмотря для чего, если ты посмотришь на решение алгоритмических задачек, то на джаве намного компактнее чем на котлине
>>2799551 Не аргумент, сахар нужен, с ним лучше >>2799568 Это твой единственный аргумент? Умрет прям завтра, проверяй. Даже с companion object, код на котлине занимает меньше места, за счет всего остального синтаксиса. >>2799612 Мб производительнее чутка для алгоритмов, т.к. котлин итератор будет юзать для некоторых циклов, но по синтаксису котлин короче всегда, алгоритмы можно сокращать extension-ами всякими в одну строку, и прочими вкусными штуками
Андроид-соя просто рьяно кинулась на кость, кинутую сверху чтобы завлечь новых гребцов на свою говноплатформу, думая что кому-то не похуй на то, что творится в недрах андроид-гребли
А по факту то 99% JAVA-разрабов про котлин то и не слыхали
>>2799242 > Чтобы при закрытии фрагмента джоба отменилась Всё, я понял. Просто в книге было написано, что есть некий viewLifecycleScope (ну либо я просто жопой читаю) и я сидел думал, зачем же писать viewLifecycleOwner.lifecycleScope.launch {...}, если можно написать просто viewLifecycleScope.launch {...}, а оказывается никакого скоупа под названием viewLifecycleScope нет...
>>2799827 Потому-что джависты (вне андроида) исключительно поддерживают легаси? Ну типа на JVM уже лет десять нет новых проектов, года с 2015-17 если jvm и берут то используют скалу/котлин. мимошел
>>2799197 потому что в нормальных компаниях новые блоки пилятся на компоузе, но все приложение написано на xml и его ты должен знать и уметь поддерживать
>>2799332 какие нахуй 3 слоя? какой нахуй кривой жц? меняется стейт - вызывается рекомпозиция всех зависящих от стейта функций и их вложений. что тебе не так, мань?
>>2799654 Прочти название треда, додик >>2799664 Скорость компиляции почти такая же, на размер всем срать >>2799809 Иди нахуй >>2799650 Только долбоеб будет новый андроид проект на джаве начинать >>2799827 Похуй на джава разрабов, главное, что андроид разрабы в курсе
>>2799936 порядок жизненного цикла вспомни. выполняется ли рекомпозиция после onStop-onStart? Сработают ли LaunchedEffect'ы и сайдэффекты жизненного цикла при детаче фрагмента с Compose версткой? Ты вообще понимаешь, насколько на самом деле там сложный жизненный цикл получается в нескольких кейсах?
>>2800033 Это для тех, кто раньше на джаве писал приложухи. Тред гейдева в другом месте. Что - то в вакансиях я не встречал стэк на плюсах для андроид разработки, везде котлин и джаву(для поддержки легаси) пишут
>>2800118 Тогда я пошел плюсы учить, оказывается котлин не нужен. Дураки какие-то сказали, что под андроид джаву и котлин юзают, ввели меня в заблуждение
Чего порвались то от котлина? Как гуглобарин сказал, так и будем писать, либо ты в лодке, либо нет. Есть конечно до сих пор упоротые, которые на жабе проекты андроид допиливают, но они теряют возможности новых технологий. >большинство приложений todo листы с чего то же надо начинать, хорошая практика впринципе >xamarin, react, flutter нинужны
>>2800444 >проекты андроид Бля, какие там проекты то кроме гуидятиты? >Чего порвались то от котлина? зачем учить очередной не нужный язык? С Явой ты много куда можешь вкатиться, а с Котлином только на хуй
>>2800445 все представили ебало этого клоуна, который считает, что важен язык, а не инструменты?
чел, какая нахуя разница, есть у меня public void test или fun test? Типы те же, структуры почти те же, синтаксис в 90% тот же. В срезе андроида вообще поебать, не от этого жопа горит, а от хуевых либ гугла (типа paging, media и прочие залупы)
>>2800456 > что важен язык, а не инструменты Конечно, я не собираюсь ни Дарт ни Котлин ни Го учить, только потому что кому то захотелось сахарка. >синтаксис в 90% тот же Тем более, на хуй Котлин не нужен
>>2800462 то есть, в остальных 10% случаях будем все вместе хуй посасывать и в 10 раз описывать equals, да? И вместе корутин треды юзать и вручную их контролировать? Не забываем про копию через конструктор в джаве не неси хуйню плз
>>2800470 > 10 раз описывать equals IDE сама генерит их одной кнопкой + есть ломбок/автовалью если даже это делать впадлу
> корутин Exception handling передает привет + местами максимально странные и неочевидные апи.
> Не забываем про копию через конструктор в джаве БТВ упор на иммутабельность это чисто котлиношиза. Давно замечаю за собой и другими людьми ее использование, когда достаточно сделать что-то мутабельным, а не копировать списки по 10 раз при изменениях/доабвлениях элементов. Возможно то что дефолтный кодстаил неприятно подчеркивает var'ы тоже играет роль.
Аноны, никогда ничего не делал под андроид, но сейчас захотелось сделать небольшие приложения для себя. Будет ли флаттера и дарта достаточно чтобы запилить приложения уровня трекера/заметочника/задачника?
>>2801632 > но сейчас захотелось сделать небольшие приложения для себя Трекеров, заметочников и задачников полно, их каждый ньюфаг делает. Зачем делать это на флаттере и дарте, это же не будет каким-то испытанием.
>>2801672 С чего-то начинать надо, а тут уже есть конкретные потребности. Хоть приложений и полно, но в каждом бывает чего-то не хватает. А так у меня будет возможность дописывать для себя функционал
>>2801875 Compose Multiplatform трогал. Перенес пару компонентов с андроида на веб+десктоп+андроид. Пока не вижу реальной причины писать на этом проект. На флаттере тоже при наличии React PWA.
>>2799666 ты конечно трипл, но не прав. эквивалентность требуется в разы чаще, чем сравнение ссылок. поэтому в котлине, для людей, сделана эквивалентность через ==. а если уж нужно сравнить ссылку, то добавь еще один лишний символ
>>2800053 в кейсах, которые не предназначены для использования? зачем тебе рекомпозиция после срабатывания онстопа? зачем ты сайд эффекты делаешь с привязкой к жц фрагмента, если компоуз призван убрать фрагменты как сущность? тут просто нет поддержки всего легаси гамна, как в джаве, для плавного перехода
>>2802054 > зачем ты сайд эффекты делаешь с привязкой к жц фрагмента, если компоуз призван убрать фрагменты как сущность Если делать вид, что настоящих проектов не существует и все создают новый проект как только гугл выпускает новую свистоперделку - то ок, согласен
> зачем тебе рекомпозиция после срабатывания онстопа Оптимизация
MVI на андроиде представляет из себя все тот же MVVM, но с одним классом-состоянием. Вместо кучи мест, где у тебя лежат данные, когда есть проблемы с их синхронизацией (показывать данные только если у юзера не проставлен флаг, например), у тебя есть один data class State(), где описываются все данные. Так их намного легче синхронизировать.
>>2807846 Вот с работой ты прав походу, анон. Я изучал XML сначала. Потом прикоснулся к Compose и пиздец. Он мне понравился, курса на нём прохожу и сам че то пытаюсь высирать. А меня тут уже пару раз обоссывали и говорили что с компоузом работа есть, но для джуна онли XML
>>2807527 3 года стажа на хмл. сейчас пилю первую фичу на компоузе. плююсь и матерюсь каждые пол часа. но вероятнее всего, когда разберусь и привыкну, будет удобнее и быстрее на компоузе. но пока не привык - боль ебаная
>>2811472 Жаль, что не все поймут, почему все приложения должны быть переписаны на из xml компоуз)) Это действительно тонко. Так мало в наше время людей интересующихся UDF и функциональным программированием))
Если в исходном коде захардкожен апи ключ ну или какой другой секрет, то из .apk или из приложения установленного из этого .apk его можно как-нибуть выудить?
подскажите - на пикриле есть какие нибудь ошибки? мобильное приложение. кароч при регистрации есть три поля - логин\имя\фамилия, при автозаполнении одного из этих полей заполняются все три
>>2678699 (OP) Поясните за позицию на экране, вроде как координаты элемента на каких то устройствах могут быть не целочисленные, типа субпиксельное расстояние или как то так, где то попадалась инфа но потерялась. Дайте пожалуйста ссылку если кто знает.
>>2814952 >Ты можешь проставить эти параметры в любом ViewGroup Я правильно понял, что если мне нужны три кнопки по абсолютным позициям на экране, то мне каждую кнопку нужно запихать в отдельный лейаут и потом уже эти лейауты разместить по координатам?
>>2815011 Не, ты эти кнопки можешь в один Relative пихнуть, указать им align и отступы. Принцип "абсолютные позиции на экране" мне не понятен. Учти, что экраны могут быть разные
>>2815262 Ну вот в Винде есть окно, что бы разместить кнопку я задаю координаты X и Y и она помещается по этим координатам относительно родительского окна, в Андроиде как я понял оконного режима нет и вью занимает весь экран, поэтому координаты совпадают с экранным, но я скорее выше не точно выразился. Нужно так же как в Винде, разместить программно несколько кнопок (и дополнительных виджетов) по заданным координатам X и Y относительно родительского главного представления/вью. Разные экраны и повороты будут учитываться програмно.
>>2812400 Не мобильщик, так, играюсь, но фп для ui это охуенно >>2816408 И так буквально все для мобилок. Да, это легко пофиксить, найдя ветку на stackoverflow, но осадочек остаётся. Я не знаю, как там у айосников, но вряд ли они на пустом месте костерили бы xcode. Единственное, что просто работало после установки это флаттер, но он кал (инпутлаг, который фиксить не собираются)
>>2816408 Тут же написано в чём обсёр у тебя. Версию gradle поменяй.
мимо сижу на Electric eel от 27.02.23 с Gradle 7.4.2 и ебал обноаляться из-за частых багов в новых версиях. Может у Айосо-богов Студия не такая всрато-багованная
>>2816548 >Версию gradle поменяй Да не, проблема была совсем в другом - в том что по умолчанию использовалась не JAVA поставляемая с Android Studio, а какая-то другая. Нахуя - хуй его знает. Почему они по умолчанию не берут джаву из Android Studio - загадка века нахуй
Увидел пост в котором писалось, дескать не рекомендуется вкатываться в мобильную разработку, ибо сторы блокирует и в дальнейшем есть шанс соснуть. Так ли это? У меня выбор не велик: либо бэк, либо мобилки. Поэтому хуй знает.
>>2823854 Лол, я как раз в тред насчет этого пришел поныть.
Начитался историй про то, как гугловые боты блокируют аккаунты по непонятным причинам без возможности реабилитироваться. Вот теперь сижу и думаю, может обратно в бэк съебать, хоть там и не так комфортно работалось. Может зря парюсь, тк свои приложения публиковать не планирую, а работаю на дядю?
>>2823854 Лол, я как раз в тред насчет этого пришел поныть.
Начитался историй про то, как гугловые боты блокируют аккаунты по непонятным причинам без возможности реабилитироваться. Вот теперь сижу и думаю, может обратно в бэк съебать, хоть там и не так комфортно работалось. Может зря парюсь, тк свои приложения публиковать не планирую, а работаю на дядю?
>>2825157 Прикол плей маркета в том, что тебя могут скачать со всего мира, в том числе с платежеспособных стран с богатым населением Если продукт для РФ, то, возможно, сойдёт. Хотя я лично рустор не ставил и не собираюсь - сбер с сайта можно скачать, а остальное все в маркете есть
Посоны, нужно написать приложу для андроид, чтобы был GUI + авторизация по OAuth и простой клиентский CRUD.
1. Как долго в это вкатываться и насколько это сложно? Достаточно будет какой-нить курс посмотреть, чтобы по быстрому запилить? 2. Что вообще нужно знать помимо основного языка (java или котлин)? Какие фреймворки или библиотеки? 3. И как там GUI пишется? Просто элементы из ide перетаскиваются и события назначаются на кнопки или можно html5 + css + js или вообще bootstrap5 накатить - или это еще сложнее будет и лучше использовать стандартное все? 4. И на какую бесплатную IDE ставить, и чем компилить в apk?
>>2826348 Если ты знаком с js и прочей вебнёй, то на реакте быстрее сделаешь.
>1. Как долго в это вкатываться и насколько это сложно? Достаточно будет какой-нить курс посмотреть, чтобы по быстрому запилить? Все курсы говно, придётся курить документацию, статьи и видео
>2. Что вообще нужно знать помимо основного языка (java или котлин)? Какие фреймворки или библиотеки? Можешь на джаве, если потребность одноразовая, библиотеки там андроидовские, жидбреиновские и джавовские
>3. И как там GUI пишется? Гуй надо через XML писать, потом в классах фрагментов и активити "раздувать". Есть ещё декларативный компоуз, там нужно много в котлине понимать >4. И на какую бесплатную IDE ставить, и чем компилить в apk? google's android studio
>>2826357 Им впадлу ебать вьюшки, нужно компоуз пушить.
Я больше всего ору с того, что там даже на иос реализация материал 2 либы была более полная и обновлялась быстрее чем на андроид. Про флатер вообще молчу, это топ приоритет у них нах.
да как сука загрузить апк файл в рустор? сначала блять пишет "Идёт загрузка" да. а потом нахуй он ложится и показывает мне экран мол "что-то пошло не так, попробуйте обновить страницу".
что-то пошло не так блять, ага - смотрю в логи и вижу пикрил. че мне делать андройдач?
Уважаемый анон, подскажи, как дебажить андроид чтобы посмотреть логи запускающихся приложений при запуске устройства?
Ситуация такая - телефон запускается, но уходит в рекавери спустя 30 секунд. В прошлый раз такое было потому что безмозглый биомусор из убогой компании озон высрали обновление которое каким-то хуем умудрялось ломать устройство. Я думаю в этот раз какие-то уебки сделали тоже самое, но какое именно приложение я не знаю, и хочу узнать порядок их инициализации в логах
>>2832916 Проверь, заблокирован ли бутлоадер. Если заблокирован, можешь не беспокоиться. Если нет и стоит кастомный, то, если ты прям шиз параноик, то можешь перепоставить чистый. Только осторожно, можно получить кирпич.
Я бы на твоём месте лучше беспокоился о том, что какой-нибудь аккаунт гугл или ксяоми предыдущего владельца останется на телефоне и ты там нихуя сделать не сможешь.
>>2832917 Нужно пересечь границу, а там службисты телефоны уносят и делают с ними неизвестно что. Вот и хотелось бы после этого снести все наверняка и не беспокоиться больше. Спасибо за совет по бутлоадеру
>>2678699 (OP) Сап. Волею судьбы потребовалось залезть в проект андроид приложения на котлине. Там объекты одного класса помещаются в объект другого класса в некий MutableSlateFlow. Начал гуглить что это такое, что такое StateFlow и пока не очень понял. Можете простыми словами объяснить что это и камерно работает?
>>2833475 Есть обычный Flow - это холодный поток данных, который эмитит данные только когда ты его коллектишь Есть SharedFlow - горячий поток данных, который эмитит данные в том числе когда никто его не коллектит. У него есть параметр replayCache, который задает сколько последних значений будет будет отправлено новоподписавшемуся коллектору, extraBufferCapacity, также параметр для задания стратегии при переполнении буффера. Есть StateFlow - SharedFlow с replayCache = 1, onBufferOverflow = BufferOverflow.DROP_OLDEST, c заэмиченным при создании начальным значением и вызванным на нем операторе distinct, а также с пропертёй из которой можно взять последнее состояние без suspend и блокирования
Анон нужно сделать приложение одному знакомому, просит совета, хз куда писать, поэтому пишу сюда, сам я ни бум бум в этом. Где ему найти исполнителей? Обращался он на fl так там говорит дичь какая то с ценами кто во что горазд и за 50к предлагают и за лям. Выбрал одних - обосрались, нихера не сделали, выбрал других - та же картина. Истории там разные и по своему ебанутые. Уже не знает что делать. Что посоветуешь? Где обитают адекватные люди. Если не туда написал, направь куда нужно.
>>2835232 На дваче поищи, тут есть на любой кошелек исполнители fl ru пахнет калом зарегистрировался там пару лет назад и охуел от петровичей, которые хотят за 50к фулл бекенд и чтобы красиво, в то время как западный барин заплатил бы куда больше и без ебанутых требований, почему хотя бы не на Хабре? Апворк, понятно, сейчас не доступен
>>2836288 Спасибо, но он ищет более опытных, но если ему потом кто-то понадобится, отпишу. >>2836297 Да хз почему, видимо где-то прочитал, что толковая площадка. Что касается заказчиков шизов, по его рассказам там и исполнители ебнутые тоже. >>2836437 А как, тупо в гугле вбить?
Вот например с его слов: на FL была одна из фирм которая откликнулась, солидная с сайтами да портволями, девочка на телефоне. После разговора она такая: тырым-пырым по вашему тз будет столько то часов и согласно таксе - 700к+, друг говорит - бюджет максимум 500, она - тогда пока. Звонок через 2 дня - поговорили и можем выполнить за 500 укладываемся, плюс какая то скидка и итоги 450. Друган в ахуе, с одного разговора скосил под 300к чуть ли не половину. Даже на базаре такого нет.
Если интересно какой треш творится с фрилансерами. Минимальная сумма за которую готовы были сделать 8 000 рублей. Максимальная 1 200 000 рублей. В среднем 300. Что там за 8000 готовы сделать хз (было и 10 и 15 и тд) Помню он тогда дико охуевал и говорил, что в его сфере он бы давно по миру пошёл с таким ценообразованием.
>>2837965 На фриланс идут работать те джуны, которых в штат не взяли, отсюда и проблемы с определением стоимости работы, вполне может быть что та девочка из фирмы на телефоне это сестра брата фрилансера джуна, который в душе не ебёт сколько твоё приложение делать по времени и сколько это может стоить, пусть гуглит фирмы в своём городе и ножками туда идёт
Господа, пытаюсь разобраться в разделении проекта на фичемодули, можете подсказать две вещи: 1) План по разбивке и связям я верно представил? 2) Как с DI дела делать? Если что, использую Koin
>>2850130 >Как у тебя фичи в вакууме без доступа к домену? Доступ к домену через апп, как и между дата-слоем и доменом >Какой нах домен ретрофита и домен рума? Ну я условно их назвал так, имеется в виду, что в одном домене юзкейсы и етк, связанные с апи, в другом - связанные с бд, и так далее. Ибо в разных фичах будут юзать одни и те же юзкейсы, по типу получить ссылку на картинку по АПИ или сохранить эту ссылку в БД
>>2850201 Не может быть юзкейса "Прочитать файл". Может быть юзкейс "Прочитать таблицы". Domain слой этих историй надо удалять. Навигация тоже знает о фичах. Фичи знают о дата-модулях.
>>2850511 >Не может быть юзкейса "Прочитать файл". Может быть юзкейс "Прочитать таблицы" Это просто названия >Domain слой этих историй надо удалять. Навигация тоже знает о фичах. Фичи знают о дата-модулях. Я такой способ, в который пытаюсь, увидел у этого хохла: https://www.youtube.com/watch?v=JrraiKF-7XA . Ну и в нескольких статьях разных. Суть в том, чтобы модули были связанны только через app, а не друг с другом. И что не так с такой разбивкой домейна? Если запихнуть его в фичи, то будет излишнее повторение кода, а если сделать его целым - но разным фичам не нужны сразу все источники данных
>>2850766 Ладно, я разобрался, то, что накалякал хуйню. Пришел к выводу: 1) Бизнес-логика и презентор в одном фиче-модуле, дата слой в другом, все склеивается в главмодуле. Ебка со склеиванием, но зато дата слой отдельно и остальные отдельно 2) Бизнес-логика, презентор и дата в своих модулях, но ебка со связями 3) Просто разделение по фиче модулям, в каждом презентор, свой домейн и дата Что корректнее, или, как понимаю, все зависит от приложения?
Три есть фичи, внутри фич есть несколько экранов, переход с одной фичи на другую через BottomBar. И вот вопрос - навигация между модулями точно в отдельном модуле, но вот навигацию внутри одной фичи стоит выносить в этот модуль, или оставить в фиче? Так-то фичи изолированы, и с их экранов на другую фичу не перейти
Сссука, ебанутый гугл плей. Оказалось наши обновили страничку политик конфиденциальности. Гугл прислал предупреждение, мол, атата сделаем. Прописал актуальную политику в консоли, через полчаса одобрили. Но блядское предупреждение в обзоре публикации осталось висеть. И как это понимать? Я исправил или нет? Надо еще что-то сделать? Сука, надо было в бэкенде оставаться, бесит эта неопределенность и перспектива вечного бана в гугле. Нахуя я сюда полез? Лучше уж падающий прод по ночам чем это
Нужна помощь по Android Studio, и вообще видимо по продуктам IDEA, сколько не ищу - никак не могу найти можно ли вообще сделать что я хочу.
Допустим у меня есть master ветка и я хочу поработать с фичей, создаю feature. Сделал много изменений, успешно работаю, потому что редактор заботливо подчеркивает мне все изменения, все новые строки кода, короче показывает diff.
Я что-то сделал и закоммитил. Но потом понятное дело diff больше показывать не будет, только новые изменения от текущего коммита. Но КАК БЛЯТЬ заставить редактор показывать мне diff теперь между текущей работой и базовой master веткой? Не в отдельном окне Compare, а непосредственно в редакторе кода. Неужели я слишком дохера прошу?
Короче, сделать как-то это изменения not staged можно на время?
>>2678699 (OP) Внимание вопрос- какие плюсы и какие минусы для вката в этот ваш котлин. И подскажите, пожалуйста, на каком еще языке можно писать на ведро? Спасибо.
>>2855835 Не понял, зачем тебе это Обычно как происходит: 1. Пишешь в своей ветке 2. Периодически мерджишь мастер в свою ветку, чтобы совсем не отстать 3. Перед пулл реквестом (запрос на мердж твоей ветки в мастер) ещё разок сливаешь мастер к себе 4. Создаёшь пулл реквест, видна вся разница между твоей и мастер-веткой
Аноны, выручайте. Шальное приглашение на собес прилетело, работа на бизнес кабанчика, не в it компании, BtC. Позиционирую себя как джуна, спросили лишь ожидание по зп перед собесом. У меня есть несколько дней подготовиться, так вот как именно мне готовиться? Покидайте, пожалуйста материал, который поможет пройти успешно кабанчиком. Можете прям тут вопросы джуновские/мидловские позадавать, я отвечать буду.
Аноны, прошу совета мудрого. Я сам не разработчик, тестер. В качестве хобби пытаюсь сделать свою мобильную игру в формате текстового квеста. Текст оформляю в виде книги, хочу сделать книжное выравнивание по ширине страницы. Почитал, что эта штука не поддерживается на старых версиях андроид, советуют использовать стороннюю библиотеку JustifiedTextView. Использую её, для текста в дизайне страницы пишу android:justificationMode="inter_word". Проблема заключается в том, что когда активити с текстом запускается в первый раз, текст не выравнивается по ширине, но если выйти с нее и зайти снова, то уже работает как надо. Может кто сталкивался? В интернете инфы не нашёл, очень уж страное поведение.
Запилил патч, в котором в манифесте прописал пермишн на нотификации. Больше нихуя не добавлял, кроме повышения версии.
Залил в маркет, все норм. На выходе на двух сяоми с 13м андроидом не хочет обновляться (не удалось обновить, попробуйте позже), только снос приложения помог установить новую версию. На одном обновляли дев версию маркетовской, на втором маркетовскую маркетовской. На самсунге с 13 версией все норм обновилось, на старом сяоми тоже норм. На эмуляторе с гугл сервисами все норм.
Мобильщики поясните нахуй вы нужны щас? все нужные приложения уже давно сделаны, да я и не понимаю нахуй вообще у каждой гавноконторы своё приложение, зачем озону приложение если можно зайти через веб версию и сделать всё тоже самое? Просто какой в вас толк, я понимаю раньше был хайп по приложениям, но щас люди уже не хотят очередное гавно устанавливать себе на мобилу, которого там и так уже сотни
>>2864513 MLщики, поясните нахуй вы нужны щас? все нужные ML модели уже давно сделаны, да я и не понимаю нахуй вообще у каждой гавноконторы своя обученная модель, зачем озону AI бот, если можно зайти через chatgpt и сделать всё тоже самое? Просто какой в вас толк, я понимаю раньше был хайп по ИИ, но щас люди уже не хотят очередное гавно у себя запускать, которого там и так уже сотни
>>2864970 сейчас попытался поменять обратно на playfair_display_bold, на макете он меняется, а при запуске прилы - нет. Может быть просто библиотека не работает корректно с этим шрифтом именно, отсюда и все проблемы были?
>>2865037 Можешь сколько угодно рассказывать какой веб быстрый и срать своими скринами графика 60фпс и бенчмарками которые на андроиде в 2 раза хуже чем на иосе на Speedometer2, но любой пчел с наметанным глазом сразу замечает, когда нативная прила показывает вебвьюшку и начинает работать как кал говна
>>2872701 Хз, если хочешь столько получать, то можешь. Только учти, что это просто штампование однотипного говна, это не считается за реальный опыт, ты ничему не научишься в процессе. Останешься на том же уровне, что сейчас. Сам делал иногда, не на постоянной основе
>>2872701 Ну если тебе норм потом не светить этим в резюме и другую работу искать тем же вкатуном.
Сборка Telegram в android studio
Аноним11/10/23 Срд 12:18:04№2874392611
Добрый день, аноны! Хочу попробовать собрать telegram из исходников на собственной машине (xubuntu) для изменения некоторых элементов интерфейса. Опыта в программировании по сути нет — только чуть-чуть C и bash. Не могли бы подсказать какой-нибудь простой вариант как это можно реализовать. Гайды, которые я нашел в сети мне не помогли. Дошёл только до создания apk, которое не работает
Android studio устанавливал с сайта с помощью предложенного скрипта.
Как сделать подобную хуйню? Ну, то есть, чтобы после масштабирования картинка не обрезалась об границы вьюхи. Сколько ни пытаюсь сделать, ничего не получается, нагуглить тоже ничего не могу.
>>2874937 По-моему я нашёл решение — нужно повесить обработчик нажатий на ViewGroup, в котором хранится картинка и в нём вызывать setScaleX/setScaleY/setTranslationX/etc. Но выглядит это как-то уж очень костыльно.
>>2880602 Даа, на жабе всё просто и понятно) Жаль только, что даже примитивный код занимает весь экран, нет функциональности, null безопасности, extention-ов, а чтобы было хоть немного удобно, надо добавлять библиотеки типа Guava
>>2881111 >ет функциональности, null безопасности, extention-ов И не нужно, нахуй. А излишняя лаконичность вредит читабельности. Это всё равно как переменные называть dt, ds, cr
>>2881158 Ну хуй знает, дрочить строчки кода ради читаемости. Контекст-то не бесконечный, пока листаешь эти экраны кода, уже забываешь, что там было
Мне почему функциональные языки нравятся – бизнес логика короче получается. Где-то процентов на 30. Только работы на них нихуя нет в жаботлинах не шарю
>>2678699 (OP) Как в коине на компоузе переиспользовать вью-модель для компоуз-"фрагмента" (экрана то бишь)? Т.е. получается, если я просто вызываю koinViewModel(), то ожидаемо получаю новый инстанс. А как мне достать (и при необходимости дестройнуть) уже существующий, созданный, который еще не был убит системой?
А то пока сделал, что мейн-активити держит на себе вью-модели "фрагментов", но это какой-то костыль и говной воняет.
>>2882066 Что такое алгоритмы? что это практически значит? я ток в универе видел блок схемы типо начало алгоритмы - блок ввода данных - цикл - конец. Что я должен учить то там?
>>2882095 ну вообще я в них и сам не силен, но во первых есть внатуре конкретные алгоритмы под определенные задачи, а во вторых имеется ввиду решение задач на всяких литкодах, ведь из них и состоят алгоритмические собесы. Просто залетай на литкод и решай задачи, если прям совсем с нуля то смотри решение, пытайся вникнуть и повторяй на похожих. Так со времнем сам всё поймешь что надо будет для собеса (ну можешь и погуглить)
>>2882103 Проблема в решении задач в том, что я нихуя не понимаю что от меня хотят, решение может быть изичным типо написать один лист и вывести из него какое нить значение, но само задание написано так ебано, что хуй поймешь это, как фиксить?
>>2882137 Это тест IQ + тест на задротство. Нет смысла спрашивать только то, что ты будешь использовать на практике, т.к. нанимают не контрактника, которые отработал и забыл, а человека, который даже сменив профиль должен приносить велью компании, для этого он должен быть умным и готовым к задротству ради задротства
>>2882122 >big O нотация, time complexity, space complexity, linked list, binary search, prefix sum, hashmap, стек, очередь, bfs, dfs, inorder/postorder/preorder traversal'ы, сортировки (quicksort, mergesort), heap, 2 указателя, sliding window, деревья (BST, B-tree, красно-черные), жадные алгоритмы, динамическое программирование, trie (prefix tree), алгоритм бойера-мура, алгоритм кнута-морриса-пратта, и т.д. Всё это говно было в унике, ничего из этого говна не помню и вспоминать не хочу. Нахуй не нужно. Если такое на собесе спрашивают, то контора душная.
>>2882244 меня на прошлой неделе на собесе в офисе спрашивали алгосы какие то, я их не знаю, потому что я инженер по образованию, знакомый андроид синьор говорит что нинужно тоже
>>2882244 >Если такое на собесе спрашивают, то контора душная. Примеры "недушных" контор? Всякие Хуйсофт и ПиздаСолюшнс к айти и программированию строго говоря отношения не имеют. А только такие и не спрашивают алгосы
>>2882232 Нет, айсикью тоже роляет. Сама дрочка невозможна, если ты не видишь нужный паттерн в задаче. айсикью меньше 100, зп больше 300, сливаюсь на медиумах
>>2883351 Ну во-первых в крупных компаниях типа хуяндекса, хуйкоф, и прочих регулярно проводится набор, это открыто и известно. Во-вторых ты можешь просто взять список всех контор и по порядку написать им, что ищешь стажировку по такому-то направлению
Я не верю, что тут есть люди которые работают андроид разрабами, это физически невозможно всё выучить, там только в котлине функционала жопой жуй, книжку по андроиду открыл и у меня отвал жопы случился там 1к страниц всякой хуйни, а помимо этого же что то ещё там знать надо, сборщики какие нить, фреймворки, библиотеки, кто это всё может запомнить? НИКТО
>>2887058 Это могут освоить только it-студенты анальники, либо те, кто долго и упорно дрочит андроид по 6 часов в день после учёбы/работы чтобы вкатиться. Мне даже на бесплатную стажировку отказали, а на джуна в этом году даже не надеюсь устроиться. Но если я буду очень много заниматься андроидом и литкодом, то согласно плану смогу найти работу летом
>>2887058 > это физически невозможно всё выучить А это и не надо учить, просто +- помни че вообще есть, а как этим пользоваться похуй, остальное нагуглишь в процессе. Да и вообще, вся работа это скачать джейсон, распаристь и показать в списке, ума много не надо.
>>2887348 > а на джуна в этом году даже не надеюсь устроиться Потому что надо слушать волчью стаю. Набивать руку на написании прил, фейкать опыт и сразу идти на мидла. Устроится на джуна это в принципе нереал сейчас. Всем нужен пчел который будет деливерить, а не за которым нужно жопу вытирать.
>>2887361 Научите фейкать опыт на мидла, я хз что там спрашивают на собесе. Сейчас даже на джуна не берут, спросили за паттерны проектирования и WorkManager, вот и пососал на них. Первое наизусть не помню, второе не юзал
Господа, как в древности через колбэки передавали результаты сетевого запроса? Типа сам запрос в фоновом потоке выполняется, мы в колбэке получаем ответ и отображаем на UI что-то. Для этого надо тред свичнуть на главный, я так понял через handler.post. Этот handler.post {changeUi(data)} в самом колбэке писали, или там сразу внутри метода в фоновом потоке был вызов handler.post{callback()} ? Как было принято писать?
вот есть okHttpClient.newCall(request).enqueue(callback: Callback) в okHttp или в Retrofit. Я не могу найти реализацию, чтоб понять свичится ли тред там внутри, или это самому надо свичить внутри колбэка. Не могу найти реализацию, т.к. это метод интерфейса ебучего
1. Могу ли я сейчас зарегать акк из РФ и продавать подписки через Google Pay не для россиян? 2. Слышал что можно добавлять доп систему оплаты. Это для продажи для РФ или вообще? Я не могу использовать гугловскую системы оплаты сам? В смысле получать на нее бабос...? 3. Если я зарегаю акк то не смогу его перевести в соседнюю страну для получения платежей итп на тот банковский счет?
Я читал в интернете, но нихуя не понятно пока ты не регаешь это сам. А комиссию в 25$ пока не хочу платить пока нихуя не ясно.
>>2891460 адрес укажи рандомный лол. или адрес, который указал при регистрации карты зависит от юрисдикции. самое просто - ип в армении погугли кому заплатить чтобы все открыли дистанционно и не мучайся
>>2891468 >адрес укажи рандомный лол Так мне его потом заморозят и попросят скан очка.
>погугли кому заплатить чтобы все открыли дистанционно и не мучайся Да это понятно. Но минимум 10к сдерут. Ладно бы содрали с дохода, а это шкура неубитого медведя, а я нищук чтобы деньгами разбрасываться.
Сап двачик, пилю свой самый первый пет, столкнулся с неописуемыми сложностями. Вот мне бы картиночку из файловой системы подтянуть, и когда она будет подтянута, отобразить. Как это сделать красиво? Вроде бы пикрелейтед код работает, но я вспомнил про всякие flow. Они тут нужны или нет?
>>2898391 > Спасибо что не mBitmap. Предлагаешь совсем убрать префикс? Мне казалось, подчёркивание подчеркнёт, что это приватное nullable поле. > Флоу это поток данных, тебе буквально одна картинка нужна. Ладно, запомню, спасибо.
>>2902445 Есть формальное различие >>2902476 но всем похуй. Потому что в жаве/жвм нет функций, там все методы. И хуетлин все равно во время компиляции превращает все функции в методы.
>>2904277 1. Да 2. Да 3. Это минус 4. Да 5. Не полностью. Удачи обходить баг, на который фейсбуку похуй 6. На андроиде она тоже. И тоже хуево работает 7. Где всем друг на друга похуй потому что см п. 5 8. Нет 9. Нет 10. Ебало андроидщиков представили когда им выдают модульную за плюс?
>>2904611 >>2904612 ну флаттер то кал, а вот реакт нейтив полностью заменяет бесполезных ведроидов, да это собственно уже и видно по уменьшению количества вакансий на андроид, ещё пару лет и ВСЁ
>>2904545 Это не так работает. Ты можешь быстро сделать не реакте приложение с заметками. Если задача сложнее, то будут большие проблемы. Если у тебя есть ТЗ и заказчик хочет нативного опыта, то чем больше и сложнее прила, то цена растет в геометрической прогрессии. Хуету сделать не реакте легко, да
>>2905054 Веб-макаки не умеют писать на котлине и айосе когда нужно использовать нативную фичу Веб-макаки не умеют в стандартное поведение нативных приложений. Поэтому скроллы хуевые, диалоги хуевые, тени вообще пиздец С памятью веб-макаки работать не умеют (не говоря о прожорливости условного реакта) Про безопасность забыли, у нас жаваскрипт Материал3 выкатили на андроид, а реакт еле как имеет все либы для 2 версии Обновил реакт - половина приложения нахуй пошла (в андроиде такое тоже бывает, но у веб-макак это постоянно) Дебаг системных компонентов через js bridge Отсутствие многих системных апишек в js
На инстаграм на андроиде посмотри просто. Они до сих пор вместо фото открывают вьюшку камеры и делают скриншот
>>2905054 Отрендери этот тред на RN так, чтобы открывался он хотя бы с такой же скоростью, как в браузере Важная деталь, на которой разъебешься: полоса прокрутки должна быть активной