Mobile Native ️️
5.67K subscribers
941 photos
6 videos
3 files
1.07K links
Полезные материалы по мобильной разработке. Статьи, подборки, нововведения, анонсы.

Пробустить канал → https://t.me/mobile_native?boost

Автор: @artemiygreg
iOS / Swift: @swift_tips
Библиотеки и инструменты: @mobile_dev_tools
Митапы: @meetup_today
Download Telegram
Зарплаты IT-специалистов в первой половине 2024: +8% по всей России

Хабр выкатили динамику зарплат за первую половину 2024 года. Если коротко, то всё хорошо, зп растёт практически во всех языках программирования.

Самый ощутимый рост был у разработчиков в Kotlin (+16%), до 290 000 ₽, C (+14%) до 180 000 ₽, также на 11% выросли зарплаты в Swift и Elixir.

Зарплаты снизились только у программистов Objective-С — на 10%, до 342 000 ₽ и Ruby — на 11%, до 250 000 ₽.

Сравнить статистику можно с прошлым периодом, за второе полугодие 2023 года.

Читать (Ru)
Видео с прозрачностью на Jetpack Compose – запросто

Статья рассчитана на читателя продвинутого уровня, уже знакомого с Jetpack Compose и Android-разработкой в целом.

Читать (Ru)
This media is not supported in your browser
VIEW IN TELEGRAM
Improving video playback with ExoPlayer

Ещё одна статья про работу с видео, а именно про то, как улучшить проигрывание видео и более эффективно использовать ExoPlayer в вашем приложении.

Читать (En)
Stack vs. Heap in Kotlin: Understanding Memory

Короткая статья про то, как в Kotlin устроено распределение сущностей в памяти.

👉 What is Stack Memory?
👉 What is Heap Memory?
👉 Breaking it Down: Stack vs. Heap
👉 Why Does It Matter?

Читать (En)
Как устроены аннотации в Kotlin. Часть 2

Перевод второй части из этого цикла, в которой рассматривается кодовая база Moshi в качестве примера того, как реальная библиотека использует процессинг аннотаций, рефлексию и lint.

Читать (Ru)
The Complexities of Clean Architecture Use Cases

