Mobile Native ️️ – Telegram
Mobile Native ️️
5.61K subscribers
1.13K photos
20 videos
3 files
1.28K links
Полезные материалы по мобильной разработке. Статьи, подборки, нововведения, анонсы.

Пробустить канал → https://news.1rj.ru/str/mobile_native?boost

Автор: @artemiygreg
iOS / Swift: @swift_tips
Библиотеки и инструменты: @mobile_dev_tools
Митапы: @meetup_today
Download Telegram
Android IPC Mechanisms

Серия из трёх частей про IPC мехнизм, межпроцессное взаимодействие, связи между приложениями и всё такое.

👉 Part 1 – AIDL
👉 Part 2 – Messenger
👉 Part 3 – Broadcast

Читать (En)
👍10🔥21
Kotlin под капотом: нюансы использования аннотаций

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

Читать (Ru)
👍16🔥3🤔1
Разделение презентационного слоя фичи на модули в Android приложении

Ребята из Альфа-Банка рассказывают как разделяли презентационный слой фичи на модули.

Читать (Ru)
💩13👍8🔥3👎1🤔1
Forwarded from Swift Tips
Книги по Swift и iOS-разработке для начинающих специалистов и профессионалов

Подборка книг для изучения Swift / iOS.

🟢Swift. Основы разработки приложений под iOS, iPadOS и macOS
🟢Swift для детей. Самоучитель по созданию приложений для iOS
🟢Swift Apprentice: Fundamentals (First Edition): Beginning Programming in Swift
🟢Swift подробно
🟢Head First. Изучаем Swift
🟢Swift Programming: The Big Nerd Ranch Guide 3rd Edition
🟢Swift Cookbook: Over 60 proven recipes for developing better iOS applications with Swift 5.3

Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2🤔1
Kotlin под капотом: inline функции

Ещё одна крутая статья из цикла Kotlin под капотом, про inline функции.

• Популярное заблуждение: inline функции экономят стек вызовов
• Популярное заблуждение: inline функции экономят количество методов
• В профит inline функций
• Измерение профита от inline функций
• Crossinline
• Reified

А вообще, у Макса все статьи крутые. Если пропустили, рекомендую почитать 👇

• Измеряя sequences
• Оптимизируя sequences
• Kotlin под капотом: нюансы использования аннотаций

Читать (Ru)
👍20🔥43💩1
Обзор актуальных инструментов шифрования в Android

В статье рассматриваются некоторые инструменты шифрования в Android, их эффективность и распространённые ошибки при их использовании.

👉 Cамостоятельное шифрование примитивами из Android SDK
👉 EncryptedFile
👉 EncryptedSharedPreferences

Читать (Ru)
👍14🤔3🔥2
Kotlin Multiplatform в мобильной разработке. Рецепты общего кода для Android и iOS

Статья про Kotlin Multiplatform, с примером как можно выносить код в общий модуль.

👉 Общий модуль в KMP
👉 Логика экранов (ViewModel)
👉 Навигация между экранами
👉 Работа с сетью
👉 DI
👉 Хранение данных
👉 Строковые ресурсы
👉 Нативные инструменты (датчики, переход в другие приложения)
👉 Пример фичи (обработка push-уведомлений)

Читать (Ru)
👍20🔥32🥰1
Топ-10 вопросов на Senior Android / Собеседование с разбором ответов и материалами

Не особо слежу за каналом Антона, но иногда посматриваю.

Вот например интересный видос, мок собеседование на Senior Android. И вопросы интересные и кандидат 🔥, можно посмотреть.

Смотреть 📹
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥7👎3🤔2
Android. Принять себя или Cookie?

Достаточно полезная статья, про то, как работать с Сookie в Android, как передаются Cookie, безопасность и вот это вот всё.

👉 Cookie — это что?
👉 Почему их не нужно принимать?
👉 Безопасно ли это?
👉 CookieJar, CookieManager, CookieStore… WebView?

Читать (Ru)
🔥13🤔5👍2
Переход на Gradle 8 Android проекта

Если еще не перевели свой проект на 8 Gradle, вероятно эта статья поможет вам минимизировать время на поиски решения различных нюансов, которые обычно возникают при обновлении.

Читать (Ru)
👍18🔥31
Forwarded from Swift Tips
Ускоряем прохождение iOS UI-тестов

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

