ar
Feedback

لا تقع ضحية للمخادعين! تيليمتريو يكتشف ويُميّز هذه القنوات 👉 إذا كنت تريد رؤية العلامة، اشترك

Android Live 🤖

Android Live 🤖

الذهاب إلى القناة على Telegram

Самые свежие новости, новинки и тренды Android от практикующего разработчика. Автор: @al_gorshkov, Чат: @android_live_chat Личный блог: @al_gorshkov_blog Рекламу не размещаю

إظهار المزيد
5 114
المشتركون
-124 ساعات
-37 أيام
-2130 أيام
أرشيف المشاركات
Тинькофф приглашает Android-разработчиков на One Day Offer! Набираем разработчиков в мобильный банк! У нас сильная команда, и мы ищем таких же коллег: с хорошим знанием языка, платформы, умением писать качественный код и опытом от двух лет — делать приложение Тинькофф для 10 миллионов клиентов каждый месяц. В течение всего одного дня вы общаетесь с командой и получаете оффер в конце дня, если общение пройдет хорошо! Отправляйте заявку на участие в Тинькофф One Day Offer до 20 июля. В течение трех дней мы дадим обратную связь, а за два дня до мероприятия пришлем всю информацию об интервью.

​​AppCode и KMM-плагин — как работает внутри? #youtube #android_live Совсем недавно на канале был анонс того, что в AppCode появился плагин для разработки под KMM. Подобное решение выглядит классно, ведь можно использовать одну IDE для того, чтобы писать приложения под KMM сразу и на iOS и на Android. Но всё ли так хорошо? Насколько стабильно всё работает, и можно ли использовать этот плагин в проде? А какие планы на будущее и что нас ожидает? Ответы на эти и многие другие вопросы мы получим на YouTube-канале AndroidLive.😉 А поговорим обо всём этом с Айдаром Мухаметзяновым — разработчиком из JetBrains, который трудится над AppCode и KMM-плагином для него. До этого Айдар 7 лет разрабатывал iOS приложения в разных компаниях. Трансляция пройдёт 21 июля в 18:30 по МСК. Мы обсудим то как плагин работает внутри, а потом вместе сделаем небольшое приложение, которое покажет все возможности IDE. Ссылка на трансляцию тут. Уверен, что будет интересно 😎 А свои вопросы вы уже можете задать уже сейчас, тут. До встречи на стриме! 😉

​​Mock API для разработчиков #tools Думаю, что всем знакома ситуация, когда нам нужно закончить фичу, но backend ещё не готов. В этом случае каждый выкручивается как может: делает заглушки в виде JSON на клиенте, заполняет классы вручную, или оставляет список пустым, ожидая завершения работ на сервере. Но, вероятно, самым удобным способ является использование Mock API. По сути, это обычный сервер, который просто возвращает вам предварительно заполненный JSON-файл. Если у вас есть чёткое понимание ответа от сервера, то всё что вам нужно сделать при завершении работ на сервере — это переключить сервер. Вот пара сервисов для организации Mock API — Mockable.io и Postman. В целом, мне больше нравится второй вариант, видимо по причине того, что я использую это средство для совершения запросов к реальному серверу. Тут описано то, как настраивать сервер.

GDG Wear OS meetup #meetup #gdg Ребята из GDG Minsk проводят митап, связанный с Wear OS, где расскажут: 🔹что из себя представляет текущее состояние Android Wear; 🔹какие форматы могут перекочевать в новую платформу; 🔹кому и ради чего стоит разрабатывать своё решение для wearable устройств. Звучит интересно, ведь на последнем I/O мы видели то, сколько внимания Google уделили Wear OS. Спикеры — Тимур Ахметгареев, и Виктор Раздьяконов, которые расскажут о всех тонкостях работы с Wear OS на своём опыте. Мероприятие пройдёт 20 июля в 19:00 по МСК. Тут можно бесплатно зарегистрироваться, а тут можно задать свои вопросы спикеру.

​​Recycler View Series #recyclerview #новичкам Мне тут случайно в рекомендациях попался ряд статей про RecyclerView, где рассказываются основы этого замечательного элемента, и о том, как его правильно применять. В первой статье рассматривается этот компонент, его принцип работы, ну и то как добавить самый простой список в проект. Отлично показано, как работают методы onCreateViewHolder(), onBindViewHolder(). Во второй рассказываются уже более сложные вещи. Описывается, почему обновление всего списка — это плохо, для чего нужен DiffUtil, как он работает и что за зверь такой — ListAdapter. Третья — очень короткая статья, которая рассказывает про имплементацию клика на элемент, а последняя в этой серии — про создание Header при помощи ConcatAdapter. Так что если вы новичок — эта серия поможет разобраться во всей базе, связанной с RecyclerView. 🤟

