Эффективный бэкграунд: организация стабильной фоновой работы в связке двух мобильных медтех приложений
В статье я поделюсь опытом нашей команды по организации стабильной фоновой работы в мобильном медтех-приложении, предназначенном для взаимодействия с медицинским оборудованием.
Статья: https://habr.com/ru/articles/886132/
Платформа: Android
В статье я поделюсь опытом нашей команды по организации стабильной фоновой работы в мобильном медтех-приложении, предназначенном для взаимодействия с медицинским оборудованием.
Статья: https://habr.com/ru/articles/886132/
Платформа: Android
Простая настройка модульности для нового приложения
В статье автор предлагает эффективный подход к модульной архитектуре iOS-приложений с использованием локальных пакетов Swift Package Manager. Основные преимущества модульности включают улучшение времени сборки, четкое разделение ответственности, повышенную тестируемость, облегчение совместной работы и возможность повторного использования кода. Предлагаемая структура разделяет проект на три основных слоя: Core, Domain и Presentation, что способствует чистой иерархии зависимостей и предотвращает циклические зависимости.
Локальные пакеты позволяют ускорить процесс разработки, устраняя необходимость управления версиями на начальном этапе. Однако автор отмечает, что тестовые цели модулей не отображаются в основной рабочей области приложения, что требует использования дополнительных инструментов для запуска тестов из консоли. В статье также рассматриваются рекомендации по управлению зависимостями между модулями, где основные модули (Core) должны иметь минимальные или отсутствующие зависимости, доменные модули (Domain) могут зависеть от основных, а модули представления (Presentation) могут зависеть от доменных и основных модулей.
Статья: https://www.manu.show/2025-02-27-simple-modularization-setup/
Платформа: iOS
В статье автор предлагает эффективный подход к модульной архитектуре iOS-приложений с использованием локальных пакетов Swift Package Manager. Основные преимущества модульности включают улучшение времени сборки, четкое разделение ответственности, повышенную тестируемость, облегчение совместной работы и возможность повторного использования кода. Предлагаемая структура разделяет проект на три основных слоя: Core, Domain и Presentation, что способствует чистой иерархии зависимостей и предотвращает циклические зависимости.
Локальные пакеты позволяют ускорить процесс разработки, устраняя необходимость управления версиями на начальном этапе. Однако автор отмечает, что тестовые цели модулей не отображаются в основной рабочей области приложения, что требует использования дополнительных инструментов для запуска тестов из консоли. В статье также рассматриваются рекомендации по управлению зависимостями между модулями, где основные модули (Core) должны иметь минимальные или отсутствующие зависимости, доменные модули (Domain) могут зависеть от основных, а модули представления (Presentation) могут зависеть от доменных и основных модулей.
Статья: https://www.manu.show/2025-02-27-simple-modularization-setup/
Платформа: iOS
Настройка Visual Studio Code для разработки iOS с использованием Copilot
А тут настраиваем Visual Studio Code в качестве среды разработки для iOS-приложений, что позволяет расширить функциональность по сравнению с Xcode. Для интеграции Xcode с VSCode предлагается установить xcode-build-server через Homebrew, что обеспечивает поддержку Language Server Protocol (LSP) и улучшает такие функции, как автодополнение и подсветка синтаксиса. Далее рекомендуется установить официальное расширение Swift для VSCode и расширение Sweetpad, которое добавляет поддержку разработки iOS-приложений в VSCode.
После установки необходимых расширений автор демонстрирует настройку iOS-проекта в VSCode на примере своего проекта iOSSampleApp. Процесс включает выбор рабочей области в панели Sweetpad, генерацию конфигурации сервера сборки и настройку отладчика с помощью файла launch.json. После завершения настройки разработчики могут использовать возможности GitHub Copilot для упрощения процесса разработки, получая предложения по автодополнению и открывая окно чата Copilot для получения ответов на вопросы о кодовой базе или реализации функций.
Статья: https://blog.kulman.sk/vscode-ios-setup/
Платформа: iOS
А тут настраиваем Visual Studio Code в качестве среды разработки для iOS-приложений, что позволяет расширить функциональность по сравнению с Xcode. Для интеграции Xcode с VSCode предлагается установить xcode-build-server через Homebrew, что обеспечивает поддержку Language Server Protocol (LSP) и улучшает такие функции, как автодополнение и подсветка синтаксиса. Далее рекомендуется установить официальное расширение Swift для VSCode и расширение Sweetpad, которое добавляет поддержку разработки iOS-приложений в VSCode.
После установки необходимых расширений автор демонстрирует настройку iOS-проекта в VSCode на примере своего проекта iOSSampleApp. Процесс включает выбор рабочей области в панели Sweetpad, генерацию конфигурации сервера сборки и настройку отладчика с помощью файла launch.json. После завершения настройки разработчики могут использовать возможности GitHub Copilot для упрощения процесса разработки, получая предложения по автодополнению и открывая окно чата Copilot для получения ответов на вопросы о кодовой базе или реализации функций.
Статья: https://blog.kulman.sk/vscode-ios-setup/
Платформа: iOS
Server-Driven UI с Compose Remote Layout
Автор представляет библиотеку для разработки Server-Driven интерфейсов с использованием Jetpack Compose и Multiplatform. Эта библиотека предоставляет основу для реализации серверно-управляемого UI в Jetpack Compose, позволяя динамически изменять структуру и содержимое пользовательского интерфейса без необходимости обновления приложения. Подход Server-Driven UI позволяет контролировать структуру и содержимое пользовательского интерфейса с серверной стороны, что обеспечивает более гибкое и динамичное взаимодействие с пользователем.
Статья: https://medium.com/@utsmannn/server-driven-ui-with-compose-remote-layout-bdc902d973f8
Платформа: Android
Еще про SDUI:
• Server-Driven UI с DivKit
• Глубокое погружение в Server-Driven UI систему Airbnb
• Реализация Server-Driven UI в Android
• Component Box: Server-driven UI на Kotlin Multiplatform
• Server Driven UI: 6 причин его НЕ использовать
• Паттерны SDUI
Автор представляет библиотеку для разработки Server-Driven интерфейсов с использованием Jetpack Compose и Multiplatform. Эта библиотека предоставляет основу для реализации серверно-управляемого UI в Jetpack Compose, позволяя динамически изменять структуру и содержимое пользовательского интерфейса без необходимости обновления приложения. Подход Server-Driven UI позволяет контролировать структуру и содержимое пользовательского интерфейса с серверной стороны, что обеспечивает более гибкое и динамичное взаимодействие с пользователем.
Статья: https://medium.com/@utsmannn/server-driven-ui-with-compose-remote-layout-bdc902d973f8
Платформа: Android
Еще про SDUI:
• Server-Driven UI с DivKit
• Глубокое погружение в Server-Driven UI систему Airbnb
• Реализация Server-Driven UI в Android
• Component Box: Server-driven UI на Kotlin Multiplatform
• Server Driven UI: 6 причин его НЕ использовать
• Паттерны SDUI
Собственная цветовая система Swift обеспечивает только базовую функциональность для представления цвета. Собственные цвета ограничены RGB и HSL, которые не обеспечивают единообразия восприятия. Это может привести к непоследовательному цветовому восприятию на разных устройствах и в разных средах. ColorTokensKit - мощная система цветовых маркеров для платформ Apple. ColorTokensKit расширяет возможности Swift, предлагая эргономичный доступ к цветовой системе LCH (Lightness, Chroma, Hue) и тысячам доступных цветов.
Фичи:
• Простой в использовании API цветовых маркеров
• Предопределенные цветовые палитры LCH
• Встроенная поддержка доступных коэффициентов контрастности
• Встроенная поддержка темного режима
• Встроенная тематика для всех приложений
• Легкое преобразование между пространствами RGB/HSL/LCH/LAB/XYZ
• Отсутствие зависимостей
ColorTokensKit на GitHub: https://github.com/metasidd/ColorTokensKit-Swift
Платформа: iOS
⭐️: 107
Фичи:
• Простой в использовании API цветовых маркеров
• Предопределенные цветовые палитры LCH
• Встроенная поддержка доступных коэффициентов контрастности
• Встроенная поддержка темного режима
• Встроенная тематика для всех приложений
• Легкое преобразование между пространствами RGB/HSL/LCH/LAB/XYZ
• Отсутствие зависимостей
ColorTokensKit на GitHub: https://github.com/metasidd/ColorTokensKit-Swift
Платформа: iOS
⭐️: 107
Заезжаем в Kotlin Multiplatform. Но какой ценой?
Использование Kotlin Multiplatform в разработке оказалось не таким болезненным, как может показаться на первый взгляд. Общая бизнес-логика действительно позволяет сократить затраты на разработку примерно на 30%, а аналогичную экономию можно получить и на тестировании.
При этом использование Jetpack Compose уже сейчас выглядит оправданным шагом, особенно если закладывать возможность перехода на Compose Multiplatform в будущем — это бесплатно и может дать преимущества. Однако полностью переходить на CMP пока рискованно, поскольку технология еще находится в стадии бета-тестирования. На данный момент разумнее всего экспериментировать с небольшими фичами, минимизируя потенциальные риски. Ну, и, конечно, с нетерпением ждем стабильной поддержки iOS в CMP, которая может значительно улучшить мультиплатформенную разработку.
Статья: https://habr.com/ru/articles/887574/
Платформа: кроссплатформа
Использование Kotlin Multiplatform в разработке оказалось не таким болезненным, как может показаться на первый взгляд. Общая бизнес-логика действительно позволяет сократить затраты на разработку примерно на 30%, а аналогичную экономию можно получить и на тестировании.
При этом использование Jetpack Compose уже сейчас выглядит оправданным шагом, особенно если закладывать возможность перехода на Compose Multiplatform в будущем — это бесплатно и может дать преимущества. Однако полностью переходить на CMP пока рискованно, поскольку технология еще находится в стадии бета-тестирования. На данный момент разумнее всего экспериментировать с небольшими фичами, минимизируя потенциальные риски. Ну, и, конечно, с нетерпением ждем стабильной поддержки iOS в CMP, которая может значительно улучшить мультиплатформенную разработку.
Статья: https://habr.com/ru/articles/887574/
Платформа: кроссплатформа
🤡3
Что такое структурированный параллелизм (Structured Concurrency)
Когда мы говорим о параллелизме Swift (Swift Concurrency), мы также часто упоминаем структурированный параллелизм (Structured Concurrency). Это фундаментальная часть async/await в Swift и она помогает нам понять, как работают последние усовершенствования Swift в области параллелизма.
До async/await мы писали наши асинхронные методы, используя замыкания и Grand Central Dispatch (GCD). Это работало хорошо, но часто приводило к так называемому аду замыканий - отсутствию понимания из-за перетекающих друг в друга связанных замыканий. Структурированный параллелизм упрощает выполнение асинхронного кода, но у нас все еще есть неструктурированные задачи. Поэтому пришло время углубиться в фундаментальный аспект параллелизма Swift.
Статья: https://apptractor.ru/info/articles/chto-takoe-strukturirovannyy-parallelizm-structured-concurrency.html
Платформа: iOS
Когда мы говорим о параллелизме Swift (Swift Concurrency), мы также часто упоминаем структурированный параллелизм (Structured Concurrency). Это фундаментальная часть async/await в Swift и она помогает нам понять, как работают последние усовершенствования Swift в области параллелизма.
До async/await мы писали наши асинхронные методы, используя замыкания и Grand Central Dispatch (GCD). Это работало хорошо, но часто приводило к так называемому аду замыканий - отсутствию понимания из-за перетекающих друг в друга связанных замыканий. Структурированный параллелизм упрощает выполнение асинхронного кода, но у нас все еще есть неструктурированные задачи. Поэтому пришло время углубиться в фундаментальный аспект параллелизма Swift.
Статья: https://apptractor.ru/info/articles/chto-takoe-strukturirovannyy-parallelizm-structured-concurrency.html
Платформа: iOS
Локализация в Jetpack Compose
Локализация относится к изменению текста приложения, форматов валют и других визуальных элементов для соответствия локали пользователя на основе его региональных предпочтений.
С введением языковых предпочтений для каждого приложения (Per-app Language Preference) в Android 13 (API уровня 33) управление языками, специфичными для приложений, стало намного проще.
Статья: https://apptractor.ru/info/articles/lokalizatsiya-v-jetpack-compose.html
Платформа: Android
Локализация относится к изменению текста приложения, форматов валют и других визуальных элементов для соответствия локали пользователя на основе его региональных предпочтений.
С введением языковых предпочтений для каждого приложения (Per-app Language Preference) в Android 13 (API уровня 33) управление языками, специфичными для приложений, стало намного проще.
Статья: https://apptractor.ru/info/articles/lokalizatsiya-v-jetpack-compose.html
Платформа: Android
Compose Permission Manager - легковесная библиотека Android, которая упрощает управление разрешениями в приложениях Jetpack Compose. Эта библиотека предоставляет композабл API для простого запроса, проверки и обработки разрешений приложений. Она поддерживает настраиваемые диалоги обоснований и настроек, проверку разрешений в манифесте и потоки разрешений с учетом жизненного цикла.
Compose Permission Manager на GitHub: https://github.com/meticha/permissions-compose
Платформа: Android
⭐️: 40
Compose Permission Manager на GitHub: https://github.com/meticha/permissions-compose
Платформа: Android
⭐️: 40
👍1
Как мы ускорили работу с базой данных в Android-приложении
Эта небольшая статья про то, как мы ускорили работу с БД в Android-приложении, исправив очевидные и не слишком ошибки.
Проблемы:
• Обращение к БД в циклах
• Хранение JSON-объектов в БД
Статья: https://habr.com/ru/companies/scanny/articles/883398/
Платформа: Android
Эта небольшая статья про то, как мы ускорили работу с БД в Android-приложении, исправив очевидные и не слишком ошибки.
Проблемы:
• Обращение к БД в циклах
• Хранение JSON-объектов в БД
Статья: https://habr.com/ru/companies/scanny/articles/883398/
Платформа: Android
Как очистить Xcode от мусора и освободить ценное дисковое пространство на вашем Mac
Окончательное и бесповоротное руководство по очистке Mac от мусора Xcode.
Статья: https://apptractor.ru/info/articles/kak-ochistit-xcode.html
Платформа: iOS
Окончательное и бесповоротное руководство по очистке Mac от мусора Xcode.
Статья: https://apptractor.ru/info/articles/kak-ochistit-xcode.html
Платформа: iOS
👍5
Начинаем работу с Imagen 3 в Android-приложении через Vertex AI в Firebase
Imagen 3 — самая передовая модель генерации изображений, теперь доступна через Vertex AI в Firebase, что еще больше упрощает ее интеграцию в ваши приложения для Android.
Разработанная для создания хорошо продуманных композиций с исключительной детализацией, уменьшением артефактов и богатым освещением, Imagen 3 представляет собой значительный скачок вперед в возможностях генерации изображений.
Статья: https://apptractor.ru/info/articles/imagen-3-v-android.html
Платформа: Android
Imagen 3 — самая передовая модель генерации изображений, теперь доступна через Vertex AI в Firebase, что еще больше упрощает ее интеграцию в ваши приложения для Android.
Разработанная для создания хорошо продуманных композиций с исключительной детализацией, уменьшением артефактов и богатым освещением, Imagen 3 представляет собой значительный скачок вперед в возможностях генерации изображений.
Статья: https://apptractor.ru/info/articles/imagen-3-v-android.html
Платформа: Android
VisualDebugger - элегантный и простой способ визуализации данных в исходных файлах. Особенности: поддерживает нескольких систем координат (yUp, yDown), визуальная отладка Mesh структур, визуальная отладка коллекций точек с настраиваемыми стилями, визуальная отладка кривых Безье, поддержка платформ iOS и macOS, гибкая система настройки стилей, детальное отображение и маркировка координатных осей.
VisualDebugger на GitHub: https://github.com/chenyunguiMilook/VisualDebugger
Платформа: iOS
⭐️: 23
VisualDebugger на GitHub: https://github.com/chenyunguiMilook/VisualDebugger
Платформа: iOS
⭐️: 23
🔥1
Руководство по использованию unsafe в Swift
Использование unsafe в Swift открывает дополнительные возможности для оптимизации и взаимодействия с C API, однако требует повышенной внимательности и тщательного контроля за управлением памятью. При грамотном подходе и использовании встроенных механизмов, таких как withUnsafe* и Unmanaged, можно безопасно интегрировать низкоуровневые операции в высокоуровневые приложения. Главное — не злоупотреблять прямыми указателями и ограничивать область их применения, документируя и тестируя каждое изменение.
Статья: https://habr.com/ru/articles/887914/
Платформа: iOS
Использование unsafe в Swift открывает дополнительные возможности для оптимизации и взаимодействия с C API, однако требует повышенной внимательности и тщательного контроля за управлением памятью. При грамотном подходе и использовании встроенных механизмов, таких как withUnsafe* и Unmanaged, можно безопасно интегрировать низкоуровневые операции в высокоуровневые приложения. Главное — не злоупотреблять прямыми указателями и ограничивать область их применения, документируя и тестируя каждое изменение.
Статья: https://habr.com/ru/articles/887914/
Платформа: iOS
Хабр
Руководство по использованию unsafe в Swift
В этой статье мы рассматрим различные подходы для работы с небезопасными операциями в языке программирования Swift. Swift предоставляет несколько способов для работы с указателями и низкоуровневой...
Как iOS-приложение Tinder сократило размер локализаций на 95%
В целом эти усилия привели к уменьшению размера загружаемого файла на 10,7 МБ и уменьшению размера устанавливаемого приложения на 51,3 МБ без какого-либо ущерба для разработчиков или конечных пользователей.
Статья: https://apptractor.ru/info/articles/kak-ios-prilozhenie-tinder-sokratilo-razmer-lokalizatsiy-na-95.html
Платформа: iOS
В целом эти усилия привели к уменьшению размера загружаемого файла на 10,7 МБ и уменьшению размера устанавливаемого приложения на 51,3 МБ без какого-либо ущерба для разработчиков или конечных пользователей.
Статья: https://apptractor.ru/info/articles/kak-ios-prilozhenie-tinder-sokratilo-razmer-lokalizatsiy-na-95.html
Платформа: iOS
Обработка истечения срока действия токена в Ktor: автоматическое обновление токенов для вызовов API
В статье обсуждается проблема истечения срока действия токенов в Ktor-приложениях и способы её автоматического решения. Автор объясняет, как правильно организовать механизм обновления токена, чтобы избежать ошибок при выполнении API-запросов. Рассматривается использование Ktor HttpClient и механизмов плагинов для перехвата ответов сервера с ошибкой аутентификации. Приводится реализация кастомного плагина, который автоматически обновляет токен и повторяет запрос без вмешательства пользователя. В завершение статьи описаны потенциальные проблемы, такие как гонки обновления токена, и предлагаются способы их предотвращения.
Статья: https://proandroiddev.com/handling-token-expiration-in-ktor-automatic-token-refresh-for-api-calls-e79badd379dc
Платформа: Android
В статье обсуждается проблема истечения срока действия токенов в Ktor-приложениях и способы её автоматического решения. Автор объясняет, как правильно организовать механизм обновления токена, чтобы избежать ошибок при выполнении API-запросов. Рассматривается использование Ktor HttpClient и механизмов плагинов для перехвата ответов сервера с ошибкой аутентификации. Приводится реализация кастомного плагина, который автоматически обновляет токен и повторяет запрос без вмешательства пользователя. В завершение статьи описаны потенциальные проблемы, такие как гонки обновления токена, и предлагаются способы их предотвращения.
Статья: https://proandroiddev.com/handling-token-expiration-in-ktor-automatic-token-refresh-for-api-calls-e79badd379dc
Платформа: Android
👍1
Почему в Android нет функции main?
В языках программирования, таких как C и Java, функция
Статья: https://medium.com/@sevbanbuyer/why-is-there-no-main-function-in-android-1198032a5a15
Платформа: Android
В языках программирования, таких как C и Java, функция
main служит точкой входа, с которой начинается выполнение программы. Однако в Android-приложениях отсутствует явная функция main. Это связано с архитектурой Android, где управление жизненным циклом приложения берет на себя операционная система. Вместо функции main, Android использует манифестный файл (AndroidManifest.xml), в котором указывается основная активность (Activity) приложения. Эта активность помечается фильтром намерений (intent-filter) с действиями MAIN и категорией LAUNCHER, что позволяет системе определить, с какой активности начинать выполнение приложения. Таким образом, точка входа в Android-приложении определяется не явной функцией main, а конфигурацией в манифесте, что обеспечивает гибкость и модульность в управлении компонентами приложения.Статья: https://medium.com/@sevbanbuyer/why-is-there-no-main-function-in-android-1198032a5a15
Платформа: Android
This media is not supported in your browser
VIEW IN TELEGRAM
Симметричные и асимметричные переходы в SwiftUI с помощью модификатора Scroll Transition
В статье рассматривается использование нового модификатора
Статья: https://www.createwithswift.com/symmetrical-and-asymmetrical-transitions-in-swiftui-with-the-scroll-transition-modifier/
Платформа: iOS
В статье рассматривается использование нового модификатора
scrollTransition, представленного в iOS 17, для создания анимаций при появлении и исчезновении представлений в прокручиваемых контейнерах. Этот модификатор позволяет создавать динамичные визуальные эффекты, привлекающие внимание к элементам интерфейса при их входе или выходе из видимой области.Статья: https://www.createwithswift.com/symmetrical-and-asymmetrical-transitions-in-swiftui-with-the-scroll-transition-modifier/
Платформа: iOS
Lynx - новый кроссплатформенный фреймворк
Как любитель кроссплатформенных решений не могу пройти мимо!
Сегодня представили и выложили в open source Lynx - семейство технологий, позволяющих разработчикам использовать имеющиеся у них навыки работы в Интернете для создания по-настоящему нативных пользовательских интерфейсов для мобильных и веб-приложений на основе единой кодовой базы. Разработанный для различных сценариев использования и богатой интерактивности, Lynx обеспечивает яркие и привлекательные пользовательские интерфейсы для таких масштабных приложений, как TikTok (глава проекта - нынешний архитектор ByteDance, бывший React-инженер в компании на M), благодаря быстрому и универсальному движку рендеринга, двухпоточному программированию пользовательского интерфейса, современному инструментарию на основе Rust и многому другому.
Lynx уже готов к продакшену и уже используется огромным количеством компаний. Сегодня выложили в открытый доступ именно ту версию, которую используем в проде, поэтому она начинается с версии 3.x. Она включает в себя даже устаревший код и API, которые намерены изжить, но разработчики верят в открытость исходного кода и помощь сообщества.
Платформа: кроссплатформа
Как любитель кроссплатформенных решений не могу пройти мимо!
Сегодня представили и выложили в open source Lynx - семейство технологий, позволяющих разработчикам использовать имеющиеся у них навыки работы в Интернете для создания по-настоящему нативных пользовательских интерфейсов для мобильных и веб-приложений на основе единой кодовой базы. Разработанный для различных сценариев использования и богатой интерактивности, Lynx обеспечивает яркие и привлекательные пользовательские интерфейсы для таких масштабных приложений, как TikTok (глава проекта - нынешний архитектор ByteDance, бывший React-инженер в компании на M), благодаря быстрому и универсальному движку рендеринга, двухпоточному программированию пользовательского интерфейса, современному инструментарию на основе Rust и многому другому.
Lynx уже готов к продакшену и уже используется огромным количеством компаний. Сегодня выложили в открытый доступ именно ту версию, которую используем в проде, поэтому она начинается с версии 3.x. Она включает в себя даже устаревший код и API, которые намерены изжить, но разработчики верят в открытость исходного кода и помощь сообщества.
Этот релиз - только начало. То, что мы открываем сегодня, - далеко не все. Множество периферии, которой мы гордимся, в том числе дополнительные компоненты пользовательского интерфейса, расширенные встроенные графические возможности, пользовательский рендерер и другие фреймворки, еще впереди.
Платформа: кроссплатформа
🤔2
Firebase SignIn With Email And Password - приложение на Kotlin, которое показывает, как аутентифицировать пользователей с помощью Firebase, используя компоненты архитектуры Android и архитектурный паттерн MVVM. Для создания пользовательского интерфейса используется Jetpack Compose.
Firebase SignIn With Email And Password на GitHub: https://github.com/alexmamo/FirebaseSignInWithEmailAndPassword
Платформа: Android
⭐️: 39
Firebase SignIn With Email And Password на GitHub: https://github.com/alexmamo/FirebaseSignInWithEmailAndPassword
Платформа: Android
⭐️: 39
•
(iOS En) Swift DevRoom at FOSDEM 2025•
(iOS En) Minor Annoyances in Dealing with State•
(iOS En) Building a 3D Watch Face with Metal•
(iOS En) Best practices for safe and easy Core Data integration in a modern Swift app•
(iOS En) Dynamic Floating Sheets Like Family App - Animations - SwiftUI•
(iOS En) SwiftUI App Shortcuts - App Intents - Action Shortcuts•
(And Ru) Как устроена мобильная архитектура. Интервью с тех. лидером юнита «Mobile Architecture» из AvitoTech•
(And En) Compose runtime and performance - Android Developers Backstage•
(And En) Wonderful Widgets - Spotlight Week•
(And En) Is It Worth to Learn Native Android as a Beginner In 2025?•
(And En) 3 Navigation issues that you MUST Avoid!•
(And En) Making Gradients Easy! Chris Sinco shows us how Mesh simplifies gradient design in Compose•
(And En) Port your Android App to the Web•
(Crs Ru) Заезжаем в KMP. Но какой ценой?•
(Crs En) How to Use Native iOS Views (Swift UI) In Compose Multiplatform•
(Crs En) Google Maps vs OpenStreetMap in Flutter•
(Dev Ru) Внедряем Server Driven UI•
(Dev Ru) Нужна ли программисту вышка — в какой ВУЗ пойти учиться•
(Dev Ru) Путь новичка: где набраться опыта и как найти первую работу•
(Dev En) Learn PyTorch in 5 Projects – Tutorial•
(Dsg En) Designing a Storytelling App for KidsЧто было год назад:
•
(iOS Ru) Minimal Widget Product: путь к эффективной и гибкой реализации виджетов•
(iOS Ru) Уроки Swift: UITextField с анимированным плейсхолдером•
(And Ru) Разработка новостного приложения. Часть 3•
(And Ru) Hilt в многомодульный проект — пособие по внедрению зависимостей для новичков•
(Crs Ru) Адаптивная вёрстка во Flutter•
(Crs Ru) Я.Субботник по мобильной разработкеPlease open Telegram to view this post
VIEW IN TELEGRAM