В статье рассматриваются некоторые проблемы, которые могут возникнуть при строгом соблюдении всех правил чистой архитектуры, в частности c Use Case`ами и Single Responsibility Principle.

Не сказать, что там прям что-то новое, но в целом почитать можно. Ну и не забывайте посматривать в комменты 😉

Читать (En)
Forwarded from Swift Tips
Виды логирования в Swift

Статья для начинающих, в которой разбираются виды принтов с примером реализации своего небольшого логгера, который можно внедрить сразу, параллельно чтению.

👉 Print
👉 DebugPrint
👉 Dump
👉 OSLog
👉 Logger

Цель статьи – сэкономить время начинающих разработчиков, уберечь их от бесконечного потока непонятных сообщений в консоли и от нервов, потраченных на поиск «той самой» строки, которая всё объясняет.

Читать (Ru)
Как публиковать библиотеку в Maven Central Portal в 2024 году

Начиная с 12 марта 2024 года регистрация на OSSRH портале теперь недоступна. Большинство существующих туториалов в интернете описывают как раз опыт публикации через OSSRH на Maven Central из-за чего после марта 2024 года эти инструкции стали не актуальны для публикации проектов новых авторов.

Не пошаговая инструкция, а руководство к действию, как опубликовать библиотеку в Maven Central Portal в 2024 году.

Читать (Ru)
Роман Елизаров про Kotlin, корутины и работу в Jetbrains / ЧТУК

Если вдруг пропустили, у Лёши вышел крутой видос с легендой – Романом Елизаровым. Там про Kotlin, корутины, собесы, алгоритмы и прочие интересные штуки.

Обязательно к просмотру 😉

Смотреть 📹
Please open Telegram to view this post
VIEW IN TELEGRAM
Разбираемся с новой уязвимостью Android-библиотеки Jetpack Navigation: как открыть любой фрагмент из вашего приложения?

Достаточно подробная и полезная статья от команды Стингрей Технолоджиз, про уязвимость в Jetpack Navigation, которую недавно обнаружили специалисты из компании Positive Technologies.

👉 О пользовательском интерфейсе Android
👉 О Jetpack Navigation
👉 Описание уязвимости
👉 Эксплуатация уязвимости
👉 Практика
👉 Навигация к целевому Фрагменту
👉 Атака на WebViewFragment
👉 Как защитить приложение?
👉 Защита в логике
👉 Исследование
👉 Выводы

Читать (Ru)
PinLockSreen на основе KeyStore. Kotlin. Jetpack Compose

Статья по бóльшей части для начинающих, про KeyStore в контексте мобильной разработки: что это, для чего нужен и с примером реализации экрана с пинкодом для входа в приложение.

P.S. На код в статье, как на эталонный не стоит ориентироваться. Можно почитать для общего понимания принципа работы.

Читать (Ru)
Как заглянуть под капот Composable функции

Довольно интересная и полезная статья от Абакара Магомедова (главный техлид в Альфа-Банке), в которой разбирается, как Composable-функции меняются при компиляции и как работает аннотация @Composable.

Читать (Ru)
Gradle + GitLab: эффективный и бесплатный билд-кэш

Эта заметка является чем-то вроде гайда по бюджетной настройке GitLab кэшей для Gradle в Android проектах без использования Gradle Enterprise и Remote Build Cache.

Читать (Ru)
Forwarded from Swift Tips
Отрицание, гнев, торг: как дизайну и разработке найти общий язык

Дизайнер из Ozon провела анонимный опрос в командах: что радует и что раздражает разработчиков в макетах дизайнеров — и наоборот.

В статье размышляет над его результатами и заодно делится полезными практиками, которые помогут наладить взаимодействие дизайна и разработки: чек-лист для подготовки макетов, поиск корнер-кейсов, спецификация, груминг, саппорт, дизайн-ревью и прочие заклинания.

Статья будет полезна не только дизайнерам, но и разработчикам, QA-инженерам, продактам и всем, кто заинтересован в качестве конечного решения на проде.

Читать (Ru)
Advanced Kotlin Coroutine Cheat sheet (for Android Engineer)

Большая статья (шпаргалка-справочник) по использованию корутин в более продвинутых сценариях.

Читать (En)
Command Your User Inputs with Jetpack Compose — Text Field Features Hidden in Plain Sight

Большая статья, с обзором доступных функций Text Field в Jetpack Compose, с помощью которых можно улучшить визуальную часть Text Field и сделать их более интерактивными.

👉 The Basics
👉 Gradient Text Field
👉 Decoration Box
👉 Let’s Go Funky
👉 Masked Text Field for Credit Card Input
👉 Handling User Interactions
👉 Real Time User Tagging
👉 Keyboard Actions
👉 Providing Haptic Feedback
👉 Supporting Rich Media Content

Читать (En)
Don’t Lock the Screen Orientation! Handling Orientation in Compose

Статья про то, почему не стоит отключать горизонтальную ориентацию в приложении, почему пользовтелям может быть не удобна портретная ориентация и какие есть способы обработки и получения текущей ориентации в Jetpack Compose.

Читать (En)
Алгоритмы  —  самый провальный этап собеседований

Довольно интересная статья про алгоритмическую секцию на собеседовании и знание/умение в алгоритмы, которая близко пересекается с моими мыслями на этот счет.

Читать (Ru)
Что стоит знать о Jetpack Compose: руководство для начинающих

Туториал для начинающих с разбором ключевых аспектов Compose, который сэкономит время на погружение.

👉 State и Composition
👉 Примеры стабильных и нестабильных типов
👉 Как Jetpack Compose управляет рекомпозицией
👉 Как разработчики могут оптимизировать производительность приложений

Читать (Ru)
Volatile, Lock-free, Immutable, Atomic в Java. Как понять и начать использовать

В статье разбираются некторые механизмы многопоточки из Java, как они работают и как использовать.

👉 Volatile
👉 Lock-free
👉 Immutable
👉 Блокировки
👉 Atomic

Уверен, многие с приходом Kotlin`а напрямую их неиспользуют, но их знания и то, как они работают точно лишними не будут.

Читать (Ru)