Это копия, сохраненная 4 ноября 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
>Хочу вкатится в 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 + RxJava2 + Dagger2(по обстоятельствам) + гугловские поделки jetpack, понимания СОЛИД и других паттернов проектирования.
4. Базовое понимание что вообще такое Gradle. Рекомендую хорошенько изучить XML.
5. И хотя бы несколько готовых приложений.
upd: Также стоит прочекать вакансии в вашем городе и собрать самый часто используемый стек технологий и отталкиваться от него.
Незабывай изучать английский, потому что гуглить придётся именно на нем ибо информации в разы больше.
Ресурсы по инглишу для нубов:
Грамматика:
https://ru.duolingo.com/
https://lingualeo.com/
Сериалы и шоу, для того что бы увидеть полный список нужно купить подписку. Есть двойные субтитры RU/EN. Цена 300 рублей, но часто проходят акции 300 рублей за 2 месяца подписки.
https://ororo.tv/
https://ororo.tv/ref/1835272 - реф ссылка. Указал потому что: Переход по Вашей ссылке дает пользователям бонус +10% ко времени их следующего абонемента.
Также советую полностью сменить язык интерфейса на всех устройствах.
Ютюб каналы с простым английским:
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 (М)
> Знание популярных библиотек типа Retrofit + Glide/Picasso + RxJava2 + Dagger2(по обстоятельствам)
> RxJava2
что скажете по этому роадмапу?
Все норм и правильно.
Вот только интересно, знаний XML для джуна хватит или по любому ещё нужно Compose изучать?
Опача.
Вот за это спасибо, а то я уже почти полгода XML задрачиваю.
Сейчас крайний петпроект тогда доделаю и нахуй, пора за Compose браться.
Спасибо за инфу
Огромнейшее спасибо за годноту!
ты дебил? она американка
Да, проще если ты про бекенд пишешь.
Мобилки всегда своеобразной нишей были и не важно какая именно платформа для разработки тебя интересует, iOS или Android
На проекте мешается, но не хочется проперти ломать.
а стоит ли есть же флаттер (не троллинг)
Уже лет 10 взлетает
Угу, учитывай что там пол тимы ушло в "отпуск".
На собесы они даже собак зовут, но дрочка там все равно будет.
Нужно создать примерно 50 и до бесконечности гугловых учёток для тестирования разных сервисов и покупок, а ручками лень
Одного хватает. Закинь адрес в список тестеров (там отдельный список есть в корне компании), и у него будут бесплатные подписки/продукты и срок действия в сколько-то минут
так и делаю, но там нужны уникальные подписки, поэтому нужно много пользователей
>На котлине или на андроиде?
Интересная постановка вопроса, а в чём суть?
У меня задание гласит "написать программу под платформу андроид".
Если тебе нужно создать приложение для телефона, то нужна Андроид студия. Там будешь писать код на языке Котлин.
Вроде пишут, но больше половины приходится на андроид
https://www.jetbrains.com/ru-ru/lp/devecosystem-2020/kotlin/
Не правда, бэкендеры получают в 1.5 раза больше андроидеров на одинаковом грейде
emacs
Продолжать стучаться везде. Другого варианта нет. До СВО (21-22 года) примерно так же было
Двачую, сами выбрали себе узкую специальность и сами же рвёмся что работы нихуя нет
А я хз анон, я тут так, дежурный хрюкер-вкатун
> он же должен мочь это делать без переменных
Котлин синтетики мертвы, теперь нельзя и слава богу.
codewars можно
Потому что кодогенерируемый кал говна + высока вероятность выстрелить себе в член с одинаковыми именами в разных лейаутах
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?
Если начинаешь: i5/ryzen 4 ядра, 16gb ddr4, ssd
Если опытный:
ryzen (чем больше ядер, тем лучше), 64gb, ssd
либо мою историю
Рили? ты что конч? за такие бабки он должен сам за тебя работать
Мак ноутбук стоит своей цены. Я это говорю как юзер линукса на пеке и макос на ноуте, лучше ничего не найти
Uhd graphics vs vega 7 vs vega 8 vs vega 11 vs gtx 1650.
где вы ищите работу в европе? какие есть сайты платформы кроме линкедина и индида?
Как думаешь, есть смысл покупать ноут с видеокартой ?
Или без неё ? Мне нравится ryzen 5 5500U.
Хрен его знает. Только производительность эмулятора может пострадать, но если ты игры делать не собираешься, то пойдет
У меня сейчас pentium gold 7505, подвисает android studio. А когда запускаю эмулятор, процессор кипит.
бамп вопросу
> гугл делает одновременно два очень разных фреймворка для кроссплатформы
> один из которых на котлине
Гуглу похуй + похуй на твой котлин мпп, он им не занимается. Пару либ высрали, банально потому что деврелам там уже делать нехуй, на стены от скуки лезут и ищут любую хуйню для релиза для промоушена.
> Гуглу похуй + похуй на твой котлин мпп
Также гугл:
> Compose Android
> Compose Web
> Compose Desktop+iOS спонсирует
> Почти все Jetpack либы мигрируют в кроссплатформу
> Compose Web
> Compose Desktop+iOS
Это все жидбреинс делает. Гугл просто не мешает.
> Почти все
Ебать, аж целый датастор высрали остальной кал типа коллекций и аннотаций не считаем. И то только тогда, когда сквеар наконец сделали кроссплатформенную оболочку для файловой системы, а то в котлин нейтиве даже файл нельзя записать средствами стдлибы. Зеро кост считай. Остальной джетпак весь андроид онли бай дизайн кроме рума какого-нибудь.
Пять лет в IT. Начинал в андроид разработке на галере, последнии 2 года работаю на Flutter'е в крупной компании. Приятели подталкивают к смене стека, мол во Flutter'е и в мобилках нет перспектив и максимум ты сможешь стать тимлидом, а бекенд стабильнее и ты можешь стать архитектором в будущем.
Что думаете, аноны? Перспективна ли мобильная разработка?
Стоит ли развиваться дальше в мобильной разработке или все же перейти в веб?
> максимум ты сможешь стать тимлидом
А ты хотя бы им станешь? А оно тебе надо?
> перейти в веб
Так ты про веб или про бекенд?
Я больше на перспективу мобильной разработки смотрю и на то что будет с отраслью через 6-8 лет.Из-за того что последнее 2 года пишу чисто на Flutter'e на котором вакансий сейчас штук 20, думаю обратно в чистый андроид вернутся, либо двигать дальше в бекенд. Потому что вакансий по Flutter'у не так много.
>А ты хотя бы им станешь? А оно тебе надо?
Мне бы хотелось через пару тройку лет попробовать себя в качестве тимлида, либо до архитектора дорасти.
>Так ты про веб или про бекенд?
Я думаю целесообразно переходить в бекенд, потому что фронтенд это очень схоже с разработкой мобильного UI, а хочется чего-то более перспективного
Я тоже к этому склоняюсь
Ищи не на джуна
Сложно
QT мобильщика не видел?
Я вот пожалел, что не знаю эту залупу. Пришлось прямо на проекте осваивать вслепую.
Сейчас ебусь с тем, что хуй влезешь посередине в поток данных, хер продебажишь. Аштрисет.
Хочу спросить, где можно найти онлайн-программу, дабы нарезать PNG-картинок для иконок приложения и загрузочного экрана, из уже готового графического файла? Чтобы не нужно было ничего устанавливать, просто загрузить на сайт картинку, выставить нужные параметры - и скачать обратно готовый набор?
Figma
научись уже векторную графику рисовать, для этого есть бесплатный Inkscape
А то я один допиливаю приложение, например. Раньше бэком занимался, там обычно по 3-4 разраба было, не считая фронтов.
Думал охуею от такого расклада, но вроде справляюсь лучше, чем сам от себя ожидал. Хуево, что обратной связи по коду от коллег не могу получить. В остальном заебись. Все вопросы гуглятся, что-то у инженеров, бэка и айосника спрашиваю.
Каковы шансы встретить проект, где ты не один будешь?
Если устроишься в продукт, то там везде оверэмполйнутые команды андроидеров по 50-200 человек
Значит так, я мимо крокодил.
Всё что я хочу, это заменить иконки приложений с ГОВНА на НОРМАЛЬНЫЕ. Чтобы нормальные иконки были не только на рабочем столе, но в системе.
Аpk это же архив, верно? Я его в .зип переименовываю, распаковываю, нахожу иконку приложения, меняю на нужную и...И дальше что? Как обратно собрать в .арк, чтобы на телефон установить?
Или есть способ проще?
Там не просто zip архив + тебе нужно его будет подписать своим ключом
https://ibotpeaches.github.io/Apktool/documentation/#building
Я обычно icon.kitchen пользуюсь
Ну анон там затролил явно, но вот 8 гигов может и не хватить. Тебе там 16 минимум бы, у меня 32 гига и два-три окна студии с эмулятором уже 15 гигов жрут
Писать да, релизить нет
Джаву не надо, но JVM надо
Уже хуй знает что делать и кастомный счедулер писал и так и сяк получается хуйня громоздкая
Решил в 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()
}
}
}
......................
}
Уже хуй знает что делать и кастомный счедулер писал и так и сяк получается хуйня громоздкая
Решил в 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()
}
}
}
......................
}
Посмотрел, у них все норм, лаг из-за того что я использую encrypted надстройку
В любом случае как лучше сделать?
Можно посмотреть на app startup. Но я первый раз слышу чтобы заинитить преференсы вызывало лаги
Есть специальное оборудование, которое подключается по wifi. При подключении в настройках сети нужно вручную прописывать ip адрес и маску подсети. Так вот. Можно ли на телефоне с 10 андроидом на борту как-нибудь подключить данное оборудование по wifi и при этом каким-либо образом иметь доступ к сети Интернет?
Заранее спасибо
Можно
>app startup
Интересная штука вроде, надо глянуть, спасибо
Лаг не заметный(15мс на пикселе) из-за того что файл/iostream приходится создавать в момент инициализации - такая особенность у либы для шифрования преференсов
Шаред преференс дает на том же устройстве 90мс лаг
Есть ли на 2023 год альтернативы Android studio? Устал уже от этого говна
я пытался в Емаксе всё под себя настроить, но kotlin language server там очень плохо работает
Под flutter надо изучать котлин и свифт? Или на похуях просто качусь в флаттер через дарт и усё? Вакансий конеш мало даже во внешнем мире, но думаю пох, просто тянет из-за названия типа "флаттер" нихуя себе как круто.
А, еще вот что: нужен ли мне мак, чтобы вкатиться в флаттер? Или тоже как-то можно обойти темку? Ну я вот читал например что можно арендовать удаленный мак или что-то такое.
Так а как меня на работку возьмут, если я в иос не могу? Придется фармить на мак значит. А из под мака на андроид можно разрабатывать?
Ну это я понял, что жабу не юзают в современных разработках. Но я прочитал мнение, что "рано или поздно тебе для решения задачи понадобится библиотека, которая будет написана на жабе". Вот это главный аргумент везде, где я читал на эту тему.
Сам я почекал вакансии, в 7/10 вакансий даже не написано про джаву, в 2 либо Java/Kotlin либо знание джавы как "+", в 1 знание джавы обязательно.
Мнение, как эксперта?
То есть ты по сути еще и верстальщик в мобильной разработке? Это получается мобильные разработчики - фуллстеки?
>рано или поздно тебе для решения задачи понадобится библиотека, которая будет написана на жабе
Рано или поздно тебе понадобится утка, в который ты будешь ссать, будучи парализован, но это же не значит, что надо сейчас ее покупать. Лучше потрать деньги на зал и побегай там
Он мобильщик
Сходи в зал, покачай бицуху, поподкатывай к стройненьким тяночкам после тренировки, нахуй тебе эта жаба и котлин?
Ну я хочу дрочить на аниме лолей, смотреть аниме, играть в аниме игры, читать мангу, не хочу общаться ни с кем ирл, мне не нужна лишняя ответственность в жизни.
Качяться тоже не буду, мне это ни к чему. Гулять надо 1.5-2 часа в день + зарядка и отдых от компа каждые 45 минут на 5-15 минут. Это уже хорошо.
да я в целом хорош так-то: не употребляю ничего, не мешаю другим жить. Чем я хуже 18-летнего пиздючеллы? Возьмите меня хоть за еду я готов овертаймить по надобности даже.
> мне не нужна лишняя ответственность в жизни
> ищет работу
> не хочу общаться ни с кем ирл
Тебе на работе пизда, если у тебя в маняфантазии о том, как ты просто делаешь все по детальному ТЗ, и тебе не нужно каждый день обкашливать вопросики с абсолютно разными людьми, в том числе не технического уклона.
Я не против общаться, но у меня проблемы со здоровьем, из-за которых я не могу ирл жить в обществе, поэтому ирл ни с кем не общаюсь, только через компуктер. А так у меня нет проблем с общением.
Ответственность лишняя не нужна имеется в виду в виде связей типа отношения или приручения животного или друзей. Рабочие отношения меня устраивают, потому что без этого никак, я с этим смирился.
Само собой знания Retrofit, SQLite, Dagger Hilt, MVVM (MVC и MVI нихуя не умею) имеются.
По началу задрачивал XML, вроде всё норс, получалось. Затем начал изучать Compose и забыл XML нахуй
>и забыл XML
Это ты зря, джунов всегда на легаси садят. Доверить написать проект с нуля на сompose и с твоими любимыми технологиями доверят только мидлу+
Пиздец, походу придётся вспоминать XML.
Слушай, а с Java то хоть как? Много говна на этом говне Java до сих пор написано? И пишут ли новые проекты на этом говне Java?
И чем джава говно? На данный момент она компилится быстрее и байткод более качественный. Слегка устаревшая, да, но ни разу не говно
Понятно. Порча 666 тебе джуну на джаву в каждом проекте
Меня недавно удивили этим мол так заебись мешать все в коде и пользоваться говноплагинами вместо того чтобы описывать все в конвенциальном xml и допиливать до блеска датабиндингом и лайвдатой
Вроде проблемы нет переключиться но обидно пиздец, кроме кроссплатформы причин для этого не вижу
Есть рабочие гайды как xml милорду быстро освоить этот compost?
>>739413
Как internal контрить будешь когда придется писать расширение под котлин либу?
> Как internal контрить будешь когда придется писать расширение под котлин либу?
Сомнительный бенефит. Очевидно форкну и сделаю что хотел, а не дрочить package private костыли привет AndroidX.
не хейтер жавы
Ну хуй с ним а как packet private сделаешь когда надо изолировать функционал от котлиндетей?
В чем проблема мерджить с апстримом?
О чем и речь, я сам чисто на Котлине только пишу, потому что только его и знаю. И если в конторе нужно что-то написать на Джаве, то руководство это поручает тому кто знает Джаву - никак при этом не задрачивает чистых Котлинщиков. Так что все эти Джава-пердуны хуету для даунов несут со своей говноджавой
> И если в конторе нужно что-то написать на Джаве, то руководство это поручает тому кто знает Джаву
Удивительные долбоебы на руководстве, что потакают вам, и неженки на прогерах. Вас даже не просят что-то на другом стеке написать, а просто юзать все тот же самый андроид сдк/жава ждк, только с немного другим синтаксисом.
Джава синтаксис очень простой, нужно быть каким то конченным, чтобы его УЧИТЬ нахуй, а не просто пару раз глянуть, чтобы спокойно ориентироваться. Проблемы могут возникнуть только у каких-нибудь жаваскриптопитоновых швайнокодерокарасей.
Да просто уже почти всё что было на Джаве перкписали на Котлин, вот и в конторе почти все Котлинщики и совсем мало энтузиастов умеющих в Джава, но и этим энтузиастам за их знания доплачивают. Кому не всралась эта калоджава - просто ничего на ней не делают и норм нам
Я на даже для майнкрафта уже на котлине всё давно пишу, если придётся потрогать джаву, то нет проблем
>в конторе почти все Котлинщики и совсем мало энтузиастов умеющих в Джава
Капец у вас контора джунов
Эх, пидораш, если бы
XML - нет
DataBinding - в maintenance. Когда kapt будет тоже в maintenance, то ему пизда, а проекты переделывать. Когда будут баги, то их править не будут. Новых фич там не будет. Если что-то в новом андроиде отвалится - это будут ваши проблемы
Кстати высота у второго linearlayout 38, потому что я пытался хоть что-то сделать, чтобы оно выводило. Изначально там wrap_content было и сейчас есть, ситуация та же
А что мешает так же в соло не ливая подтянуть навыки? Так еще и стаж будет какой-то идти, легче потом устроиться
>>741729
>>741727
Тебе если кнопка внизу нужна то сделай элемент другого view type
Есть еще варик с CollapsedToolbarLayout сделать чтобы вьюха задвигалась/выдвигалась при прокрутке но не в курсе прокатит ли снизу если она снизу
А вспомнил ты кнопку в ListView можешь сделать футером
Но ListView уже не катит он устарел, переходи на RecyclerView и ищи либу которая позволит добавить футер так же просто как в ListView
Не ливай, терпи хотя бы полгода, потом будешь ссать на ебало нищукам и лохам, что сказали "доучусь до мидла в соло" и так и остались за бортом.
Блин, мне надо просто, чтобы под listview был ещё один ОТДЕЛЬНЫЙ элемент. Такое вообще возможно?
Да, вижу
Варианта 2:
1. Сделать у ListView height 0dp и добавить weight="1"
ListView сам по себе прокручивается переиспользуя старые элементы списка при прокрутке и его высота должна быть фиксирована
2. Обернуть лист с height=wrap_content и кнопку в NestedScrollLayout - должно сработать
Нет, 2 варик не сработает но ты посмотри NestedScrollLayout - мож пригодится, хотя для такого типа списков использовать это копро
сделай у верхнего linear layout фиксированную высоту, из-за wrap content он решил взять всё пространство
точнее у list view
С фиксированной высотой все работает. Проблема в том, что я не знаю будет ли это на всех разрешениях работать нормально. Поэтому пытался сделать, чтобы оно само регулировало. Но когда само регулируется, оно, как ты и написал, занимает всю нижнюю часть, не давая мне добавить ещё один элемент. Взять тот же total commander. По идее по середине список и есть, а вот снизу уже доп.элемент
Короче ладно, сделаю просто список фиксированной длины. В любом случае для себя пишу приложение, поэтому похуй на адаптивность. Но все то, что ты там перечислил выше взорвало мне мозг, почему столько разных вариантов решения проблемы, очень мозолит глаза такое разнообразие, если честно. Спасибо за то, что попытался помочь
> Посадили в галере на легаси кал с монолитной архитектурой
Что ты имеешь ввиду? Мобилка это тебе бекенд нахуй с микросервисами.
А про inkscape что скажешь?
Вот же варик
>1. Сделать у ListView height 0dp и добавить weight="1"
Она и будет считай фиксированной, просто заполнять все пространво доступное не вытесняя другие вьюшки
Чего?
Котлин андроид лучше, так как есть ещё КММ. С ним ты можешь бизнес логику и для андроид приложения, и для ios один раз написать (просто потом на свифте кнопочки нарисуешь) - это насчёт кроссплатформенности. Я могу даже для линукса в GTK портировать свои поделия. С котлином можно перекатиться в бэкенд потом, если надоест, да и он не такой платформоспецифичный как дарт флаттер.
Сейчас есть vscode, микро-опыт десктопных приложений и по тутору автор накатывает expo cli, который далее запускает сервак с qr-кодом, далее качаешь на телефон приложение Expo Go, там сканишь код(в нем просто адрес) и типа вот тебе на телефоне в реалтайме твоя приложуха. Как-то это дерьмово и неудобно. Как вы делаете, ананасы? В идеале бы просто на локалке запускать что-то, что банально будет показывать эмуляцию телефона/планшета.
Ой все, почти случайно сам нашел в русском туторе трехлетней давности
https://www.youtube.com/watch?v=7KwtXNoYQEY
А всего-то надо было чуть подольше погуглить.
>где лучше и удобнее смотреть превью приложения
Во флаттере прямо из браузера можно смотреть, данные динамично меняются
Сап, крч, ищу себе новую работу, бэкграунд 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 из говна и палок?
А что не так я написал? Документация - дерьмо, это факт, подтвержденный пруфами выше, позорище
не удивляйся, средний андроидо-господин с таким даже не сталкивается, зачем лезть в документацию когда можно ctrl+c ctrl+v с SO? да, доки дерьмо, написанные индусом, это факт
Да мне похуй, я к этой платформе отношения не имею, случайно сюда зашёл. Просто интересно откуда ты такой придирчивый, наверно всю жизнь сидишь на своём ios пьёшь смузи и кнопочки красишь?
Нет, я просто захотел написать программу для себя на андроид, а тут на меня вывалили такой ушат помоев, знаешь, немного неприятно. Вроде ОС гугловская, а документация заброшена, как мне делать, человеку, который 2-3 дня назад начал ее читать?
Нет, спасибо. Мне интересно самому разбираться, и поэтому я очень разозлился, когда мне буквально ставят палки в колеса в этом процессе. Так это был больше крик души, простите
Злой ты
Что ты несешь нах? Под какую платформу еще ты кодил, что там лучше документация? Только не спиздани про иос, не позорься
>Только не спиздани про иос
Я вообще ни под что не кодил, с чего ты взял? документация - дерьмо, половина всего просрочено, не обновляется, чего ты оправдать пытаешься?
Даже не знаю, что щас спрашивают. Подкиньте пожалуйста вопросов для собесов.
Я бы просто написал как можно чище и забил бы на Clean Architecture
MAUI выглядит как полная хуйня. XAML - параша, не знаю, почему его некоторые любят, может, утиный импринтинг. Я привык, что мне IDE подсказывает, как что-то можно сделать. А тут сиди, ебись с dependency property, читая документацию. Ощущение, что работаешь с легаси.
Хочешь свой компонент написать – кури документацию блядь! Пиши бойлерплейт! Пиши биндинги в 2023! Пиздец
React Native выглядит неплохо, на голову выше Xamarin/MAUI. Но параллельность не завезли или через костыли в силу языка. Куча историй от людей, у которых проблема со необновляемыми зависимостями. Конечно, можно самому все писать, используя только библу роутера и стейт-менеджера, но что-то не знаю.
Думал попробовать f# с транспиляцией в js, но пока читал, вообще охладел к мобилкам. А задумка прикольная – пишешь в функциональном стиле. Правда, вакансий раз два и обчелся. Вакансии, правда, жирные, и собеседуют там, наверное, не как в других конторах, которые сейчас купаются в кандидатах. Так что с одной стороны редкий стек это не плохо. С другой – если проебался на собесе, на другом, то идти больше некуда
Flutter. Казалось бы, все хорошо, только привыкни к хвосту их скобочек, но и тут ложка дегтя – на айфонах люди жалуются на скролл. Ощущается как желе. Почему? Потому что скролл отстаёт на несколько кадров. На вёдрах это никого не волнует, потому что скролл в андроиде всегда отстаёт – листаните что-нибудь резко, увидите контент под своим пальцем (в идеале контент должен всегда быть под подушечкой). Все приложения, что тыкал – какая-то срань. Сейчас получше, конечно, но проблеме со скроллом года два минимум и в принципе не видно ее решения.
Контекстное меню не родное. Я иногда люблю текст выделить и в переводчик отправить, а приложение флаттера рендерит свое и о переводчике ничего не знает.
Помните, пару лет назад вылез чел с клиентом для двача, написанном на флаттере? Был хайп. А где он теперь? Лучше нативной Даши ничего нет. Я пробовал тот клиент, вроде все ок, но что-то не то. И это я ещё тогда не знал про проблемы флаттера.
Похоже, что лучше натива ничего нет. Любой другой вариант это выбор между двумя стульями.
MAUI выглядит как полная хуйня. XAML - параша, не знаю, почему его некоторые любят, может, утиный импринтинг. Я привык, что мне IDE подсказывает, как что-то можно сделать. А тут сиди, ебись с dependency property, читая документацию. Ощущение, что работаешь с легаси.
Хочешь свой компонент написать – кури документацию блядь! Пиши бойлерплейт! Пиши биндинги в 2023! Пиздец
React Native выглядит неплохо, на голову выше Xamarin/MAUI. Но параллельность не завезли или через костыли в силу языка. Куча историй от людей, у которых проблема со необновляемыми зависимостями. Конечно, можно самому все писать, используя только библу роутера и стейт-менеджера, но что-то не знаю.
Думал попробовать f# с транспиляцией в js, но пока читал, вообще охладел к мобилкам. А задумка прикольная – пишешь в функциональном стиле. Правда, вакансий раз два и обчелся. Вакансии, правда, жирные, и собеседуют там, наверное, не как в других конторах, которые сейчас купаются в кандидатах. Так что с одной стороны редкий стек это не плохо. С другой – если проебался на собесе, на другом, то идти больше некуда
Flutter. Казалось бы, все хорошо, только привыкни к хвосту их скобочек, но и тут ложка дегтя – на айфонах люди жалуются на скролл. Ощущается как желе. Почему? Потому что скролл отстаёт на несколько кадров. На вёдрах это никого не волнует, потому что скролл в андроиде всегда отстаёт – листаните что-нибудь резко, увидите контент под своим пальцем (в идеале контент должен всегда быть под подушечкой). Все приложения, что тыкал – какая-то срань. Сейчас получше, конечно, но проблеме со скроллом года два минимум и в принципе не видно ее решения.
Контекстное меню не родное. Я иногда люблю текст выделить и в переводчик отправить, а приложение флаттера рендерит свое и о переводчике ничего не знает.
Помните, пару лет назад вылез чел с клиентом для двача, написанном на флаттере? Был хайп. А где он теперь? Лучше нативной Даши ничего нет. Я пробовал тот клиент, вроде все ок, но что-то не то. И это я ещё тогда не знал про проблемы флаттера.
Похоже, что лучше натива ничего нет. Любой другой вариант это выбор между двумя стульями.
ichan, даже в маркере есть:
https://play.google.com/store/apps/details?id=com.zchandev.zchanapp
Давно еще общался с типом кодером, он меня надоумил не терять время и учить сразу Котлин с Компоузом,я так и сделал. Теперь вот думаю не придется ли еще XML в срочном порядке изучать начать. По сути разница лишь в вёрстке как я понял. Несколько видео посмотрел верстки на XML - ебать хуйня лютая, конечно
А, еще увидел Recycler View для XML, вообще пиздец какой то.
То ли дело компоузовские LazyColumn/Row
И скунее и таски девопса короче хуйня
>Если я знаю только один Compose то есть хоть какой то шанс на работу джуном?
Есть, но ты сильно ограничил область поиска, раза так в 2-3
Я умею работать с Room (SQLite), Dagger Hilt, Retrofit и тд. Но это всё на Compose. На XML пытался посмотреть и понять что да как - нихуя не разобрался, хехе
Дело далеко не в XML, а в подходе к построению UI. Тебе никто не мешает в коде все добавить.
Первое, так как не является гуглоговном
нет, хуй ты что найдешь, максимум стартап. Говорю как джун. Начинал с xml, потом вкатился в compose и современный стэк. По итогу работаю джуном на супер легаси проекте, где xml - наименьшая из проблем. Все пет проекты или фриланс пишу на compose, но они не нужны особо никому. Все самые приятные технологии достаются мидлам и синьерам, а тебе надо глубоко изучить java, kotiln, android, многопоточку, фрагменты и 4 основных компонента андроида. Желательно через книги + практику, знать надо не мало, сейчас вкат трудный.
>KMM
Нишевая технология, и всегда будет нишевой, это видно по "энтузиазму" гугла по поводу нее
There are four types of app components:
Activities
Services
Broadcast receivers
Content providers
FlashList/FlatList, контент – строки разной высоты. Чтобы далеко не ходить, представьте себе тред на пару тысяч постов. Сделать строки одинаковыми нельзя - некрасиво.
Типичный юзкейс – открыть тред, перемотать его вниз и листать самые свежие посты. Пока мы листаем сверху вниз, все хорошо. Но если мы переместились вниз (дёрнув метод листа), то о контенте сверху лист ничего не знает. Начинает рендерить, высота элементов разная, отрендеренный контент начинает дрожать.
Похоже, нет способа это исправить. Натив >>>> все остальное
Вы спросите, почему реакт нейтив, а не флаттер? Почитайте на реддите, что пишут о флаттере. У него скролл запаздывает относительно движения пальца, и это два года не чинится. И не факт, что вообще когдани исправят. На андроиде всегда так было (только выиграли), а йос-холопы привыкли к мгновенному отклику экрана
Спасибо за ответ анон!
Свободная касса, мы вам перезвоним
А зачем?
Если ты хочешь для работы, то иди сразу делать, параллельно смотря кодлабы и небольшие статьи. Читать какой толк, если выхлопа нет?
Если хочешь просто что-то почитать, то почитай Хроники Нарнии. Там хотя бы интрига есть
Попробовал плейсхолдеры – или моих знаний не хватает, или действительно не вариант. Перешёл на fabulous/maui, который, как и react native, рендерит нативные компоненты, только под капотом не v8/hermes, а clr (суть та же jvm). Работает очень быстро, про оптимизацию можно не думать. Интересно, как там со сборкой мусора, получается, два сборщика работают, но фризов пока не вижу в стресс-тестах
>>764129
Я не знаю, я вообще не знаю ни джаву, ни котлин, что ты меня атакуешь вопросами? Думаешь, если я тут пару дней сижу, то можно издеваться?
Да-да, ты промахнулся. Скорее всего, потому что посадят тебя вилкой легаси ковырять, а опытные разработчики будут пить смузи и писать на новых технологиях. Я слышал, что в джаве с легаси все сложно, хоть и не понимаю, почему. В дотнете даже с закрытого фреймворка на отпенсорсный неткор было обновиться довольно просто, а сейчас только одну строчку в конфигурации меняй
Нахуй иди
Напиши нативный модуль под android для своего юзкейса да и всё
Реакт нейтив для того и задумывался что в случае нехватки родного функционала ты всегда можешь наебенить нативный (на kotlin/java или objectiveC) или turbo-модуль (на чистых плюсах через JSI)
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, наверное, вообще глаз резать будет, если сильно в кастомизацию не уйти.
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, наверное, вообще глаз резать будет, если сильно в кастомизацию не уйти.
>1) Если бы можно было написать нативный модуль листа, который не лагает, то не было бы десятка пакетов так или иначе оптимизированных списков
Можно написать вообще любую кастомную android/ios вьюху и использовать её в react-native аппке как внешний модуль
Эта вьюха ничем не будет отличаться от любой нативной android/ios вьюхи
Так что твоя задача решаема, если прям сильно хочется
Просто листы на 500+ элементов в мобильной разработке это скорее моветон. Никто не решает задачи огромных списков, все решают другое - плавность прокрутки
>медленно работает RN
Скорее всего ты сравниваешь скорость работы RN аппки в дебаг режиме. Собери релизный - там всё на 70-80% быстрее
В целом складывается впечатление что ты залётыш в мобильной разработке, если не в курсе что большие списки а если ещё и с анимированным апдейтами, то подавно - одна из самых сложных задач мобильной разработке вообще
Я вот ios senior и android middle, и предпочитаю react-native как раз по тому что могу всякую скучную хуйню (типа пары десятков экранов с текстом и картинками) навестать на реакте, а там где нужно показать 100% нативной производительности - ебануть кастомный модуль перформящий те же, как нативный
react-native не WebView
предлагает удалить *.lock файлы. я их удаляю, но они снова создаются
Тебе выше ответили что RN это не webview - там под капотом всё нативное (а сейчас чаще всего даже через JNI работает - т.е. является по сути C++)
Но суть как ты описал - 95% аппки на обычном react-native, 5% - мои собственные модули. Там, где нужно что-то более производительное/специфическое
1080x2408, 0:03
> Эта вьюха ничем не будет отличаться от любой нативной 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 посмотрел, интересно. Но только это не для вьюх, это для числодробилки/параллельных задач.
1080x2408, 0:03
> Эта вьюха ничем не будет отличаться от любой нативной 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 посмотрел, интересно. Но только это не для вьюх, это для числодробилки/параллельных задач.
>Люди всю историю 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 практически не заглядывает
хуй сосёшь? Жопу бреешь? Надо чтобы с жопы гавном не пахло и потом, жопу бреешь и всё, это намного важнее, чем знания. Если очко раздолблено, то комком туалетной бумаги просто очко затыкай, чтобы не пахло из очка.
На собеседовании в яндекс заявили что нужно обязательно выучить RxJava, типа не все перешли и в куче вакансий в требованиях rxjava.
>хуй сосёшь? Жопу бреешь?
да. Даже этот вопрос больше относится к разработке, чем тот бред который спрашивают на собеседованиях.
Задумка неплохая, реализация на ООП-языках – кал. Причем тащат это говно даже на фронтенд.
А как тебе развиваться когда ты один разраб из сотни и сидишь в фичовой команде кнопки на форме оформления кредита передвигаешь?
В соло в разы точек роста и больше развития, потому что ты отвечаешь вообще за все – нетворк, сторедж, тесты, градл, билд/си, локальная дизайн система если нет глобальной от дизайнера, видео/аудио если есть, да дохуя всего. То что ты не улучшаешь у себя все выше перечисленное – лично твои проблемы.
один из сотни, кроме кнопок нихуя не делаю, полностью разучился делать прилы уже
Вообще, да.
На деле и с сеткой работаю, и с юай, и оптимизации делаю всякие, безопасностью занимаюсь.
>>777501
Без команды и бюрократии я в разы больше фич сделал за несколько месяцев, чем будучи бэкендером в банке за год с лишним.
Только не хватает каких-то пинков и понимания, не говно ли я накодил.
>В соло в разы точек роста и больше развития, потому что ты отвечаешь вообще за все – нетворк, сторедж, тесты, градл, билд/си, локальная дизайн система если нет глобальной от дизайнера, видео/аудио если есть, да дохуя всего
Да, только вот забыл упомянуть что в сологовнокодерских проектах нет тестов, CI, дизайн системы, фича флагов, и кучи всего другого, так что точек роста по итогу меньше
> То что ты не улучшаешь у себя все выше перечисленное – лично твои проблемы.
На большом проекте же будешь сидеть также бобылем на всем готовом. От того что там много приколюх еще не значит, что ты с ними работать будешь. Ток если на соло проектах ты сам себе босс, можешь сам выбивать время на эти приколюхи и делать их сам, набивая шишки. В крупных же командах без согласования с твоим менеджером и другой командой никто тебе просто так лезть свои ручонками что-то там делать не даст. Команды же делятся по функционалу. Попадешь в инфраструктуру/СИ и хуй ты в своей жизни больше кнопку нарисуешь или в сеть с устройства сходишь. Тоже самое с фичовой комнадой, будешь кнопки рисовать и хуй тебе а не СИ.
Почти во всех больших приложениях уже давно часть контента server-driven. Но это только часть, она никогда не вытеснит все остальное
>Ток если на соло проектах ты сам себе босс, можешь сам выбивать время на эти приколюхи и делать их сам, набивая шишки.
Это в теории так, на практике у тебя спринт будут забивать рабочими тасками, и всем похуй на твои загоны
>В крупных же командах без согласования с твоим менеджером и другой командой никто тебе просто так лезть свои ручонками что-то там делать не даст. Команды же делятся по функционалу.
Там по крайней мере можно согласовать, так как у менеджеров есть понимание что это нужно делать
>Попадешь в инфраструктуру/СИ и хуй ты в своей жизни больше кнопку нарисуешь или в сеть с устройства сходишь. Тоже самое с фичовой комнадой, будешь кнопки рисовать и хуй тебе а не СИ.
Выбирай с умом. В любой из этих областей можно закопаться так что экспертизу разовьешь будь здоров. Инфраструктура даже перспективнее. В крайнем случае можно свичнутся из одной команды в другую
++
Пк, мак не очень для студии при стоимости в 150 к.
Если хочешь помимо андройда пилить и ios (через kmm), то мак или пытайся ставить хакинтош на виртуалку
В идеале на русском, но англюсик тоже пойдет.
По своему опыту могу сказать, что прошки - идеальный вариант для разработки. Особенно новые. Это тупо удобнее: хочешь в офис с ним бегай, хочешь дома работай. Опять же, я уже второй раз на зимовку съебывал в места потеплее. По-моему сейчас практически во всех нормальных конторах работникам маки подгоняют
Так что я бы не делал мозг беременным и брал мак. Дополнительно рекомендую к нему взять монитор с type-c выходом, это вообще идеальный вариант. А если игори любишь, то пеку через годик соберёшь себе или вообще приставкой обмажешься, если ещё и секс с мужчинами любишь
head first (скачай с пиратской бухты последнюю версию)
>Задумка неплохая, реализация на ООП-языках – кал
В android и kotlin есть корутины и Flow которые делают тоже самое, но лучше.
Вопрос не в том что неплохая или плохая, а в том что оно нужно только для собеседований.
какой android телефон взять, для тестирования своих приложений?
Обязательно дешевый кал от шлаоми или сасунга.
Если возьмешь йобу типа пукселя, то в жизни не узнаешь о "радостях" жизни, с которым сталкиваются твои юзеры, начиная от неработающего апи и рандомными крашами, заканчивая проблемами с перформансом, которые на йобе не видны.
>Надо тестировать новые плюшки
а надо ли? когда эти плюшки доползут до массового пользователя?
зависит от того что вы считаете "дешёвым калом" и от вашей ца
Есть идея написать приложение, которое будет информировать пользователя о экстренной ситуации на внешнем сервисе. Идея такая: внешний сервис понимает, что наступил пиздец и надо поставить ответственных пользователей на уши. В текущей реализации - это смс рассылка и сообщения в телегу. Проблема в том, что нужно сделать так, чтобы пользователь обязательно отреагировал. Некоторые недостаточно ответственные пользователи отключают уведомления, переводят смартфон в беззвучный режим и как следствие прекрасно спят по ночам. Есть мнение, что можно написать приложение на андроиде, которое бы держало связь с сервером, периодически (раз в 15 минут, например) отмечалось на сервере, что пользователь готов получить информацию о том, что пиздец наступил, при получении такого сигнала от сервера, немедленно поднимало бы тревогу максимально громким звуком и вибрацией, игнорируя беззвучный режим, при отсутствии интернета умело бы реагировать на смс с информацией о пиздеце, и доставало бы пользователя, пока тот не отметит в приложении, что он уведомлен и информация об этом не ушла бы обратно на сервер.
Вопросы:
1. Это вообще реализуемо в каком-то виде на платформе андроид?
2. Насколько надёжны каналы доставки пуш уведомлений?
3. Насколько надёжно можно защитить приложение от закрытия (перевода в неактивное состояние) в фоновом режиме?
Так основной рынок это еуропа и америка, 90%+
Я бы не стал с виндой связываться. Вся околотерминальная поебота гораздо лучше работает на макоси
Лично юзаю комп ryzen 9 3900x и 32 гб ОЗУ 3000 МГц на винде, проблем пока не ощущал
> 1. Это вообще реализуемо в каком-то виде на платформе андроид?
Зависит.
Если это девайсы компании, тогда можно будет поставить админ сервис, который нельзя никак убить и может делать всякие вещи типа запрета на отключение уведомлений наверное. В теории можно вообще все сделать тогда что ты хочешь, но я не ебу за то что именно там можно разрешать/запрещать.
https://www.techyourchance.com/android-kiosk-apps-and-in-house-mdms-using-device-owner/
Статья про киоск мод, но про девайс админ мод валидно.
Если девайсы не компании, тогда сложнее, ибо нахуй не всралось им ставить твой анальный зонд, который будет мозги ебать когда не надо. И если это не админ мод, то сразу все косяки всплывают типа
> Некоторые недостаточно ответственные пользователи отключают уведомления, переводят смартфон в беззвучный режим и как следствие прекрасно спят по ночам
> 2. Насколько надёжны каналы доставки пуш уведомлений?
+- ок если у тебя приложение висит в фоне и пуш высокоприоритетный
> 3. Насколько надёжно можно защитить приложение от закрытия (перевода в неактивное состояние) в фоновом режиме?
Ток в девайс админ моде. В остальных случаях юзер всегда может закрыть прилу через force stop.
>>783116
У самсунгов девайс админ конечно поинтересней выглядит
https://docs.samsungknox.com/devref/knox-sdk/reference/com/samsung/android/knox/EnterpriseDeviceManager.html
https://docs.samsungknox.com/devref/knox-sdk/reference/com/samsung/android/knox/custom/CustomDeviceManager.html#SYSTEM_SOUNDS_ALL
Там есть запрет на отключение нотификаций приложению, отключение самого приложения, отключение звука, выключение девайса.
В общем все что ты хочешь. Но только на самсунги и есть вероятность, что придется платить за это апи самсунгу, хуй знает, не копал это.
Дефолтный девайс админ походу нихуя не умеет толком кроме всратой срани типа локнуть девайс
https://developer.android.com/guide/topics/admin/device-admin
>Если это девайсы компании
Нет.
>Статья про киоск мод, но про девайс админ мод валидно.
Годно, спасибо.
>ибо нахуй не всралось им ставить твой анальный зонд
Не хочет ставить анальный зонд, пусть тогда сам думает, как не пропускать уведомления. Я говорю о ситуации, когда произошёл факап и пользователь говорит, что он добросовестно ждал уведомления, но телефон стоял на вибре, а он так крепко спал, что ничего не слышал. Анальный зонд ставил? Нет? Ну и мудак. Тут нет задачи унизить пользователя, тут скорее задача дать пользователю возможность максимально надёжно и быстро получить уведомление. В случае с телегой и смс у меня нет возможности узнать, что пользователь в оффлайне, пока я им не пошлю сообщение и утром не спрошу его читал он его или нет. Желаемый сценарий скорее такой: Иванов, Петров и Сидоров ставят себе анальные зонды. У Иванова закончилось место на телефоне и анальный зонд крашнулся - пишем ему в телеге, ты в оффлайне, перезагрузи приложение. Иванов, Петров и Сидоров в оффлайне одновременно - пишем их руководителю, что он пидарас. Наступил факап: рассылаем уведомление на анальные зонды Иванова, Петрова и Сидорова, если доставлено, то ждём 30 секунд, пока они отметятся, что приняли в работу, если никто не отреагировал или доставить не удалось - включаем уведомление на анальный зонд их начальника.
>остальных случаях юзер всегда может закрыть прилу через force stop.
Защита нужна больше от краша и от фокусов операционной системы.
Большое спасибо за развернутый ответ, я с тех пор неспешно ковыряю RN.
Может быть, ты сталкивался с проблемой, когда нативный компонент на android не отображается, если ему не присвоить высоту через стили? Я уже все перелопатил.
https://github.com/facebook/react-native/issues/17968
Все, что я пытаюсь сделать, это повторить RTNTextCentered из официальной доки (в ней, кстати, опечатка, фикс на гитхабе):
https://reactnative.dev/docs/next/the-new-architecture/pillars-fabric-components
Похоже, без понимания нативной части ловить тут нечего. Мой расчет был в том, что Kotlin/Java близки к C#, моему основному языку - как-нибудь, да разберусь. Но нет, нужно знать внутрянку андроида. При том что на Flutter-то получается писать только влет ну его нахуй этот флаттер, пока скролл не пофиксят.
На гитхабе люди как-то фиксят, но я даже с gtp4 не понимаю, куда и как это приложить.
>>781975
Это просто браузер, деревом которого рулит шарп. Не думаю, что на этом можно сделать что-то красивое. Утилитарное-корпоративное - да. А вот это нет:
https://github.com/IjzerenHein/react-native-shared-element
>Большое спасибо за развернутый ответ, я с тех пор неспешно ковыряю RN.
Не за что, рад что тебя заинтересовало!
>когда нативный компонент на android не отображается, если ему не присвоить высоту через стили
Нет, мои модули подчиняются тем же правилам отрисовки, что и обычные RN-вьюхи
Это твой самописный модуль?
По идее RN должен ресайзить твою вьюху (отданную в методе createViewInstance) сам, без твоего участия.
На всякий случай, вот как я создаю view-пакеты обычно:
Module - тут будут методы твоего модуля
ViewManager - тут будет инстансироваться твоя кастомная вьюха (метод createViewInstance)
Package - это основная входная точка твоего кастомного RN-модуля - он объединяет в себе Module и ViewManager (методы createNativeModules и createViewManagers)
Для создания своих кастомных модулей можешь использовать этот скрипт:
https://reactnative.dev/docs/native-modules-setup - оно позволяет получить какой-никакой шаблон либы для дальнейшей работы с ним
>Похоже, без понимания нативной части ловить тут нечего
Ты можешь начать с чего-то простого (RTNTextCentered вряд ли будет простым - скорее всего комьюнити там уже ого-го сколько всего навернуло)
Но в целом да - создать высокопроизводительный скроллящийся список без знаний нативных платформ сходу не получится - нужно немного попердолиться
Боже блять, какая же убогая хуета, сходу сиранула ошибкой при запуске пустого проекта как нахуй работать в этом ебаном высере?
Ты погоди, там еще с эмулятором возможно поебаться придётся, чтобы он заработал.
Версий я того рот ебал сколько этой Студио, развели зоопарк ебаный
Да я в ахуе просто с этой помойки
Стабильная это Canary
Реквестирую как за пару строчек сделать бекдор, чтобы потом на его базе собрать ботинки или что-то такое. Можно даже не за один раз, а на протяжении пары месяцев набирать объём кода. Главное по чуть-чуть и без палева, как-то его замаскировать под текущие задачи.
Нахуя?
1. Если есть патриотические чувства, то это по сути предательство
2. Если чувств нет, то это статья УК РФ + ИБ могут запалить. Ты многих процессов не видишь, но они есть, в том числе аудит безопасников, на котором вы с подливой обосретесь если будет такая хуйня
Имхо если рассматривать для заработка, то варик говно
Это как спорт. Я даже может не буду эксплуатировать уязвимость или даже не буду коммитить. Мне просто хочется придумать такой незаметный бекдор.
Да любой незаметный бекдор вскроется любой системой аналитики, которая мониторит сетевые обращения
А если проект у вас крупный, то у аналитиков сразу же заверещат алерты "Странная хуйня куда-то стучится"
Забей короче
Я уже думаю вкатиться в java и самому блять сделать его или форкануть какой нибудь и добавить нужных функций
What do you want me to tell you?
Бродкаст ресиверу поставь exported=true и вот тебе бэкдор, в который можно что угодно отсылать. А так на последних версиях сложно сделать что-то адекватное вне контейнера приложения
Нова из самых адекватных. Я сам немного в шоке с того, что променял бы любой лаунчер андроида на айосовский чисто из-за того, насколько он стабильно работает (кроме режима редактирования)
И так нову использую, но тут нельзя в меню приложений изменять их расположение, а это критически важная функция для меня
Ну для васянских поделок на коленке ок. Крупняк такой шизой заниматься не будет, щас бы обмазываться совместимостью всего фронтовского тулинга с котлином и компоузом. Да и компоуз все равно будет проигрывать по возможностям html/css, ибо там ебануться сколько всего можно наворотить.
Тоже самое с иос, очередной флаттер 2.0 с собственным рендерингом от которого все будут плеваться. Но для быстрых дешевых поделок ок. Но тогда можно и флаттером обойтись, у него экосистема то пошире будет раз в 10 за столько лет то.
Во многих языках возникает идея писать и фронт, и бек не переключая IDE, но кроме F# (Fable) я не видел, чтобы люди этим пользовались в продакшене.
Нужно ли пытаться сделать это всё своими руками или забить?
>Перспективна ли мобильная разработка?
Нет. В ближайшем будущем люди откажутся от мобильных платформ и все будут ходить с пекашечкой.
Когда говорят, что айти перегрето, то первым делом грешат на веб и мобилки
мимопроходил, сам бекенды пилю, хуй его знает, отклики не делаю, если уж завлекли, то на собес приду
По мобилкам хз, довольно узкая спеца. Фронт куда больше по вакансиям и легче вкат
В 12 главе нужно было работать с Room и чтобы загрузить тестовую бд, нужно было вызвать Room.databaseBuilder(...).createFromAssert(...).build()
Я целый час пытался запустить это ебаное приложение, оно то не отображало содержимое базы, то просто включалось сразу после запуска. В logcat ничего не было, не было никаких ошибок компиляции.
Потом я случайно убрал createFromAssert и всё заработало как надо.
Объясните, как я должен был до этого дойти нормальным образом?
Достаточно просто здесь. Если не работает код, который ты написал, то надо посмотреть, что конкретно не работает.
Концепт "не отображало содержимое базы" - это оч классно. Какая была ошибка? Что было с инстансом бд? Были там таймауты или просто пустые ответы? Если ты закидывал ассет, то почему он не прочитался? Читался ли он вообще? Не было ли ошибок в схеме?
Достаточно простые вопросы, решив которые, ты можешь решить любую проблему. И это еще ты не дошел до мест, где реально хуй знает, как это должно работать не потому что кода недостаточно, а потому что внутренний апи хуевый, работает неправильно на разных устройствах, баги системы, либы гугла хуевые и прочее. Такие места касаются работы с аудио, видео, блютузом, камерой и еще пары мест, но 90% разработчиков никогда не прикоснутся к этим местам.
> то просто включалось сразу после запуска
Я так понимаю, вЫключалось. Если есть краш, то есть лог. Он есть всегда. Убирай фильтры и ищи ручками.
Можешь предложить что-то лучше?
Мне пока вроде всё понятно, кроме того, зачем тут нужен viewLifecycleOwner, и кажется это нигде не объясняется.
Не могу. Лучше офф доки и гайды ведра почитать, толку больше будет.
на компосте нет вакансий разве?
> Ios
> кайфуют
Ага, у них там пиздец кайф со свифтюи. Особенно с поддержкой разных версий оси.
>Почему только ебаный андроид все еще не докатился до декларативной верстки?
XML это самая декларативная вёрстка из возможных
>гемором в виде жизненных циклов
Нихуя себе, жизненные циклы на андроиде? Не может быть, у нас же миллион фреймоворков без жизненных циклов на android
>все уже кайфуют давно
Да, кайфуют жесточайше
>Я уже думаю сменить направление, эта параша не развивается никуда, вакансий 0 нахуй в россиюшке
Иди меняй, попрыгунчик
Сын шлюхи, спок
Зочем Гугля говнокотлин форсит?
Погодь, он еще не обосрался от кривого жизненного цикла компоузабл функций, где взяли уже существующий и наебашили еще 3 слоя. (про краши только в проде тоже не говори ему)
Java говно ебаное, нечитаемое, которое занимает овердрхуя строк кода. Котлин позволяет быстро и удобно писать, а на кол-во строк в байткоде тебе насрать. Kotlin не может быть хуже джавы, т.к. котлин - это набор сокращений для джавы. Kotlin безопаснее джавы за счет null safety. Оправдывайся.
Вот этого двачую. Немного попилил сайти для жены на реакте - господи как же пиздато не инстансировать вьюху на каждый пук, а просто открыть тег
https://docs.google.com/document/u/0/d/1XqM2oiPxr-fw09yKEvo-qfIb3gScuBsvrwC9JZNTkDQ/mobilebasic
Фига, игру делать без юнити? Слушай, а там работа случайно не связана с веб вью? Такое чувство, что это тема про создание игр-заглушек, чтоб плей маркет одобрял приложение, а после одобрения, вместо игры будет открываться web view со ссылкой из firebase, а ссылка ведет на сайт со ставками, таким образом приложение со ставками посидит в маркете какое-то время, как реклама.
Да, 99%, что это скам плей маркета. Ты делаешь заглушку, после одобрения ссылка на firebase перестает быть пустой, вставляют ссылку на запрещенные в плей маркете ставки, тем самым привлекая трафик для ставкоблядей или казиноблядей. Сам делал пару приложений, по 2к платили за штуку. Работа однотипная, т.к. от тебя будет требоваться вот такие одноразовые игры-заглушки делать, чисто чтоб в плей маркете одобрили и загрузили. Денег будут давать, но опыта в такой хуйне не наберешься, там и арзитектура не нужна, и понимание системы. Тупа клипаешь мини игры-заглушки, или викторины. Мб это нарушает какой-то закон о ставках, хз. Если еадо денег, можешь согласится, но опыта в этой хуйне ты не получишь 100%
>Java говно ебаное, нечитаемое, которое занимает овердрхуя строк кода.
Cмотря для чего, если ты посмотришь на решение алгоритмических задачек, то на джаве намного компактнее чем на котлине
пишу на котлине, плююсь "сахаром"
Не аргумент, сахар нужен, с ним лучше
>>799568
Это твой единственный аргумент? Умрет прям завтра, проверяй. Даже с companion object, код на котлине занимает меньше места, за счет всего остального синтаксиса.
>>799612
Мб производительнее чутка для алгоритмов, т.к. котлин итератор будет юзать для некоторых циклов, но по синтаксису котлин короче всегда, алгоритмы можно сокращать extension-ами всякими в одну строку, и прочими вкусными штуками
Ну мне, например, кажется, что оператор ==, проверяющий равенство ссылок, а не равенство объектов, более семантически верен.
>Это твой единственный аргумент?
А зачем искать ещё? Шизы которые сделали эту хуйню не в силах произвести что-то годное
А по факту то 99% JAVA-разрабов про котлин то и не слыхали
> Чтобы при закрытии фрагмента джоба отменилась
Всё, я понял. Просто в книге было написано, что есть некий viewLifecycleScope (ну либо я просто жопой читаю) и я сидел думал, зачем же писать viewLifecycleOwner.lifecycleScope.launch {...}, если можно написать просто viewLifecycleScope.launch {...}, а оказывается никакого скоупа под названием viewLifecycleScope нет...
Потому-что джависты (вне андроида) исключительно поддерживают легаси? Ну типа на JVM уже лет десять нет новых проектов, года с 2015-17 если jvm и берут то используют скалу/котлин.
мимошел
потому что в нормальных компаниях новые блоки пилятся на компоузе, но все приложение написано на xml и его ты должен знать и уметь поддерживать
какие нахуй 3 слоя? какой нахуй кривой жц? меняется стейт - вызывается рекомпозиция всех зависящих от стейта функций и их вложений. что тебе не так, мань?
>"Deprecated in Java"
>главное, что андроид разрабы
Это те петуховены, которые туду листы делают?
На мобилках норм перформят игрушки, которые либо на крестах, либо на сисярп
Та же телега почти челиком на крестах написана
Кто вообще разрабатывает аппки на котлине? Это же язык для казуалов
порядок жизненного цикла вспомни. выполняется ли рекомпозиция после onStop-onStart? Сработают ли LaunchedEffect'ы и сайдэффекты жизненного цикла при детаче фрагмента с Compose версткой? Ты вообще понимаешь, насколько на самом деле там сложный жизненный цикл получается в нескольких кейсах?
Это для тех, кто раньше на джаве писал приложухи. Тред гейдева в другом месте. Что - то в вакансиях я не встречал стэк на плюсах для андроид разработки, везде котлин и джаву(для поддержки легаси) пишут
Тогда я пошел плюсы учить, оказывается котлин не нужен. Дураки какие-то сказали, что под андроид джаву и котлин юзают, ввели меня в заблуждение
Ну у шарпа то более развитая экосистема чем у говнокотлина, так что варик не такой уж и плохой
Есть конечно до сих пор упоротые, которые на жабе проекты андроид допиливают, но они теряют возможности новых технологий.
>большинство приложений todo листы
с чего то же надо начинать, хорошая практика впринципе
>xamarin, react, flutter
нинужны
>проекты андроид
Бля, какие там проекты то кроме гуидятиты?
>Чего порвались то от котлина?
зачем учить очередной не нужный язык? С Явой ты много куда можешь вкатиться, а с Котлином только на хуй
все представили ебало этого клоуна, который считает, что важен язык, а не инструменты?
чел, какая нахуя разница, есть у меня public void test или fun test? Типы те же, структуры почти те же, синтаксис в 90% тот же. В срезе андроида вообще поебать, не от этого жопа горит, а от хуевых либ гугла (типа paging, media и прочие залупы)
> что важен язык, а не инструменты
Конечно, я не собираюсь ни Дарт ни Котлин ни Го учить, только потому что кому то захотелось сахарка.
>синтаксис в 90% тот же
Тем более, на хуй Котлин не нужен
то есть, в остальных 10% случаях будем все вместе хуй посасывать и в 10 раз описывать equals, да?
И вместе корутин треды юзать и вручную их контролировать?
Не забываем про копию через конструктор в джаве
не неси хуйню плз
> 10 раз описывать equals
IDE сама генерит их одной кнопкой + есть ломбок/автовалью если даже это делать впадлу
> корутин
Exception handling передает привет + местами максимально странные и неочевидные апи.
> Не забываем про копию через конструктор в джаве
БТВ упор на иммутабельность это чисто котлиношиза. Давно замечаю за собой и другими людьми ее использование, когда достаточно сделать что-то мутабельным, а не копировать списки по 10 раз при изменениях/доабвлениях элементов. Возможно то что дефолтный кодстаил неприятно подчеркивает var'ы тоже играет роль.
> БТВ упор на иммутабельность это чисто котлиношиза
Упор на иммутабельность это шиза функциональщиков
Будет ли флаттера и дарта достаточно чтобы запилить приложения уровня трекера/заметочника/задачника?
Да
> но сейчас захотелось сделать небольшие приложения для себя
Трекеров, заметочников и задачников полно, их каждый ньюфаг делает.
Зачем делать это на флаттере и дарте, это же не будет каким-то испытанием.
С чего-то начинать надо, а тут уже есть конкретные потребности.
Хоть приложений и полно, но в каждом бывает чего-то не хватает.
А так у меня будет возможность дописывать для себя функционал
Compose Multiplatform трогал. Перенес пару компонентов с андроида на веб+десктоп+андроид. Пока не вижу реальной причины писать на этом проект. На флаттере тоже при наличии React PWA.
ты конечно трипл, но не прав. эквивалентность требуется в разы чаще, чем сравнение ссылок. поэтому в котлине, для людей, сделана эквивалентность через ==. а если уж нужно сравнить ссылку, то добавь еще один лишний символ
в кейсах, которые не предназначены для использования? зачем тебе рекомпозиция после срабатывания онстопа? зачем ты сайд эффекты делаешь с привязкой к жц фрагмента, если компоуз призван убрать фрагменты как сущность? тут просто нет поддержки всего легаси гамна, как в джаве, для плавного перехода
Так его тоже в companion object пихать надо
> зачем ты сайд эффекты делаешь с привязкой к жц фрагмента, если компоуз призван убрать фрагменты как сущность
Если делать вид, что настоящих проектов не существует и все создают новый проект как только гугл выпускает новую свистоперделку - то ок, согласен
> зачем тебе рекомпозиция после срабатывания онстопа
Оптимизация
https://www.youtube.com/watch?v=xsXiC0BXUjI&list=PLwLWudZqoxrMIan6rQ49YQlEnqgEF1rhD&index=4
Тебе не нужны либы для работы с MVI.
MVI на андроиде представляет из себя все тот же MVVM, но с одним классом-состоянием. Вместо кучи мест, где у тебя лежат данные, когда есть проблемы с их синхронизацией (показывать данные только если у юзера не проставлен флаг, например), у тебя есть один data class State(), где описываются все данные. Так их намного легче синхронизировать.
>>806943
Card и TextView с фоном как вариант
А, ну то есть как тот чувак сказал. Ну тогда более чем понятна
Так уж получилось, что котлин никому, кроме андроид-разработчиков, нахуй не нужен, потому и обсуждается итт.
компост
Вьюшки
У меня сейчас pentium gold , подвисает android studio А когда запускаю эмулятор, процессор кипит
а я сейчас на вьюшках всё делаю пока что, думаю с ними легче найти барена и миску рис
Вью однозначно
Вот с работой ты прав походу, анон.
Я изучал XML сначала. Потом прикоснулся к Compose и пиздец. Он мне понравился, курса на нём прохожу и сам че то пытаюсь высирать. А меня тут уже пару раз обоссывали и говорили что с компоузом работа есть, но для джуна онли XML
Ну понятно, что задача может кинуться на любой свободный поток, но в основном то всё верно?
если разрабатывать с поддержкой всего ранее написанного гамна, то через десяток лет мы получим ёбаную джаву
3 года стажа на хмл. сейчас пилю первую фичу на компоузе.
плююсь и матерюсь каждые пол часа. но вероятнее всего, когда разберусь и привыкну, будет удобнее и быстрее на компоузе. но пока не привык - боль ебаная
> с поддержкой всего ранее написанного гамна
И все сделали вид, что у нас нет легаси))000 В АНДРОИДЕ)))))0000000
чел бля у тебя каждые два-три года официальный подход к UI депрекейтят, а ты мне рассказываешь, что легаси нельзя поддерживать
Компании живут более 2 лет
нормальные компании в рамках техдолга актуализируют стек и свое легаси
держи в курсе
> нормальные компании
> либа от Google
А что делать остальным, у кого нет 100500 андроид разрабов?
Лошидзе джавовская, спок
не изъебываться и не тащить все "модное и современное" в проект?
https://www.ozon.ru/product/head-first-programmirovanie-dlya-android-na-kotlin-3-e-izd-griffits-devid-griffits-don-1071314205/?sh=sl643Xyweg#section-description--offset-140
Жаль, что не все поймут, почему все приложения должны быть переписаны на из xml компоуз)) Это действительно тонко. Так мало в наше время людей интересующихся UDF и функциональным программированием))
Так поищи оригинал, а не перевод
на пикриле
Не хранить их в приложении, не? Плюс ключи разные бывают, некоторые можно прям так и оставлять в коде.
Поясните за позицию на экране, вроде как координаты элемента на каких то устройствах могут быть не целочисленные, типа субпиксельное расстояние или как то так, где то попадалась инфа но потерялась. Дайте пожалуйста ссылку если кто знает.
> переписывание ради переписывания
> почему я не могу затащить в проект новые подходы без боли и костылей
https://nnmclub.to/forum/viewtopic.php?t=1654395
>>813987
Ну это буржуйское что то, т.е. сразу -70% к скорости чтения
+- тоже самое что в head first только на англюсике
продакшн
раз не нужен, съеби в джава тред
Решал определенные задачи во время написания приложений. Практика > любая теория
val params = new RelativeLayout.LayoutParams(30, 40)
params.leftMargin = 50
params.topMargin = 60
rl.addView(iv, params)
>ну или ебани канвас
а на нем как? вьюгрупп не желательно использовать, прст любой контрол по координатам
Так ты его себе уже говноджавой засрал, поздно очухался
>Ты можешь проставить эти параметры в любом ViewGroup
Я правильно понял, что если мне нужны три кнопки по абсолютным позициям на экране, то мне каждую кнопку нужно запихать в отдельный лейаут и потом уже эти лейауты разместить по координатам?
Не, ты эти кнопки можешь в один Relative пихнуть, указать им align и отступы. Принцип "абсолютные позиции на экране" мне не понятен. Учти, что экраны могут быть разные
Ну вот в Винде есть окно, что бы разместить кнопку я задаю координаты X и Y и она помещается по этим координатам относительно родительского окна, в Андроиде как я понял оконного режима нет и вью занимает весь экран, поэтому координаты совпадают с экранным, но я скорее выше не точно выразился. Нужно так же как в Винде, разместить программно несколько кнопок (и дополнительных виджетов) по заданным координатам X и Y относительно родительского главного представления/вью. Разные экраны и повороты будут учитываться програмно.
Может
Охуенчик
>New Project -> Next -> Next
>ЕБЛЫСЬ ОШИБКОЙ ПИДОР ТЫ НЕДОСТАТОЧНО КРАСНОГЛАЗЫЙ ЧТОБЫ ПОЛЬЗОВАТЬСЯ НАШЕЙ НГОВНИНОЙ
Как вы вообще на этом говне что-то создаёте? Вам же буквально с порога ссут в ебало
Не мобильщик, так, играюсь, но фп для ui это охуенно
>>816408
И так буквально все для мобилок. Да, это легко пофиксить, найдя ветку на stackoverflow, но осадочек остаётся. Я не знаю, как там у айосников, но вряд ли они на пустом месте костерили бы xcode. Единственное, что просто работало после установки это флаттер, но он кал (инпутлаг, который фиксить не собираются)
Тут же написано в чём обсёр у тебя. Версию gradle поменяй.
мимо сижу на Electric eel от 27.02.23 с Gradle 7.4.2 и ебал обноаляться из-за частых багов в новых версиях. Может у Айосо-богов Студия не такая всрато-багованная
>Версию gradle поменяй
Да не, проблема была совсем в другом - в том что по умолчанию использовалась не JAVA поставляемая с Android Studio, а какая-то другая. Нахуя - хуй его знает. Почему они по умолчанию не берут джаву из Android Studio - загадка века нахуй
Долбоёбы
В последних версиях берут. А так для этого есть много причин, начиная от наличия сертификатов до требований проекта
Код дашчана тоже страшно смотреть (тысячи строк кода в одном файле), но это мое любимое предложение с точки зрения скорости
Вот бы фреймворк на расте по типу react-native, чтобы кроссплатформа и рендер в нативные контролы
А всё
Повышаем minSdk
ждун 0 дней коммерческого опыта
Лол, я как раз в тред насчет этого пришел поныть.
Начитался историй про то, как гугловые боты блокируют аккаунты по непонятным причинам без возможности реабилитироваться. Вот теперь сижу и думаю, может обратно в бэк съебать, хоть там и не так комфортно работалось.
Может зря парюсь, тк свои приложения публиковать не планирую, а работаю на дядю?
Лол, я как раз в тред насчет этого пришел поныть.
Начитался историй про то, как гугловые боты блокируют аккаунты по непонятным причинам без возможности реабилитироваться. Вот теперь сижу и думаю, может обратно в бэк съебать, хоть там и не так комфортно работалось.
Может зря парюсь, тк свои приложения публиковать не планирую, а работаю на дядю?
Прикол плей маркета в том, что тебя могут скачать со всего мира, в том числе с платежеспособных стран с богатым населением
Если продукт для РФ, то, возможно, сойдёт. Хотя я лично рустор не ставил и не собираюсь - сбер с сайта можно скачать, а остальное все в маркете есть
1. Как долго в это вкатываться и насколько это сложно? Достаточно будет какой-нить курс посмотреть, чтобы по быстрому запилить?
2. Что вообще нужно знать помимо основного языка (java или котлин)? Какие фреймворки или библиотеки?
3. И как там GUI пишется? Просто элементы из ide перетаскиваются и события назначаются на кнопки или можно html5 + css + js или вообще bootstrap5 накатить - или это еще сложнее будет и лучше использовать стандартное все?
4. И на какую бесплатную IDE ставить, и чем компилить в apk?
Если ты знаком с js и прочей вебнёй, то на реакте быстрее сделаешь.
>1. Как долго в это вкатываться и насколько это сложно? Достаточно будет какой-нить курс посмотреть, чтобы по быстрому запилить?
Все курсы говно, придётся курить документацию, статьи и видео
>2. Что вообще нужно знать помимо основного языка (java или котлин)? Какие фреймворки или библиотеки?
Можешь на джаве, если потребность одноразовая, библиотеки там андроидовские, жидбреиновские и джавовские
>3. И как там GUI пишется?
Гуй надо через XML писать, потом в классах фрагментов и активити "раздувать". Есть ещё декларативный компоуз, там нужно много в котлине понимать
>4. И на какую бесплатную IDE ставить, и чем компилить в apk?
google's android studio
Им впадлу ебать вьюшки, нужно компоуз пушить.
Я больше всего ору с того, что там даже на иос реализация материал 2 либы была более полная и обновлялась быстрее чем на андроид. Про флатер вообще молчу, это топ приоритет у них нах.
что-то пошло не так блять, ага - смотрю в логи и вижу пикрил.
че мне делать андройдач?
в поддержку уже обратился, сказали что дали мой ишью на изучение.
1с язык для написания продуктовых фич, котлин это язык для смузихлебов проигрывал с челика, что на хабр постил цикл статей про 1с
Я смузихлёб, в чём проблемы?
Ситуация такая - телефон запускается, но уходит в рекавери спустя 30 секунд. В прошлый раз такое было потому что безмозглый биомусор из убогой компании озон высрали обновление которое каким-то хуем умудрялось ломать устройство. Я думаю в этот раз какие-то уебки сделали тоже самое, но какое именно приложение я не знаю, и хочу узнать порядок их инициализации в логах
У тебя в РФ все равно 95% мобильных разработок - это всякая хуйня для банков для внутреннего потребителя
До заводских + скачать полную прошивку это оно или нужно какое-то вмешательство на более глубоком уровне? Какое именно?
Проверь, заблокирован ли бутлоадер. Если заблокирован, можешь не беспокоиться. Если нет и стоит кастомный, то, если ты прям шиз параноик, то можешь перепоставить чистый. Только осторожно, можно получить кирпич.
Я бы на твоём месте лучше беспокоился о том, что какой-нибудь аккаунт гугл или ксяоми предыдущего владельца останется на телефоне и ты там нихуя сделать не сможешь.
Нужно пересечь границу, а там службисты телефоны уносят и делают с ними неизвестно что. Вот и хотелось бы после этого снести все наверняка и не беспокоиться больше.
Спасибо за совет по бутлоадеру
Тащемта, а что мешает заблокировать загрузчика обратно после злодейства и таким образом не оставить следа?
Сап. Волею судьбы потребовалось залезть в проект андроид приложения на котлине. Там объекты одного класса помещаются в объект другого класса в некий MutableSlateFlow. Начал гуглить что это такое, что такое StateFlow и пока не очень понял. Можете простыми словами объяснить что это и камерно работает?
Есть обычный Flow - это холодный поток данных, который эмитит данные только когда ты его коллектишь
Есть SharedFlow - горячий поток данных, который эмитит данные в том числе когда никто его не коллектит. У него есть параметр replayCache, который задает сколько последних значений будет будет отправлено новоподписавшемуся коллектору, extraBufferCapacity, также параметр для задания стратегии при переполнении буффера.
Есть StateFlow - SharedFlow с replayCache = 1, onBufferOverflow = BufferOverflow.DROP_OLDEST, c заэмиченным при создании начальным значением и вызванным на нем операторе distinct, а также с пропертёй из которой можно взять последнее состояние без suspend и блокирования
Где ему найти исполнителей? Обращался он на fl так там говорит дичь какая то с ценами кто во что горазд и за 50к предлагают и за лям. Выбрал одних - обосрались, нихера не сделали, выбрал других - та же картина. Истории там разные и по своему ебанутые. Уже не знает что делать.
Что посоветуешь? Где обитают адекватные люди.
Если не туда написал, направь куда нужно.
На дваче поищи, тут есть на любой кошелек исполнители
fl ru пахнет калом зарегистрировался там пару лет назад и охуел от петровичей, которые хотят за 50к фулл бекенд и чтобы красиво, в то время как западный барин заплатил бы куда больше и без ебанутых требований, почему хотя бы не на Хабре? Апворк, понятно, сейчас не доступен
Спасибо, но он ищет более опытных, но если ему потом кто-то понадобится, отпишу.
>>836297
Да хз почему, видимо где-то прочитал, что толковая площадка. Что касается заказчиков шизов, по его рассказам там и исполнители ебнутые тоже.
>>836437
А как, тупо в гугле вбить?
Вот например с его слов: на FL была одна из фирм которая откликнулась, солидная с сайтами да портволями, девочка на телефоне. После разговора она такая: тырым-пырым по вашему тз будет столько то часов и согласно таксе - 700к+, друг говорит - бюджет максимум 500, она - тогда пока.
Звонок через 2 дня - поговорили и можем выполнить за 500 укладываемся, плюс какая то скидка и итоги 450.
Друган в ахуе, с одного разговора скосил под 300к чуть ли не половину. Даже на базаре такого нет.
Если интересно какой треш творится с фрилансерами. Минимальная сумма за которую готовы были сделать 8 000 рублей. Максимальная 1 200 000 рублей.
В среднем 300.
Что там за 8000 готовы сделать хз (было и 10 и 15 и тд)
Помню он тогда дико охуевал и говорил, что в его сфере он бы давно по миру пошёл с таким ценообразованием.
Посоветую хабр ему.
На фриланс идут работать те джуны, которых в штат не взяли, отсюда и проблемы с определением стоимости работы, вполне может быть что та девочка из фирмы на телефоне это сестра брата фрилансера джуна, который в душе не ебёт сколько твоё приложение делать по времени и сколько это может стоить, пусть гуглит фирмы в своём городе и ножками туда идёт
так сложно поискать в гугле "веб студии андроид"?
1) План по разбивке и связям я верно представил?
2) Как с DI дела делать? Если что, использую Koin
>Как у тебя фичи в вакууме без доступа к домену?
Доступ к домену через апп, как и между дата-слоем и доменом
>Какой нах домен ретрофита и домен рума?
Ну я условно их назвал так, имеется в виду, что в одном домене юзкейсы и етк, связанные с апи, в другом - связанные с бд, и так далее. Ибо в разных фичах будут юзать одни и те же юзкейсы, по типу получить ссылку на картинку по АПИ или сохранить эту ссылку в БД
Чувак, это горизонтальная модуляризация, сейчас только так и делают в проектах крупнее хелло андроед
Вау, вот это да! Расскажи побольше об этом
Не может быть юзкейса "Прочитать файл". Может быть юзкейс "Прочитать таблицы". Domain слой этих историй надо удалять. Навигация тоже знает о фичах. Фичи знают о дата-модулях.
>Не может быть юзкейса "Прочитать файл". Может быть юзкейс "Прочитать таблицы"
Это просто названия
>Domain слой этих историй надо удалять. Навигация тоже знает о фичах. Фичи знают о дата-модулях.
Я такой способ, в который пытаюсь, увидел у этого хохла: https://www.youtube.com/watch?v=JrraiKF-7XA . Ну и в нескольких статьях разных. Суть в том, чтобы модули были связанны только через app, а не друг с другом. И что не так с такой разбивкой домейна? Если запихнуть его в фичи, то будет излишнее повторение кода, а если сделать его целым - но разным фичам не нужны сразу все источники данных
Ладно, я разобрался, то, что накалякал хуйню. Пришел к выводу:
1) Бизнес-логика и презентор в одном фиче-модуле, дата слой в другом, все склеивается в главмодуле. Ебка со склеиванием, но зато дата слой отдельно и остальные отдельно
2) Бизнес-логика, презентор и дата в своих модулях, но ебка со связями
3) Просто разделение по фиче модулям, в каждом презентор, свой домейн и дата
Что корректнее, или, как понимаю, все зависит от приложения?
Нах ты этим занимаешся? Ты понимаешь, что это от проекта к проекту по-разному делается? Если ты вкатун, потрать ресурсы на другое
Да
Пощелкай по слоям
Переключи на вкладку с инфой а не каловую бесполезную вкладку "для разрабов"
Да, мы тут архитекторы как бы, а не ссаные формошлепные кнопкокрасы с фронта или свифта
Оказалось наши обновили страничку политик конфиденциальности. Гугл прислал предупреждение, мол, атата сделаем. Прописал актуальную политику в консоли, через полчаса одобрили. Но блядское предупреждение в обзоре публикации осталось висеть.
И как это понимать? Я исправил или нет? Надо еще что-то сделать?
Сука, надо было в бэкенде оставаться, бесит эта неопределенность и перспектива вечного бана в гугле. Нахуя я сюда полез? Лучше уж падающий прод по ночам чем это
Просто напрягает, что угрожают через месяц удалить приложение.
codewars - easy level (после решения задачи показываются решения других)
Фрагменты не нужны за пределами табов и вьюпейджера
Допустим у меня есть master ветка и я хочу поработать с фичей, создаю feature. Сделал много изменений, успешно работаю, потому что редактор заботливо подчеркивает мне все изменения, все новые строки кода, короче показывает diff.
Я что-то сделал и закоммитил. Но потом понятное дело diff больше показывать не будет, только новые изменения от текущего коммита. Но КАК БЛЯТЬ заставить редактор показывать мне diff теперь между текущей работой и базовой master веткой? Не в отдельном окне Compare, а непосредственно в редакторе кода. Неужели я слишком дохера прошу?
Короче, сделать как-то это изменения not staged можно на время?
Revert commit может
Внимание вопрос- какие плюсы и какие минусы для вката в этот ваш котлин. И подскажите, пожалуйста, на каком еще языке можно писать на ведро? Спасибо.
>Внимание вопрос- какие плюсы и какие минусы для вката в этот ваш котлин.
https://kotlinlang.org/docs/comparison-to-java.html#what-kotlin-has-that-java-does-not
>И подскажите, пожалуйста, на каком еще языке можно писать на ведро?
На java, C++, dart, C#, JS
Не понял, зачем тебе это
Обычно как происходит:
1. Пишешь в своей ветке
2. Периодически мерджишь мастер в свою ветку, чтобы совсем не отстать
3. Перед пулл реквестом (запрос на мердж твоей ветки в мастер) ещё разок сливаешь мастер к себе
4. Создаёшь пулл реквест, видна вся разница между твоей и мастер-веткой
Да
на компоузе простые игры легче чем на вью делать
Да. Тебе в /ga
https://itsobes.ru/AndroidSobes/
Нет, каждый спрашивает во что горазд. Вопросы по той ссылке тоже вполне валидны.
> Каким образом это всё возможно выучить?
Только на практике, писать разные прилы.
Слушай, не знаю точно. Вроде довольно стандартный. Или для этой библиотеки надо как-то особо настраивать?
Конечно заработало, у тебя же ширина текста и расчет выравнивания поменялись. На другом размере экрана/текста может поплыть тогда.
Залил в маркет, все норм. На выходе на двух сяоми с 13м андроидом не хочет обновляться (не удалось обновить, попробуйте позже), только снос приложения помог установить новую версию. На одном обновляли дев версию маркетовской, на втором маркетовскую маркетовской.
На самсунге с 13 версией все норм обновилось, на старом сяоми тоже норм. На эмуляторе с гугл сервисами все норм.
ЧЯДНТ? Это какие-то конфликты с нотификациями?
MLщики, поясните нахуй вы нужны щас? все нужные ML модели уже давно сделаны, да я и не понимаю нахуй вообще у каждой гавноконторы своя обученная модель, зачем озону AI бот, если можно зайти через chatgpt и сделать всё тоже самое? Просто какой в вас толк, я понимаю раньше был хайп по ИИ, но щас люди уже не хотят очередное гавно у себя запускать, которого там и так уже сотни
тоже нахуй не нужны
сейчас попытался поменять обратно на playfair_display_bold, на макете он меняется, а при запуске прилы - нет. Может быть просто библиотека не работает корректно с этим шрифтом именно, отсюда и все проблемы были?
Ответ прост - веб тормозит на мобиле + в мобильных прилах сложнее блочить рекламу и зонды а это плюс бабки.
котлин
Можешь сколько угодно рассказывать какой веб быстрый и срать своими скринами графика 60фпс и бенчмарками которые на андроиде в 2 раза хуже чем на иосе на Speedometer2, но любой пчел с наметанным глазом сразу замечает, когда нативная прила показывает вебвьюшку и начинает работать как кал говна
небольшая задержка не повод держать штат дармоедов
>iGaming
>клоакинг
Потому что это web-view наебалово под казино, ставки или на говносайты знакомств.
Если от 15к до 45к за 1 проект то это збс, но скорее всего эти пидорасы такую стоимость за целый месяц работы заплатят
Динозавр, спок
Сын шлюхи, спок
нееет! вретии! все уже мигрировали 10 раз. сначала на андроид компоуз, потом еще раз на мультиплатформ компоуз.
Ага, уже 5 лет композ мульфтиплатформ в проде, сейчас уже год под фуксию на нем пишем
Замени "учебник по питону" на "учебник по котлину"
Что ты имеешь в виду?
вкатун
Хз, если хочешь столько получать, то можешь. Только учти, что это просто штампование однотипного говна, это не считается за реальный опыт, ты ничему не научишься в процессе. Останешься на том же уровне, что сейчас. Сам делал иногда, не на постоянной основе
У меня есть выбор, я завтра пойду собеседоваться на стажёра. Если не пройду, буду дальше петы делать и выполнять тестовые
Ну если тебе норм потом не светить этим в резюме и другую работу искать тем же вкатуном.
Хочу попробовать собрать telegram из исходников на собственной машине (xubuntu) для изменения некоторых элементов интерфейса. Опыта в программировании по сути нет — только чуть-чуть C и bash.
Не могли бы подсказать какой-нибудь простой вариант как это можно реализовать. Гайды, которые я нашел в сети мне не помогли. Дошёл только до создания apk, которое не работает
Android studio устанавливал с сайта с помощью предложенного скрипта.
Спасибо. Я совсем забыл, что есть ещё и telegram x.
вкатун
Задачи какие были?
1080x2340, 0:08
Сколько ни пытаюсь сделать, ничего не получается, нагуглить тоже ничего не могу.
Зачем тебе вообще телега? Ты свой васян-мод хочешь написать или получить опыт? Во втором случае советую начинать с нуля приложение
Я другой анон. Как раз пишу своё приложение с нуля и мне очень нужен этот эффект зума
У Glide библиотеки есть зум
Берешь кота, берешь кашу, и пихаешь ему в рот
ZoomableImageView.
Но тут есть нюансы. Когда зажимаешь, он рендерит такую же картинку над текущей картинкой в списке. Поэтому ты можешь ее зумить больше, чем сам список
Если ты имеешь в виду https://github.com/RaviKoradiya/ZoomableImageView, то это совершенно не то, потому что там сначала надо призумить картинку, и только потом её можно пинчить как хочешь.
>>874937
По-моему я нашёл решение — нужно повесить обработчик нажатий на ViewGroup, в котором хранится картинка и в нём вызывать setScaleX/setScaleY/setTranslationX/etc.
Но выглядит это как-то уж очень костыльно.
Что за залупа? как может памяти не хватать если там 5 строчек кода в проекте?
Удалил проект и создал новый с таким же кодом, всё работает, хз чё это было, там не было циклов, только лист и пара переменных с лямбдами
Может настройки специфичные у проекта?
У тебя билду памяти не хватает, а не приле. Чекай чем билдишь и как памяти дать больше.
Я хочу их нейронку попробовать, а она доступна только с ультимейтом
plati ru же, братка
Да куча стран делают карты, достаточно приехать на недельку. Ну, может, 100 баксов юристам за сопровождение заплатишь
Это так поначалу, если ты начинал с джавы, потом перешел на котлин
Даа, на жабе всё просто и понятно) Жаль только, что даже примитивный код занимает весь экран, нет функциональности, null безопасности, extention-ов, а чтобы было хоть немного удобно, надо добавлять библиотеки типа Guava
>ет функциональности, null безопасности, extention-ов
И не нужно, нахуй. А излишняя лаконичность вредит читабельности. Это всё равно как переменные называть dt, ds, cr
Ну хуй знает, дрочить строчки кода ради читаемости. Контекст-то не бесконечный, пока листаешь эти экраны кода, уже забываешь, что там было
Мне почему функциональные языки нравятся – бизнес логика короче получается. Где-то процентов на 30. Только работы на них нихуя нет
в жаботлинах не шарю
Как в коине на компоузе переиспользовать вью-модель для компоуз-"фрагмента" (экрана то бишь)? Т.е. получается, если я просто вызываю koinViewModel(), то ожидаемо получаю новый инстанс. А как мне достать (и при необходимости дестройнуть) уже существующий, созданный, который еще не был убит системой?
А то пока сделал, что мейн-активити держит на себе вью-модели "фрагментов", но это какой-то костыль и говной воняет.
кал
дай
есть, пытайся в алгосы (на собесах енивей будут спрашивать) и параллельно в андроид, ну офк намного больше времени уделяй андроиду
Что такое алгоритмы? что это практически значит? я ток в универе видел блок схемы типо начало алгоритмы - блок ввода данных - цикл - конец. Что я должен учить то там?
ну вообще я в них и сам не силен, но во первых есть внатуре конкретные алгоритмы под определенные задачи, а во вторых имеется ввиду решение задач на всяких литкодах, ведь из них и состоят алгоритмические собесы. Просто залетай на литкод и решай задачи, если прям совсем с нуля то смотри решение, пытайся вникнуть и повторяй на похожих. Так со времнем сам всё поймешь что надо будет для собеса (ну можешь и погуглить)
да щас время такое, что надо уже всё дрочить, вакух итак крайне мало, будут выбирать самого задроченного по всем фронтам, начиная от алгосов
Проблема в решении задач в том, что я нихуя не понимаю что от меня хотят, решение может быть изичным типо написать один лист и вывести из него какое нить значение, но само задание написано так ебано, что хуй поймешь это, как фиксить?
Да, это единственное что есть смысл дрочить
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), алгоритм бойера-мура, алгоритм кнута-морриса-пратта, и т.д.
>>882110
Решать задачи
>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), алгоритм бойера-мура, алгоритм кнута-морриса-пратта, и т.д.
Как эта залупа поможет в написании приложений?
Зачем спрашивать вещи, которые не будешь использовать на практике? звучит неразумно, сомневаюсь что такое будет ирл
Это тест IQ + тест на задротство. Нет смысла спрашивать только то, что ты будешь использовать на практике, т.к. нанимают не контрактника, которые отработал и забыл, а человека, который даже сменив профиль должен приносить велью компании, для этого он должен быть умным и готовым к задротству ради задротства
>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), алгоритм бойера-мура, алгоритм кнута-морриса-пратта, и т.д.
Всё это говно было в унике, ничего из этого говна не помню и вспоминать не хочу. Нахуй не нужно. Если такое на собесе спрашивают, то контора душная.
меня на прошлой неделе на собесе в офисе спрашивали алгосы какие то, я их не знаю, потому что я инженер по образованию, знакомый андроид синьор говорит что нинужно тоже
>Если такое на собесе спрашивают, то контора душная.
Примеры "недушных" контор? Всякие Хуйсофт и ПиздаСолюшнс к айти и программированию строго говоря отношения не имеют. А только такие и не спрашивают алгосы
Нет, айсикью тоже роляет. Сама дрочка невозможна, если ты не видишь нужный паттерн в задаче.
айсикью меньше 100, зп больше 300, сливаюсь на медиумах
Когда утонет, тогда и приходите.
ну переезжать значит в мск/питер
Вкатываться не на удалёнке, работать в офисе год, уезжать домой и устраиваться на удалёнку
Ну во-первых в крупных компаниях типа хуяндекса, хуйкоф, и прочих регулярно проводится набор, это открыто и известно. Во-вторых ты можешь просто взять список всех контор и по порядку написать им, что ищешь стажировку по такому-то направлению
там надо дрочить литкод, сражаться за стажировку 1000 человек на место
В доке и не должны пояснять нах та или иная вещь нужна, иначе это была бы плохая дока
А где найти пояснение то? я вот в душе не ебу нахуй нужны лямбды и генерики на практике
Книги по типу kotlin in action, или просто кодить и крутиться в этой теме и будешь понимать
бумп вопросу
Это могут освоить только it-студенты анальники, либо те, кто долго и упорно дрочит андроид по 6 часов в день после учёбы/работы чтобы вкатиться. Мне даже на бесплатную стажировку отказали, а на джуна в этом году даже не надеюсь устроиться. Но если я буду очень много заниматься андроидом и литкодом, то согласно плану смогу найти работу летом
> это физически невозможно всё выучить
А это и не надо учить, просто +- помни че вообще есть, а как этим пользоваться похуй, остальное нагуглишь в процессе. Да и вообще, вся работа это скачать джейсон, распаристь и показать в списке, ума много не надо.
>>887348
> а на джуна в этом году даже не надеюсь устроиться
Потому что надо слушать волчью стаю. Набивать руку на написании прил, фейкать опыт и сразу идти на мидла. Устроится на джуна это в принципе нереал сейчас. Всем нужен пчел который будет деливерить, а не за которым нужно жопу вытирать.
ООООООООООООООООООООООООО
> Да и вообще, вся работа это скачать джейсон, распаристь и показать в списке, ума много не надо.
Базу /pr/ выдал. Для 95% точно, если не 98-99%
Научите фейкать опыт на мидла, я хз что там спрашивают на собесе. Сейчас даже на джуна не берут, спросили за паттерны проектирования и WorkManager, вот и пососал на них. Первое наизусть не помню, второе не юзал
> я хз что там спрашивают на собесе
Внезапно абсолютно тоже самое. Ток паттерны)))) не будут спрашивать.
Я не верю что это спрашивают у джуна, ты тролишь
Через сайт фнса
буквально на каждом шагу лямбды и генерики
в UI точно
1. Могу ли я сейчас зарегать акк из РФ и продавать подписки через Google Pay не для россиян?
2. Слышал что можно добавлять доп систему оплаты. Это для продажи для РФ или вообще? Я не могу использовать гугловскую системы оплаты сам? В смысле получать на нее бабос...?
3. Если я зарегаю акк то не смогу его перевести в соседнюю страну для получения платежей итп на тот банковский счет?
Я читал в интернете, но нихуя не понятно пока ты не регаешь это сам. А комиссию в 25$ пока не хочу платить пока нихуя не ясно.
1. Из РФ нет
2. Для продажи в РФ да (вроде)
3. Нет
Зарегай акк не из РФ и всё. Для платежей внутри РФ другие варианты
>Зарегай акк не из РФ и всё
Ты про впны или полноценно открыть счет и юрлицо в соседней стране?
А адрес проживания?
>Юрлицо не нужно
Я хочу зарабатывать на приложении. Разве вот так вот просто? Или зависит от юрисдикции от которой регаешь?
>иностранная карта
У тебя не найдется совета случаем как и где оформить?
адрес укажи рандомный лол. или адрес, который указал при регистрации карты
зависит от юрисдикции. самое просто - ип в армении
погугли кому заплатить чтобы все открыли дистанционно и не мучайся
>адрес укажи рандомный лол
Так мне его потом заморозят и попросят скан очка.
>погугли кому заплатить чтобы все открыли дистанционно и не мучайся
Да это понятно. Но минимум 10к сдерут. Ладно бы содрали с дохода, а это шкура неубитого медведя, а я нищук чтобы деньгами разбрасываться.
Вот мне бы картиночку из файловой системы подтянуть, и когда она будет подтянута, отобразить. Как это сделать красиво?
Вроде бы пикрелейтед код работает, но я вспомнил про всякие flow. Они тут нужны или нет?
> _bitmap
Спасибо что не mBitmap.
Ну и нах те флоу? Флоу это поток данных, тебе буквально одна картинка нужна.
> Спасибо что не mBitmap.
Предлагаешь совсем убрать префикс? Мне казалось, подчёркивание подчеркнёт, что это приватное nullable поле.
> Флоу это поток данных, тебе буквально одна картинка нужна.
Ладно, запомню, спасибо.
не клоунада, а требования бизнеса. от работы в сбере не сильно отличается
нихуя не понял что написано, раз 5 перечитал, переведите на русский, какие блять заглушки, какие клоаки, чё он хочет вообще по жизни?
RV юзай
это казинычи, работа для отсталых, платят не больше 5 деревянных за говно приложение
Это я понял, что там остальное то написано?
Так-то норм, вечер работы на флютере и 50к в кармане
Как синхронизировать данные?
Алгоритмическую секцию на собеседовании готов пройти? Не считаете нужным знать алгоритмы, мы вам перезвоним
Патау из яндекса, ты?
1. Да
2. Да
3. Это минус
4. Да
5. Не полностью. Удачи обходить баг, на который фейсбуку похуй
6. На андроиде она тоже. И тоже хуево работает
7. Где всем друг на друга похуй потому что см п. 5
8. Нет
9. Нет
10. Ебало андроидщиков представили когда им выдают модульную за плюс?
Вопрос времени
Это не так работает. Ты можешь быстро сделать не реакте приложение с заметками. Если задача сложнее, то будут большие проблемы. Если у тебя есть ТЗ и заказчик хочет нативного опыта, то чем больше и сложнее прила, то цена растет в геометрической прогрессии. Хуету сделать не реакте легко, да
Веб-макаки не умеют писать на котлине и айосе когда нужно использовать нативную фичу
Веб-макаки не умеют в стандартное поведение нативных приложений. Поэтому скроллы хуевые, диалоги хуевые, тени вообще пиздец
С памятью веб-макаки работать не умеют (не говоря о прожорливости условного реакта)
Про безопасность забыли, у нас жаваскрипт
Материал3 выкатили на андроид, а реакт еле как имеет все либы для 2 версии
Обновил реакт - половина приложения нахуй пошла (в андроиде такое тоже бывает, но у веб-макак это постоянно)
Дебаг системных компонентов через js bridge
Отсутствие многих системных апишек в js
На инстаграм на андроиде посмотри просто. Они до сих пор вместо фото открывают вьюшку камеры и делают скриншот
Это всё мелочи, возможность не держать лишних сотрудников и скорость разработки это всё окупает
Отрендери этот тред на RN так, чтобы открывался он хотя бы с такой же скоростью, как в браузере
Важная деталь, на которой разъебешься: полоса прокрутки должна быть активной
Без нативной части это не сделать
если ты тз реализовать не можешь, то похуй вообще, что ты там окупаешь или не окупаешь
Зачем порвался, что собес не прошел?
Это копия, сохраненная 4 ноября 2023 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.