Лучшие практики, которые позволят предотвратить ошибки в ходе оптимизации iOS-приложения для плохих сетевых условий.
Читать
📲 Тинькофф проведет Android-митап в Петербурге
Встреча пройдет 18 мая в особняке «Пальма». Ребята расскажут, как адаптировать ваше Android-приложение для поддержки устройств с большими экранами, и разберут возможности SDK. В конце митапа выступит Кирилл Розов с докладом про запуск задач в фоне.
Не забудьте зарегистрироваться и позвать с собой коллег.
🗓 До встречи 18 мая в Петербурге на IT’s Tinkoff Mobile Meetup!
Переход с MVVM на MVI
Во время перехода на Jetpack Compose разработчик из GityMarket заметил, что некоторые методы во ViewModel перестали соответствовать правилам SOLID. Это отразилось на тестирование и стало понятно, что нужно делать рефакторинг кода или менять архитектуру проекта. Выбор пал на MVI. Свою реализацию автор разбирает в статье, а именно — UI и ViewModel:
https://proandroiddev.com/migrate-from-mvvm-to-mvi-f938c27c214f
#Android
@android_its
#mobile #pentest #bugbounty #practice
Пошаговая настройка лаборатории для анализа безопасности Android-приложений: гайд для начинающего багхантера.
Читать
@android_its
Android 14 Beta 1
Google выпустила первую бета-версию Android 14. Приложения уже можно протестировать и оставить отзыв о версии. В бета версии пока мало нововведений: новая стрелка назад и более удобный шеринг, а также дополнительные графические возможности.
Подробнее:
https://android-developers.googleblog.com/2023/04/android-14-beta-1.html
#android
Обновился гайд по обработке поворота экрана и прочих смен конфигурации. Хороший повод перечитать и освежить знания.
#android #configchanges
https://developer.android.com/guide/topics/resources/runtime-changes
@android_its
Релиз Jetpack Media3: что нового?
Спустя два года Android Developers сделали релиз официальной версии Jetpack Media3. Если вы использовали ExoPlayer, MediaCompat или Media2, то вам будет несложно перейти на Media3.
Media3 используется для работы с аудио и видео. По сути, библиотека предоставляет интерфейс проигрывателя (Player) с компонентами: MediaSession и MediaController.
Полный список API по ссылке:
https://android-developers.googleblog.com/2023/03/media3-is-ready-to-play.html
#android
Дорожная карта для Android-разработчика на 2023
Видео, в котором рассказывает, что должен знать начинающий, чтобы стать Android-разработчиком:
https://youtu.be/AhUL5tHF3uc
@android_its
Kotlin: как использовать функции расширения
Функции расширения предоставляют возможность расширять функциональность существующих классов, не наследуя их. По сути, они являются полезным инструментом для того, чтобы сделать код более читаемым, разделив его на более мелкие модули.
В этой статье рассматривается, что такое extension functions, а также как их можно использовать наиболее эффективно:
https://androidgeek.co/how-to-use-extension-functions-in-kotlin-4b5e52e84ee5
#android
@android_its
Kotlin: Null-безопасность и 3 подводных камня
Если вы изучаете Kotlin, то наверняка слышали про Null-безопасность. Система типов в Kotlin направлена на искоренение опасности нулевых(null) значений. Но на все ли 100%?
В этой статье автор рассматривает 3 случая, которые могут вызвать ошибку, а компилятор даже не попытается вас защитить:
https://betterprogramming.pub/kotlin-isnt-null-safe-yet-here-are-3-gotchas-23258fada62
#kotlin
@android_its
Constraints and modifier order (8 мин)
Разбор как правильно организовывать цепочки Compose модификаторов и влияние их влияет на размер Composable функций
📺 Видео версия (12 мин)
@android_its
Основные ошибки, которые допускают разработчики
Подборка небольших видеоуроков Филиппа Лакнера по Kotlin и Android:
1. Чистая архитектура: топ 3 ошибки в Android
2. Топ 3 ошибок в Jetpack Compose и как их избежать
3. Плохой код: 5 ошибок в Kotlin
#kotlin #android
Бесплатный курс по Kotlin и Android
Курс длится 10 часов. Конечно, выучить всё за такое короткое время невозможно, но вот познакомиться с основами — можно. На курсе вы изучите:
— основы Kotlin,
— жизненный цикл Android-приложений,
— эффективное использование Android Studio и Android SDK,
—Material design, анимации и многое другое.
Скачать курс можно по ссылке:
https://www.coursesbag.com/android-app-development-in-10-hours-bootcamp-android-13/
#android
🔧 Decompose — библиотека Kotlin Multiplatform для разбиения кода на компоненты бизнес-логики с древовидной структурой, учитывающие жизненный цикл, с функциями маршрутизации и подключаемым UI (Jetpack Compose, Android Views, SwiftUI, JS React и т. д.).
В начале месяца был представлен крупный релиз, который добавил возможность переиспользовать и тестировать компоненты, разделять UI и не-UI код, подключать платформоспецифический UI, поддержку сохранения состояния (Android/JVM/Apple) и много другого.
https://github.com/arkivanov/Decompose
@android_its
🖥 Основы OkHttp в Android-разработке
OkHttp — библиотека и по совместительству HTTP-клиент с открытым исходным кодом для Java и Kotlin, разработанная Square, которая также создала Retrofit.
OkHttp предоставляет простой, легкий в использовании API для выполнения HTTP-запросов, включая поддержку протоколов HTTP/1.1 и HTTP/2. Библиотека поддерживает все стандартные методы HTTP и может легко обрабатывать несколько одновременных запросов, а также предоставляет расширенные возможности: кэширование запросов/ответов, объединение подключений в пул (connection pooling), аутентификация и др.
▪ Читать
@android_its
Разбор практических кейсов уменьшения размера Android-приложения от Кирилла Розова.
🌐 Смотреть
@android_its
🖥 Советы по работе с Gradle для начинающих Android-разработчиков
Руководство для начинающих по работе с Build Gradle с полным разбором файлов конфигурации:
— settings.gradle / setings.gradle.kts,
— build.gradle / build.gradle.kts,
— gradle.properties,
— build.gradle / build.gradle.kts:
https://vtsen.hashnode.dev/beginners-guide-to-understand-build-gradle-files-in-android-studio
#gradle #Android
@android_its
В исследование безопасности мобильного приложения среди прочего входит анализ трафика. Но как поднять прокси-сервер для перехвата сетевого трафика Android-устройства?
Есть несколько способов, каждый из которых имеет свои достоинства и недостатки. Подробности — в пошаговом руководстве.
«Чем новее, тем лучше: как мы с GSON на Kotlinx.Serialization переезжали»
Андрей Мещеряков, Android-разработчик в команде роста Тинькофф Инвестиций, поделился опытом миграции с Gson на Kotlinx.
С помощью Kotlinx.Serialization разработчики могут сериализовывать данные в такие форматы, как JSON, XML и Protocol Buffers, что делает его ценным инструментом для создания веб-сервисов и приложений. Автор статьи рассказал о подводных камнях, с которыми могут столкнуться разработчики, используя Kotlinx в проекте:
https://habr.com/ru/companies/tinkoff/articles/728928/
#kotlin #android
6 полезных шаблонов проектирования для Android-разработчика
Шаблоны проектирования не являются специфичными для какого-либо языка программирования или технологии и могут применяться в самых разных проектах. Однако в этой статье, автор подобрал наиболее полезные паттерны в разработке под Android: Builder, Factory, Singleton и другие:
naeem0313/6-design-patterns-every-android-developer-must-know-a1ae0954bf21" rel="nofollow">https://medium.com/@naeem0313/6-design-patterns-every-android-developer-must-know-a1ae0954bf21
#android
Reddit Recap и Jetpack Compose в приложении
Разработчики Reddit поделились своим опытом реализации анимаций на Jetpack Compose и обновленным пользовательским интерфейсом в приложении. Им пришлось полностью переписать весь UI с нуля на Compose, чтобы улучшить тем самым архитектуру проекта. Подробная история — здесь: https://www.reddit.com/r/RedditEng/comments/12axmiu/building_reddit_recap_with_jetpack_compose_on/
@android_its
Сможете ли вы работать мобильным разработчиком в Тинькофф?
Сравните свои скиллы с требованиями и откликайтесь на вакансии в Тинькофф, если интересно решать сложные финтех-задачи: https://l.tinkoff.ru/mob.pro
Релиз Jetpack Compose: что нового?
1. Page: улучшили свайп между страницами контента (пример поведения на видео). Теперь дополнительные библиотеки, например, Accompanist, можно не использовать в проекте.
2. Новые Flow Layouts: Flow Row и Flow Column обеспечивают эффективный и компактный способ размещения элементов в контейнере, когда размер элементов или контейнера неизвестен или динамичен.
3. Повышение производительности в Modifier.
4. Text и TextField стали более функциональными: новые анимации, поддержка бегущей строки, более плавные переходы.
Источник: https://android-developers.googleblog.com/2023/03/whats-new-in-jetpack-compose-march-23-release.html
#android
Краткий справочник по некоторым наиболее полезным API конфиденциальности в Android, а также рекомендации, которые следует учитывать при разработке своего приложения.
🔗Скачать в светлом режиме
Знакомимся с Kotlin на практике
Хотите быстро приступить к написанию кода на Kotlin? Упражнения Kotlin Koans от JetBrains помогут освоить синтаксис языка и его идиомы. Задания выглядят как непройденные unit-тесты, и вам предстоит их успешно завершить.
Единственное условие — нужно знать какой-либо язык программирования, например Java.
Поупражняться: https://play.kotlinlang.org/koans/overview
#kotlin #курсы
@android_its
Путеводитель по времени и дате на Kotlin
В этом видео автор рассказывает, как можно использовать LocalDate, LocalTime, LocalDateTime и ZonedDateTime в проектах на Kotlin. Данный урок отлично подойдёт начинающим и тем, кто немного путается в формате:
https://youtu.be/gzHy6wKAJh8
#kotlin #android
Собеседование по Android: вопросы и ответы
Если вы хотите стать Android-разработчиком, то наверняка готовитесь к собеседованию. На YouTube вышло новое видео, в котором команда из Дзен проводила интервью с начинающим разработчиком. Предлагаем ознакомиться на реально примере, как может проходить собеседование по ссылке:
https://www.youtube.com/live/2cgIoGOL0lA?feature=share
#собеседование
🔎 Коллекция руководств, инструментов и ресурсов для выявления и устранения уязвимостей в Android-приложениях
Ключевая особенность именно этого репозитория в том, что его автор среди прочих ссылается на нативные китайские блоги и статьи. В гугле вы точно такого не найдете.
🖥 Github
@android_its
Эксперты Sber Al оценят знания более 100 школьников, которые вышли в финал Национальной технологической олимпиады по искусственному интеллекту.
Финал стартовал накануне 27 февраля и закончится 3 марта. За первое место будут бороться более 100 школьников из 27 регионов России и Казахстана. Изначально желание учувствовать в Олимпиаде по ИИ заявили 6150 школьников из России, Белоруссии, Индии, Казахстана, Киргизии, Молдавии, Таджикистана и Узбекистана.
В финальном испытании, подготовленном Sber AI, ребятам предстоит разработать алгоритм, который анализирует видео и отвечает на вопросы по его содержанию.
По результатам профильного тура команды-победители пригласят на оплачиваемую стажировку в Сбер и компании-партнеры по направлению «Машинное обучение».
Призовой фонд Олимпиады 4 млн рублей.
FindMyDevice – безопасный аналог функции FindMyDevice от Google
Это Android приложение, которое позволяет найти свое устройство по SMS или онлайн с помощью FMDServer
Безопасно и конфиденциально
🖥 Github
@android_its