Windows 11, 10, etc - авторский канал с тайным знанием о флагманской ОС Microsoft В комплекте срыв покровов и доставка пруфов
Windows 11, 10, etc - авторский канал с тайным знанием о флагманской ОС Microsoft В комплекте срыв покровов и доставка пруфов.

​​Оптимизация RecyclerView при помощи префетчинга #recyclerview Даже стандартная реализация RecyclerView работает довольно стабильно и хорошо. ✌️ Однако, если ваш список состоит из нескольких типов элементов или эти элементы сложные, самое время задуматься о дополнительных оптимизациях. Самыми быстрыми и простыми в добавлении будут setHasFixedSize, DiffUtil, создание плоских View. Автор статьи решил пойти дальше и добавить префетчинг View вне основного потока. Для этого он использовал RecyclerView.RecycledViewPool, который и выполнял нужную работу. Лично у меня ещё не было шанса оценить скорость прироста при использовании данного подхода, так как в текущих проектах нет RecyclerView с большим числом разных viewType и нет экранов, где есть первоначальные загрузки списков. Но подход выглядит круто, и если вы хотите ещё больше оптимизировать ваши списки, то воспользуйтесь. Кстати, есть уже готовая библиотека с реализацией этого подхода на Kotlin Coroutines, RxJava2, RxJava3 и Executor.

Фриланс с каждым днем все больше набирает популярность среди разработчиков, ведь работать из дома куда приятнее, чем в душном
Фриланс с каждым днем все больше набирает популярность среди разработчиков, ведь работать из дома куда приятнее, чем в душном офисе. Фриланс платформа CashForApp предлагает брать заказы на разработку мобильных приложений. Множество проектов разной сложности, которые подойдут как опытным, так и начинающим мобильным разработчикам. Достойная оплата за работу! Ссылка на фриланс платформу: https://bit.ly/2SLvL5q P.S. Для отображения полного списка активных задач необходимо зарегистрироваться. Ждем вас на нашей платформе!:) #партнёрский

​​Material Transitions #api #fragment Анимация редко меняет главную функциональность приложения. Но нельзя отрицать, что она имеет большое значение для пользователя. Когда в приложении есть анимация, все выглядит плавнее и пользователю легче понять, как элементы экрана сочетаются друг с другом. Одним из типов анимаций является Transitions: это анимации перемещения с одного экрана на другой. Мы можем анимировать или весь экран целиком, или только некоторые View этого экрана. Попалась статья, где автор рассказывает о добавлении анимаций в приложение, где не было никаких анимаций перехода и о результатах, которые он получил.

​​Nearby Connections API #theory #api Сегодня расскажу вам о довольно редком, но, на мой взгляд крутом и недооценённом API — Nearby Connections API. Оно позволяет устройствам связываться друг с другом даже при отсутствии Интернета. Для чего нужно? Это API даёт возможность делиться какими-то файлами, сообщениями и другими данными в своём приложении без сети. На сайте с документацией приведены такие примеры: 🔹трансфер файлов оффлайн; 🔹использование девайса в качестве контроллера в играх; 🔹игры с оффлайн мультиплеером; 🔹доски для совместной работы. Как работает? API использует Bluetooth и другие технологии, например WiFi, которые обеспечивают peer-to-peer соединение на близком расстоянии (в пределах 100 метров). Безусловно, есть лимиты на количество соединений: Bluetooth поддерживает около 4 соединений одновременно, WiFi ограничивает примерно от 10 до 100 подключений одновременно в зависимости от того, доступны ли маршрутизаторы, которые можно использовать как «мост». Помимо этого API существует альтернатива — Nearby Messages API, правда ей для работы нужен Интернет и размер передаваемых данных довольно мал. С другой стороны, Nearby Connections API может работать только на Android, а прыдущий аналог поддерживает ещё и iOS. На мой взгляд, это весьма крутая штука, которую можно использовать для интересных проектов, где важна коммуникация между пользователями, но Интернет-соединение не самое надёжное. Если вы добавляли подобную фичу в свой проект, то обязательно пишите в комментариях. Больше деталей о том, как добавить в проект это API можно найти тут.