• Запуск тестов без сборки проекта
• Распараллеливание тестов
• Старт приложения с определенного экрана
👍4🔥21
Kotlin под капотом: как избавиться от рекурсии

Новая статья от Макса про Tailrec и хвостовую рекурсию в Kotlin, с примерами и различным вариантами замен рекурсии.

👉 Tailrec и хвостовая рекурсия
👉 Рекурсия в деревьях
👉 Стандартный способ избавления от рекурсии через очередь
👉 Способ избавления от рекурсии через итератор
👉 Способ избавления от рекурсии через sequence.yield
👉 Результаты измерений

Читать (Ru)
👍10🔥3🤔2
Detekt: как статический анализ помогает улучшить код автотестов

Статья от Яндекса про то, как можно повысить качество кода автотестов с помощью статического анализа (Detekt).

👉 Коробочные правила
👉 Примеры наших правил
👉 Как написать своё правило
👉 Способы игнорирования нарушений
👉 Отчётность

Набор правил от Яндекса на GitHub → Detekt rules for UI-tests

Читать (Ru)
👍8🔥3👏2
Списки с душой и стилем: Ваш путь к Jetpack Compose

Статья с обзором и примерами использования списков в Jetpack Compose.

👉 Использование списков в Compose(LazyColumn, LazyRow, Column и Row)
👉 Оптимизация производительности списков
👉 Анимации в списках

Может быть полезно начинающим.

Читать (Ru)
👍174🔥3👌1
Crash Course on the Android UI Layer

Тут стартовал цикл статей про построение UI слоя в Android: стейты, сущности, best practices и. т.д.

👉 Part 1
👉 Part 2
🔥12👍32
Animating Inside and Outside the Box with Jetpack Compose

Большая и полезная статья с примерами различных анимаций в Jetpack Compose.

👉 Custom Animation Handlers
👉 Choreographing Complex Animations
👉 Physics-based Animations for Realism
👉 Gesture-based Animations
👉 State-driven Animation Patterns
👉 Morphing Shapes
👉 Snowfall effect

Читать (En)
👍12🔥21👌1
Forwarded from Swift Tips
Mastering in SwiftUI

Большая и полезная статья с примерами кода, в которой рассматриваются важные моменты, которые помогут вам повысить производительность и эффективность разработки.

• Which architecture is better: Redux or MVVM?
• Use @StateObject and @ObservableObject
• Create @Published variable with care
• Breaking down the content of the body into smaller to minimize the compilation time
• Prefer @State for the animations instead of @Published
• Declare Observable objects at a specific place to avoid unnecessary UI update
• Find which data change is causing a SwiftUI view to update
• Use LazyHStack and LazyVStack if you have a long list
• Is there anything similar to viewDidLoad()?
• Use UIKit components directly in SwiftUI
• Conditional modifier
• Avoid using .padding and .frame together
• Use GeometryReader wisely
• Use AnyView occasionally
• Must use ID with Foreach and List
• Prefer using Text over Label
• Use Group to return multiple view instances
• Use .fixedSize() to specify that the frame doesn’t change

Перевод от AppTractor → Мастерство работы в SwiftUI

Читать (En)
🔥21👍1
Android Kotlin Coroutines interview questions

Большой список из 100 вопросов по корутинам, которые спрашивают на собесах.

Читать (En)
🔥325👍3
С Наступающим Новым Годом!!! 🎄🥳🎉

Предпоследний пост в этом году.

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

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

Канал в этом году не особо вырос, но остальную статистику держим на уровне 🔥. В новом году подумаю над вариантами масштабирования.

С Наступающим Новым Годом, друзья!!! 🥂
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉1810👍4🍾3
Новогодний Дайджест 🎅

Итак ребята, если вдруг вам нечем будет заняться в новогодние праздники, специально для вас собрал наиболее популярные посты в структурированном виде за весь год 😱, точно найдете для себя что-то полезное 😉

Android 🖥

