Обычно на протяжении недели приходит порядочное количество вакансий, большинство из которых типовые простыни об одном и том же.
Чем-то понравилась вакансия от QLean. Ищут синьора андроид, который будет ответственен за приложения с нуля. Про деньги не пишут, но, судя по описанию, либо должны хорошо платить, либо никого не найдут 😜 https://qlean.notion.site/Senior-Android-Developer-451c5e12f5d744f1a48ff6e13167a0f9
Чем-то понравилась вакансия от QLean. Ищут синьора андроид, который будет ответственен за приложения с нуля. Про деньги не пишут, но, судя по описанию, либо должны хорошо платить, либо никого не найдут 😜 https://qlean.notion.site/Senior-Android-Developer-451c5e12f5d744f1a48ff6e13167a0f9
👍1
Только сейчас распробовал беспроводную отладку приложений, которая идет нативно с Android 11+.
Один раз "спарив" приложение со студией в знакомой сети будет работать само по себе при включении опции.
По ощущению деплоится чуть дольше, но отсутствие проводов - кайф. Особенно если разрабатываете на маке, на котором стандартный USB только через переходник.
Один раз "спарив" приложение со студией в знакомой сети будет работать само по себе при включении опции.
По ощущению деплоится чуть дольше, но отсутствие проводов - кайф. Особенно если разрабатываете на маке, на котором стандартный USB только через переходник.
👍1
Бесплатный митап Sber Mobile Meetup — 7 декабря, 17:00, онлайн
Сбер при поддержке JUG Ru Group проведет онлайн-митап для мобильных разработчиков. В программе — три доклада от специалистов, которые работают над сервисами Сбера:
– Андрей Попов — «Современный подход к анимациям в UICollectionView». Доклад об анимациях, применимых к коллекциям с помощью современных API в iOS SDK.
– Дмитрий Исаев — «Clean MMVM c Combine, SwiftUI в продакшене». Узнайте, как команда Сбера применила этот стек к большому объему бизнес-логики, вдохновившись Clean Code от дядюшки Боба Мартина.
– Андрей Данилов — «Как (не) ускорить сборку Android-проекта». Андрей расскажет, как не наступить на грабли при ускорении сборки: исправить порядок репозиториев зависимостей и найти альтернативы для неэффективных инструментов.
А еще вы сможете задать спикерам вопросы после докладов и пообщаться с коллегами в Spatial chat.
Участие бесплатное, нужно только зарегистрироваться. Ждем вас!
Сбер при поддержке JUG Ru Group проведет онлайн-митап для мобильных разработчиков. В программе — три доклада от специалистов, которые работают над сервисами Сбера:
– Андрей Попов — «Современный подход к анимациям в UICollectionView». Доклад об анимациях, применимых к коллекциям с помощью современных API в iOS SDK.
– Дмитрий Исаев — «Clean MMVM c Combine, SwiftUI в продакшене». Узнайте, как команда Сбера применила этот стек к большому объему бизнес-логики, вдохновившись Clean Code от дядюшки Боба Мартина.
– Андрей Данилов — «Как (не) ускорить сборку Android-проекта». Андрей расскажет, как не наступить на грабли при ускорении сборки: исправить порядок репозиториев зависимостей и найти альтернативы для неэффективных инструментов.
А еще вы сможете задать спикерам вопросы после докладов и пообщаться с коллегами в Spatial chat.
Участие бесплатное, нужно только зарегистрироваться. Ждем вас!
👍1
Бесплатный онлайн-митап для мобильных разработчиков от Luxoft и JUG Ru Group
16 декабря, 18:00 (Мск, GMT+3)
Программа митапа:
📌 Дмитрий Мовчан — «Гайд по выживанию в мире UI тестов»
Дмитрий поможет понять, какой тип UI-тестирования вам нужен, поговорит про типичные проблемы и пройдется по инструментам, которые помогут с ними справиться.
📌 Михаил Зотьев — «Как проходит развитие библиотеки Elementary»
Elementary — библиотека, позволяющая писать приложения на Flutter в стиле паттерна MVVM. Из доклада Михаила вы узнаете про основные концепты, преимущества и недостатки библиотеки.
📌 Евгений Сатуров — «Стелем мягкую соломку на жесткий Flutter»
Евгений поделится с сообществом базой лучших практик разработки Flutter-проектов. В основе его доклада — опыт, накопленный командой Surf почти за 3 года работы с Flutter.
А также вас ждут дискуссии после каждого доклада и розыгрыши брендированного мерча за лучший вопрос.
Участие бесплатное, нужно только зарегистрироваться!
16 декабря, 18:00 (Мск, GMT+3)
Программа митапа:
📌 Дмитрий Мовчан — «Гайд по выживанию в мире UI тестов»
Дмитрий поможет понять, какой тип UI-тестирования вам нужен, поговорит про типичные проблемы и пройдется по инструментам, которые помогут с ними справиться.
📌 Михаил Зотьев — «Как проходит развитие библиотеки Elementary»
Elementary — библиотека, позволяющая писать приложения на Flutter в стиле паттерна MVVM. Из доклада Михаила вы узнаете про основные концепты, преимущества и недостатки библиотеки.
📌 Евгений Сатуров — «Стелем мягкую соломку на жесткий Flutter»
Евгений поделится с сообществом базой лучших практик разработки Flutter-проектов. В основе его доклада — опыт, накопленный командой Surf почти за 3 года работы с Flutter.
А также вас ждут дискуссии после каждого доклада и розыгрыши брендированного мерча за лучший вопрос.
Участие бесплатное, нужно только зарегистрироваться!
👍2
Я раньше лично с некоторыми ребятами из команды работал, т.ч. им можно доверять!
Удалённый Android-разработчик в компанию hi-Mobile.
Кто нам нужен:
Android-разработчик, который дополнит нашу команду и будет помогать нам развивать приложение по доставке продуктов на дом.
Обязательно сделаем так, чтобы вы могли комфортно интегрироваться в проект — подскажем, расскажем, поможем!
Нам не принципиально откуда вы, потому как можно работать удалённо. Процессы прозрачные, бюрократии нет.
Soft Skills для нас выше, чем Hard Skills!
О нас:
Мы маленькая, но прогрессивная команда мобильной разработки. Мы крепко дружим и делаем свою работу также хорошо, как и дружим. У нас за плечами (и в релизе) большие проекты, которые приносят людям пользу каждый день. У нас нет бюрократии и синдрома менеджера. Мы доверяем друг-другу и всегда помогаем.
Проекты, на которых мы выросли и в которых принимали значимое участие и запускали с нуля:
1. Моя Москва (госуслуги Москвы) — https://www.mos.ru/mobile/
2. ЦИАН (поиск недвижимости) — https://promo.cian.ru/apps
3. Гурманика (доставка еды) — https://gurmanika.ru
4. Smart (доставка продуктов) — https://smart.swnn.ru
5. Точка банк (проект для участия в тендерах) — https://play.google.com/store/apps/details?id=com.tochka.bank.tenders
Предстоящие основные задачи:
- Развитие нового функционала и поддержка существующего на Kotlin;
- Взаимодействие с дизайнерами и QA;
- Проведение code-review;
Обязательные требования:
- Опыт в разработке Android от 1 лет;
- Владение Java/Kotlin и Android SDK;
- Уверенные знания в RxJava;
- Знание шаблонов проектирования MVP, MVVM набор компонентов Android Jetpack, умение их применять;
- Опыт работы с DI-фреймворками;
- Опыт написания клиент-серверных приложений(retrofit, okhttp);
- Работа с VCS, gitflow;
- Понимание принципов Material Design;
График работы:
5/2, с 11 до 19 по Мск. Если у вас другой временной режим/временная зона, можем обсудить.
Условия:
150-170 тыс руб в месяц (на руки/на карту). Оплата 2 раза в месяц (аванс, зарплата). Отпуска и больничные оплачиваются. Минимум бюрократии.
Контакт для связи:
@Vlad_US
Удалённый Android-разработчик в компанию hi-Mobile.
Кто нам нужен:
Android-разработчик, который дополнит нашу команду и будет помогать нам развивать приложение по доставке продуктов на дом.
Обязательно сделаем так, чтобы вы могли комфортно интегрироваться в проект — подскажем, расскажем, поможем!
Нам не принципиально откуда вы, потому как можно работать удалённо. Процессы прозрачные, бюрократии нет.
Soft Skills для нас выше, чем Hard Skills!
О нас:
Мы маленькая, но прогрессивная команда мобильной разработки. Мы крепко дружим и делаем свою работу также хорошо, как и дружим. У нас за плечами (и в релизе) большие проекты, которые приносят людям пользу каждый день. У нас нет бюрократии и синдрома менеджера. Мы доверяем друг-другу и всегда помогаем.
Проекты, на которых мы выросли и в которых принимали значимое участие и запускали с нуля:
1. Моя Москва (госуслуги Москвы) — https://www.mos.ru/mobile/
2. ЦИАН (поиск недвижимости) — https://promo.cian.ru/apps
3. Гурманика (доставка еды) — https://gurmanika.ru
4. Smart (доставка продуктов) — https://smart.swnn.ru
5. Точка банк (проект для участия в тендерах) — https://play.google.com/store/apps/details?id=com.tochka.bank.tenders
Предстоящие основные задачи:
- Развитие нового функционала и поддержка существующего на Kotlin;
- Взаимодействие с дизайнерами и QA;
- Проведение code-review;
Обязательные требования:
- Опыт в разработке Android от 1 лет;
- Владение Java/Kotlin и Android SDK;
- Уверенные знания в RxJava;
- Знание шаблонов проектирования MVP, MVVM набор компонентов Android Jetpack, умение их применять;
- Опыт работы с DI-фреймворками;
- Опыт написания клиент-серверных приложений(retrofit, okhttp);
- Работа с VCS, gitflow;
- Понимание принципов Material Design;
График работы:
5/2, с 11 до 19 по Мск. Если у вас другой временной режим/временная зона, можем обсудить.
Условия:
150-170 тыс руб в месяц (на руки/на карту). Оплата 2 раза в месяц (аванс, зарплата). Отпуска и больничные оплачиваются. Минимум бюрократии.
Контакт для связи:
@Vlad_US
mos.ru
Приложение «Моя Москва» — скачать официальное приложение mos.ru для iOS и Android
Воспользуйтесь популярными услугами и сервисами портала mos.ru для решения повседневных задач в различных сферах жизни, таких как дом, семья, транспорт, здоровье, досуг. Оплачивайте все счета в два клика. Будьте в курсе главных новостей. Скачивайте приложение…
👍9
Прямо давно ничего не писал, пора исправлять.
И Кстати, через 25 минут начинается keynote Google I/O 2023:
https://io.google/2023/program/396cd2d5-9fe1-4725-a3dc-c01bb2e2f38a/
И Кстати, через 25 минут начинается keynote Google I/O 2023:
https://io.google/2023/program/396cd2d5-9fe1-4725-a3dc-c01bb2e2f38a/
👍2
Google мощно продвигает Jetpack Compose как правильный способ делать UI.
Компоуз классный, но (особенно по началу) может вызывать неочевидные просадки в производительности приложения.
О том как правильно дебажить Compose рассказывали вчера на Google I/O:
https://www.youtube.com/watch?v=Kp-aiSU8qCU
Компоуз классный, но (особенно по началу) может вызывать неочевидные просадки в производительности приложения.
О том как правильно дебажить Compose рассказывали вчера на Google I/O:
https://www.youtube.com/watch?v=Kp-aiSU8qCU
YouTube
Debugging Jetpack Compose
Jetpack Compose has brought a whole new approach to developing Android apps and this brings a new set of techniques for debugging. Learn how to address common challenges when developing with Compose code, like why is (or isn’t!) my composable recomposing…
❤2🤮1
Делал тут недавно один side проектик небольшой и там нужна была постраничная загрузка страниц.
Paging3 библиотека по идее делает что надо, но по факту придется завязываться на нее на всех слоях - от data до UI.
С другой стороны можно сделать руками, не завязываясь на либу, но по факту архитектура получится +- такая же, только самописная.
Итого возник вопрос - в проекте используете Paging(1/2/3) либу, или пишите сами ручками?
Paging3 библиотека по идее делает что надо, но по факту придется завязываться на нее на всех слоях - от data до UI.
С другой стороны можно сделать руками, не завязываясь на либу, но по факту архитектура получится +- такая же, только самописная.
Итого возник вопрос - в проекте используете Paging(1/2/3) либу, или пишите сами ручками?
Пользуетесь Paging3 для постраничной загрузки?
Anonymous Poll
36%
Да, экономит время
34%
Нет, пишу всё сам
30%
Нет таких задач
🤮1
Игрался с плагином в AS, который показывает статистику по строкам кодам, файлам и т.д. в проекте.
В небольшом side проекте статистика показала, что суммарно строк кода в тестах больше, чем в файлах, которые тесты покрывают 🙂
Не покрытыми остались только Compose UI классы, но по факту их тоже стоит покрыть. Просто в Unit тестировании компоуза пока не разбирался - есть над чем работать.
В небольшом side проекте статистика показала, что суммарно строк кода в тестах больше, чем в файлах, которые тесты покрывают 🙂
Не покрытыми остались только Compose UI классы, но по факту их тоже стоит покрыть. Просто в Unit тестировании компоуза пока не разбирался - есть над чем работать.
👍3🤮3
В рамках google I/O был доклад как делать data layer:
https://io.google/2023/program/373ef4ca-1e69-4af4-ac21-f51b967c4742/
Не до конца согласен с разделением на Repository и DataSource.
DataSource по факту является таким же репозиторием. .
Предлагают реализовать DefaultTaskRepository, реализующий интерфейс TaskRepository.
При этом реализация внутри зависит от конкретных реализаций DataSource (локального хранилища и сети).
Я бы спрятал оба DataSource также за TaskRepository и DefaultTaskRepository использовал как прокси репозиторий.
В таком случае можно использовать любой TaskRepository и не менять логику основного репозитория. Например, если захочется переехать на другую БД или сделать in-memory зачем-то.
https://io.google/2023/program/373ef4ca-1e69-4af4-ac21-f51b967c4742/
Не до конца согласен с разделением на Repository и DataSource.
DataSource по факту является таким же репозиторием. .
Предлагают реализовать DefaultTaskRepository, реализующий интерфейс TaskRepository.
При этом реализация внутри зависит от конкретных реализаций DataSource (локального хранилища и сети).
Я бы спрятал оба DataSource также за TaskRepository и DefaultTaskRepository использовал как прокси репозиторий.
В таком случае можно использовать любой TaskRepository и не менять логику основного репозитория. Например, если захочется переехать на другую БД или сделать in-memory зачем-то.
io.google
Google I/O 2026
Don't miss Google I/O, featuring product launches, innovations, and insights. Tune in for the live keynotes and sessions.
🤔3👎1
Впечатлило как #Compose из коробки поддерживает темную тему.
По факту для этого делать ничего и не надо. Вновь созданный проект использует Material из коробки и все базовые элементы уже приспособлены к смене темы 🔥
По факту для этого делать ничего и не надо. Вновь созданный проект использует Material из коробки и все базовые элементы уже приспособлены к смене темы 🔥
🔥2
Когда лучше закидывать пост в канал? (Можно выбрать несколько)
Anonymous Poll
32%
Утром
19%
Днем
25%
Вечером
19%
Будни
13%
Выходные
40%
Мне все равно
🥱3🤮1
Смотрел примеры по навигации и поддержки разных форм-факторов на Compose.
Офф. пример JetNews:
https://github.com/android/compose-samples/tree/main/JetNews
Они используют NavComponent для верхнеуровневой навигации. Дальше, на home screen во viewModel держат текущий uIState:
…
В зависимости от размера экрана строят нужный compose.
По сути и лента и detailed page существуют в рамках одного «экрана» и на уровне UI решается как через Composable строить представление.
Довольно элегантное решение, которое позволяет поддерживать кучу разных формфакторов и не запутаться в разных ресурсных папках, как это могло бы быть при стандартном подходе с фрагментами.
Или есть варианты интереснее?
Офф. пример JetNews:
https://github.com/android/compose-samples/tree/main/JetNews
Они используют NavComponent для верхнеуровневой навигации. Дальше, на home screen во viewModel держат текущий uIState:
data class HasPosts(
val postsFeed: PostsFeed,
val selectedPost: Post,
val isArticleOpen: Boolean,…
В зависимости от размера экрана строят нужный compose.
По сути и лента и detailed page существуют в рамках одного «экрана» и на уровне UI решается как через Composable строить представление.
Довольно элегантное решение, которое позволяет поддерживать кучу разных формфакторов и не запутаться в разных ресурсных папках, как это могло бы быть при стандартном подходе с фрагментами.
Или есть варианты интереснее?
👍2
Не самое очевидное применение Github Copilot.
В проекте есть дата классы на уровне общения с сервером. Надо было создать Sample Json из класса (в некоторых тестах, где то уже лежат разные части такого примера jsona).
Зашел в Data class, написал
В следующем data классе достаточно было написать только
В проекте есть дата классы на уровне общения с сервером. Надо было создать Sample Json из класса (в некоторых тестах, где то уже лежат разные части такого примера jsona).
Зашел в Data class, написал
final val DemoResponseJsonDemo = и Copilot сам написал пример Jsona.В следующем data классе достаточно было написать только
final, чтобы Copilot понял что хочу пример Jsona.👍11