5 июля старт Podlodka Soft Skills Crew – новой конференции про софт-скиллы для инженеров! 🟢 Перед конференций мы проведём несколько открытых вводных сессий о том, зачем нужны софт-скиллы. Интенсив продлится две недели. Встречаемся дважды в день: утром и вечером Вас ждут: крутые спикеры, сессии в лайве, ламповое общение и обмен кейсами в слаке, записи (для тех, кто не успевает на лайв). 🟢 Тема первой недели: Коммуникации Во время неё узнаем, как общаться с другими людьми без стресса, даже если вы "интроверт". Обсудим принципы хорошей обратной связи руководству и коллегам. А ещё научимся распознавать манипуляции и защищаться от них. 🟢 Тема второй недели: Problem solving Познакомимся с моделями мышления, научимся проходить поведенческие и проблемные интервью (типичные для FAANG). А также расширим своё видение и узнаем, как думают топ-менеджеры и предприниматели. Подробности нашего свежего формата уже на сайте!🔥

Пятничный опрос на провокационную тему: Какая у вас зарплата? (в ₽ на руки) Можно честно, опрос анонимный 😉
Anonymous voting

​​Развитие механизмов безопасности Android #security В современной разработке безопасности отводится довольно важная часть. Для нас, разработчиков под Android, с каждым обновлением ОС приходится исправлять своё приложение в зависимости от нововведений. Если вам интересно, как изменилась безопасность системы Android с самых первых версий, то вот отличная статья. Можно наблюдать, как эволюционировала безопасность Android от версии к версии и как это повлияло на дальнейшее развитие системы. Так что если вы увлекаетесь безопасностью, да и вообще людите историю операционных систем — welcome. 😎

​​Android-приложения на Windows 11 Тут недавно вышла новая операционная система от Microsoft — Windows 11. Новость совсем не про Android-разработку, однако добавился интересный момент: теперь на ней можно будет запускать Android-приложения, скачанные с Amazon’s Appstore через Microsoft Store. Microsoft заявляет, что эти приложения будут работать так же, как и остальные. Вроде как, это ответ на действия Apple с их новым процессором M1. Мне кажется, что новость довольно любопытная, и очень интересно, будет ли возможность запустить приложения для debug во время разработки или же нет? Чуть больше деталей тут.

​​Вышел Kotlin 1.5.20 #kotlin Тут вчера прилетело новое обновление Kotlin. Как всегда, детали можно почитать в блоге, а здесь опишу кратко изменения: 🔸для получения максимальной пользы от последних JVM-фич, Kotlin расширяет использование динамических вызовов (invokedynamic). В этой версии добавилась конкатенация строк через invokedynamic, или если попроще, то теперь используется StringConcatFactory.makeConcatWithConstants() вместо StringBuilder.append(). Подробнее тут. 🔸добавлена экспериментальная поддержка Java’s Lombok-generated методов. Тут можно почитать, что поддерживается на данный момент. 🔸также появилась экспериментальная поддержка плагина JSpecify, который включает в себя набор аннотаций для проверки на null в Java. По идее, плагин даёт возможность лучше управлять nullability, если вам важна совместимость с Java. 🔸компилятор Kotlin/Native теперь поддерживает экспорт KDoc из Kotlin-кода в Objective-C. Фича даёт возможность делать комментарии видимыми для тех, кто использует написанный вами код, что весьма удобно. 🔸исправлена функция Array.copyInto() в Kotlin/Native, которая теперь работает гораздо быстрее. 🔸добавлено руководство для миграции на новый JS backend. 🔸параллельное выполнение задач в gradle теперь контролируется Gradle parallel execution mechanism. Аннотация kotlin.parallel.tasks.in.project стала deprecated. 🔸экспериментальная фича для настройки кэширования, которая позволит увеличить скорость запуска kapt. 🔸пара мелких изменений в стандартной библиотеке, связанной с функциями isLowerCase(), isUpperCase() и digitToInt().

​​KMM для AppCode #kmm Сегодня вышла отличная новость: появился плагин для App Code, который позволяет писать Swift и Kotlin код внутри одной IDE. 🔥 Это очень круто, так как переключение между IDE — не самая удобная штука при написании таких проектов. В будущем ребята обещают миграцию текущих .xcodeproj и .xcworkspace проектов на Gradle DSL, чтобы сделать возможным лучше соединить текущие проекты на Xcode с KMM и Android. Звучит очень круто, мне такая кроссплатформа нравится. 💪