• 7 Jetpack Compose Projects to Become a Better Android Developer
• 10 Open-Source Projects That’ll Make You Excited About Using Jetpack Compose
• Jetpack Compose Samples
• Jetpack Compose Codelabs
• Android Basics with Compose
• Осознанная оптимизация Compose
• Best Practices for Compose Navigation in Multi-Module Project
• Migrating to Jetpack Compose — an interop love story
• Performance with Jetpack Compose
• Jetpack Compose: Mastering States
• Реализуем современный UI на Jetpack Compose
• Android Kotlin Coroutines interview questions
• Работа с асинхронными операциями с помощью Kotlin Coroutines
• Coroutines Guide
• Kotlin Coroutines Recipes
• Kotlin Coroutines Best practices
• Kotlin Coroutines Tutorial for Android: Getting Started
• От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin.
• Learn Kotlin Flow by real examples for Android
• Kotlin. Коллекции
• Серия статей – Kotlin под капотом
• Mastering Kotlin : A Comprehensive Guide
• Вопросы и ответы для собеседования по Kotlin
• Inline, noinline, crossinline, reified in kotlin with examples
• Best practices for error handling in Kotlin
• Kotlin Performance Tuning: 20 Best Practices You Should Know
• Kotlin: взгляд изнутри — преимущества, недостатки и особенности
• Teach Computer Science with Kotlin
• Архитектура Android. Понятно и подробно
• Guide to Good Android App Architetture
• Clean Android multi-module offline-first scalable app in 2022
• Clean Architecture for Android Sample Project
• Modern Android Development in 2023
• Multi-Module Architecture in Android
• The "Real" Modularization in Android
• How to architect Android apps
• Crash Course on the Android UI Layer
• Android-разработка для новичков: 20+ полезных ресурсов
• Android Developer Roadmap 2023
• Deep Dive Into Android Memory
• Где и как можно ускорить приложение на Android
• Эффективное и комплексное устранение утечек памяти в Android
• How ViewModel works under the hood
• Best Practises In ViewModel
• Communicating with fragments
• Многопоточность в мобильной разработке
• Gradle Cache: Your build’s best friend
• Shielding Your App: Implementing Best Practices for Android Security
• Reverse Engineering and Analyzing Android Apps
• Обзор актуальных инструментов шифрования в Android
• Ускоряем поиск по коду в Android Studio
• Список фишек Android Studio для ускорения разработки
• Оптимизация сборок Android приложений: ProGuard, D8, R8. Тайны обфускации

iOS💸

• In-App Purchases in iOS
• Swift iOS interview questions and answers
• 7 iOS Projects to Become a Better iOS Developer
Разбираем ошибки начинающих iOS-разработчиков
Как не потерять голову (и память) при поиске утечек в iOS
Building Large-Scale Apps with SwiftUI: A Guide to Modular Architecture
• Swift async/await. Чем он лучше GCD?
• Как стать iOS-разработчиком?
• Многопоточность в iOS-разработке
• Awesome iOS Dev Tools
• Полезные iOS-инструменты для дебаггинга
• iOS Developer Roadmap 2023
• Расширенное управление памятью с помощью Unsafe Swift
• 10 quick tips to increase your iOS code quality
• 10 tips to increase your iOS code quality – Part 2
• Server-Driven UI using SwiftUI
• Книги по Swift и iOS-разработке для начинающих специалистов и профессионалов
• Ускоряем прохождение iOS UI-тестов
• Mastering in SwiftUI
• Как хранить данные в iOS: UserDefaults, Keychain и сэндвичи

Common 🛠

• Основы алгоритмов
• Git Cheat Sheet
• Книга – Чистый код: создание, анализ и рефакторинг.
• Чистый код
• System Design Interview
• Clean Code — A practical approach
• Cracking the Mobile System Design Interview (iOS & Android)
• Делай нейминг как сеньор
• Mobile Applications Data Security

Что посмотреть 📹

• Часть 1
• Часть 2
• Часть 3

Еще раз с наступающим друзья, увидимся в январе 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
👍278🎄4🔥32
Пример исследовательского реверс-инжиниринга приложения Zone Launcher

Подробный гайд как можно заполучить полную версию приложения без покупки через реверс-инжиниринг.

👉 Объединение split-apk в один apk
👉 Декомпиляция кода apk
👉 Разархивировние apk и изменение android-байткода (smali) функций
👉 Сборка измененного байткода
👉 Ужатие и подписание нового apk своей подписью

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

А валидацию версии лучше делать двойную и на клиенте и на бэке, это конечно не 100% гарантия, но значительно может усложнить задачу взлома.

Читать (Ru)
👍6🔥6🤔1😍1