​​Стрим с обзором резюме №1 #youtube #android_live Давно на YouTube-канале Android Live не было стримов. Исправляюсь и пробую новый формат — обзор резюме подписчиков. Было несколько запросов об этой рубрике, и вот этот формат появляется на канале. Если вам зайдёт — сделаем его регулярным. Мы будем делать обзор резюме не просто со стороны красоты оформления и правильности, а сделаем это глазами HR-специалистов, ведь они первые, кто видят его и принимают решение о кандидате по тому, что там написано. Наш гость — Евгений Васильев, HR-специалист с 5-летним опытом работы, на данный момент работает в Спортмастер, а до этого 2,5 года работал в системе Сбербанка. Опыт работы связан с подбором персонала: Java, мобильные разработчики, devops/sre, администраторы баз данных, администраторы it-инфраструктуры, разработчики Oracle pl/sql и многие другие. Вы можете отправить заявку на обзор своего резюме в эту форму. Несколько резюме из списка будут выбраны рандомно, при желании выбранные люди смогут подключиться к стриму и задать свои вопросы напрямую. Если вы хотите попасть на обзор без рандома, то можете сделать это поддержав канал на Boosty. Спасибо всем, кто это делает. 🤟 Стрим состоится 29 июня в 18:30 по МСК на канале Android Live. Подписывайтесь, чтобы не пропустить что-то интересное.😉

​​Миграция с Groovy на Kotlin DSL #kotlin #gradle Для многих разработчиков написание каких-то изменений в build.gradle — это боль. Во многом из-за языка groovy и его работы в Android Studio, который частенько отталкивает разработчиков от изменений. Но решение есть, и это — Kotlin DSL, который позволяет настраивать gradle на всеми нами любимом Kotlin. Несколько плюсов от этого: 🔹лучшая читаемость кода; 🔹большие возможности для написания скриптов, так как разработчики лучше знакомы с Kotlin; 🔹навигация по коду и подсказки; 🔹проверка ошибок во время компиляции; …и другие плюсы, но говорят, что может работать медленнее на некоторых операциях, типа clean или изменениях в buildSrc. 🤨 Хорошая статья, которая описывает миграцию с groovy на Kotlin DSL тут. Ну а лично я склоняюсь к тому, чтобы перейти к этому решению в своих проектах, так как удобств гораздо больше.

Конференция по мобильной разработке Mobius ищет спикеров 🎙 Если вы давно хотите рассказать о чем-то из мира мобильной разраб
Конференция по мобильной разработке Mobius ищет спикеров 🎙 Если вы давно хотите рассказать о чем-то из мира мобильной разработки и готовы поделиться знаниями с другими, то подавайте заявку! В осеннем сезоне конференция пройдет в гибридном формате: онлайн+офлайн. Темы, которые ждут: ✔️ Платформы под капотом; ✔️ Software Craftsmanship; ✔️ Архитектура; ✔️ Качество продукта; ✔️ Тренды в мобильной разработке; ✔️ Инфраструктура. Но не ограничивайтесь этим списком — вы можете подать заявку с любой темой из области мобильной разработки. Если все-таки сомневаетесь, то программный комитет всегда готов обсудить актуальность темы и помочь выбрать правильный вектор доклада. Плюс, ребята помогут с прокачкой ваших ораторских навыков, если у вас мало опыта в публичных выступлениях.  👉 Подать заявку и узнать подробности можно на сайте. ❓Вопросы присылайте на почту program@mobiusconf.com

​​AndroidX: App Startup #jetpack #library AndroidX App Startup — одна из самых малоизвестных библиотек из Jetpack. Давайте исправлять эту ситуацию и рассмотрим эту библиотеку детальнее. Для чего она нужна? Зачастую различные компоненты приложения инициализируют свою логику при его старте, например, такие компоненты как WorkManager или Lifecycle. Пользователь, который ожидает быстрого старта приложения, получает белый экран, особенно если у него не самый шустрый девайс. Для того, чтобы улучшить время старта приложения и появилась App Startup. Как работает? По сути, библиотека представляет из себя единый ContentProvider, который запускает несколько зависимостей одной за другой. Это позволяет исключить поведение, при котором компоненты используют свои собственные ContentProvider, замедляя старт приложения. Ну и killer-feature является то, что можно настроить момент инициализации компонента вручную и убрать часть инициализаций на старте. Почитать подробнее о том, как использовать библиотеку у себя можно в этой статье. Рассказывайте, уже использовали библиотеку? Как вам?